summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--baseboard/grunt/baseboard.h1
-rw-r--r--baseboard/octopus/baseboard.h2
-rw-r--r--board/anahera/board.h1
-rw-r--r--board/atlas/board.h1
-rw-r--r--board/beetley/board.h1
-rw-r--r--board/bellis/board.h1
-rw-r--r--board/blipper/board.h1
-rw-r--r--board/boten/board.h1
-rw-r--r--board/bugzzy/board.h1
-rw-r--r--board/burnet/board.h1
-rw-r--r--board/cappy2/board.h1
-rw-r--r--board/cerise/board.h1
-rw-r--r--board/coachz/board.h1
-rw-r--r--board/coral/board.h1
-rw-r--r--board/corori/board.h1
-rw-r--r--board/corori2/board.h1
-rw-r--r--board/cret/board.h1
-rw-r--r--board/damu/board.h1
-rw-r--r--board/driblee/board.h1
-rw-r--r--board/drobit/board.h1
-rw-r--r--board/eldrid/board.h1
-rw-r--r--board/elm/board.h1
-rw-r--r--board/eve/board.h1
-rw-r--r--board/ezkinil/board.h1
-rw-r--r--board/felwinter/board.h1
-rw-r--r--board/fennel/board.h1
-rw-r--r--board/gelarshie/board.h1
-rw-r--r--board/gimble/board.h1
-rw-r--r--board/gooey/board.h1
-rw-r--r--board/homestar/board.h1
-rw-r--r--board/icarus/board.h1
-rw-r--r--board/jacuzzi/board.h1
-rw-r--r--board/kappa/board.h1
-rw-r--r--board/lalala/board.h1
-rw-r--r--board/madoo/board.h1
-rw-r--r--board/magolor/board.h1
-rw-r--r--board/makomo/board.h1
-rw-r--r--board/metaknight/board.h1
-rw-r--r--board/mithrax/board.h1
-rw-r--r--board/mrbland/board.h1
-rw-r--r--board/munna/board.h1
-rw-r--r--board/nautilus/board.h1
-rw-r--r--board/nocturne/board.h1
-rw-r--r--board/pico/board.h1
-rw-r--r--board/pompom/board.h1
-rw-r--r--board/quackingstick/board.h1
-rw-r--r--board/rammus/board.h1
-rw-r--r--board/redrix/board.h1
-rw-r--r--board/reef/board.h1
-rw-r--r--board/reef_it8320/board.h1
-rw-r--r--board/reef_mchp/board.h1
-rw-r--r--board/sasuke/board.h1
-rw-r--r--board/sasukette/board.h1
-rw-r--r--board/stern/board.h1
-rw-r--r--board/storo/board.h1
-rw-r--r--board/taeko/board.h1
-rw-r--r--board/taniks/board.h1
-rw-r--r--board/vell/board.h1
-rw-r--r--board/vilboz/board.h1
-rw-r--r--board/waddledoo/board.h1
-rw-r--r--board/waddledoo2/board.h1
-rw-r--r--board/willow/board.h1
-rw-r--r--board/wormdingler/board.h1
-rw-r--r--docs/low_battery_startup.md10
-rw-r--r--include/config.h12
-rw-r--r--zephyr/Kconfig.usbc12
-rw-r--r--zephyr/test/drivers/default/prj.conf3
67 files changed, 98 insertions, 3 deletions
diff --git a/baseboard/grunt/baseboard.h b/baseboard/grunt/baseboard.h
index bdbec1e0d2..30ffb885a2 100644
--- a/baseboard/grunt/baseboard.h
+++ b/baseboard/grunt/baseboard.h
@@ -74,6 +74,7 @@
*/
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_SENSE_RESISTOR 10
diff --git a/baseboard/octopus/baseboard.h b/baseboard/octopus/baseboard.h
index 42093ab771..2913a014d0 100644
--- a/baseboard/octopus/baseboard.h
+++ b/baseboard/octopus/baseboard.h
@@ -126,6 +126,7 @@
#undef CONFIG_EXTPOWER_DEBOUNCE_MS
#define CONFIG_EXTPOWER_DEBOUNCE_MS 200
/* Charger seems to overdraw by about 5% */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#elif defined(VARIANT_OCTOPUS_CHARGER_BQ25703)
#define CONFIG_CHARGER_BQ25703
@@ -136,6 +137,7 @@
#undef CONFIG_EXTPOWER_DEBOUNCE_MS
#define CONFIG_EXTPOWER_DEBOUNCE_MS 50
/* Charger seems to overdraw by about 5% */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#elif defined(CONFIG_CHARGER_RUNTIME_CONFIG)
#define CONFIG_CHARGER_ISL9238
diff --git a/board/anahera/board.h b/board/anahera/board.h
index 82ba5a4e1c..517e934f87 100644
--- a/board/anahera/board.h
+++ b/board/anahera/board.h
@@ -33,6 +33,7 @@
#define CONFIG_USB_PORT_POWER_DUMB
#define CONFIG_USBC_RETIMER_PS8811
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* USB Type C and USB PD defines */
diff --git a/board/atlas/board.h b/board/atlas/board.h
index 3dbce640bb..144afda14c 100644
--- a/board/atlas/board.h
+++ b/board/atlas/board.h
@@ -79,6 +79,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_PROFILE_OVERRIDE
#define CONFIG_CHARGER_PSYS
diff --git a/board/beetley/board.h b/board/beetley/board.h
index b05b8e2eb5..f2d43534fa 100644
--- a/board/beetley/board.h
+++ b/board/beetley/board.h
@@ -31,6 +31,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define PD_MAX_VOLTAGE_MV 20000
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
diff --git a/board/bellis/board.h b/board/bellis/board.h
index 0741de5dc7..7720b5a391 100644
--- a/board/bellis/board.h
+++ b/board/bellis/board.h
@@ -40,6 +40,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/blipper/board.h b/board/blipper/board.h
index 896ebec76a..1a911da1df 100644
--- a/board/blipper/board.h
+++ b/board/blipper/board.h
@@ -33,6 +33,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* DAC for PSYS */
diff --git a/board/boten/board.h b/board/boten/board.h
index 2e607f73c1..f429d7c942 100644
--- a/board/boten/board.h
+++ b/board/boten/board.h
@@ -36,6 +36,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* DAC for PSYS */
diff --git a/board/bugzzy/board.h b/board/bugzzy/board.h
index 45bdfdc9f3..b62928b5e1 100644
--- a/board/bugzzy/board.h
+++ b/board/bugzzy/board.h
@@ -47,6 +47,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_BATTERY_CHECK_CHARGE_TEMP_LIMITS
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/burnet/board.h b/board/burnet/board.h
index 5199ae4aaf..6d6870da2b 100644
--- a/board/burnet/board.h
+++ b/board/burnet/board.h
@@ -31,6 +31,7 @@
#define CONFIG_BATTERY_COUNT 1
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_BC12_DETECT_PI3USB9201
diff --git a/board/cappy2/board.h b/board/cappy2/board.h
index 8f503b1bcc..d9b027eed9 100644
--- a/board/cappy2/board.h
+++ b/board/cappy2/board.h
@@ -43,6 +43,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* Keyboard */
diff --git a/board/cerise/board.h b/board/cerise/board.h
index d2c58e9f6e..64b04e35aa 100644
--- a/board/cerise/board.h
+++ b/board/cerise/board.h
@@ -28,6 +28,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/coachz/board.h b/board/coachz/board.h
index 70594d3efa..e0786075df 100644
--- a/board/coachz/board.h
+++ b/board/coachz/board.h
@@ -40,6 +40,7 @@
#define CONFIG_BATTERY_FUEL_GAUGE
#define CONFIG_BATTERY_VENDOR_PARAM
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* BC 1.2 Charger */
diff --git a/board/coral/board.h b/board/coral/board.h
index cea83ef4a5..4b570db1e5 100644
--- a/board/coral/board.h
+++ b/board/coral/board.h
@@ -25,6 +25,7 @@
#define CONFIG_CMD_CHARGER_ADC_AMON_BMON
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define BD9995X_IOUT_GAIN_SELECT \
BD9995X_CMD_PMON_IOUT_CTRL_SET_IOUT_GAIN_SET_20V
diff --git a/board/corori/board.h b/board/corori/board.h
index 646b14227d..16628d4619 100644
--- a/board/corori/board.h
+++ b/board/corori/board.h
@@ -32,6 +32,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* LED defines */
diff --git a/board/corori2/board.h b/board/corori2/board.h
index c62cade1c3..5d4d810dd1 100644
--- a/board/corori2/board.h
+++ b/board/corori2/board.h
@@ -54,6 +54,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/*
diff --git a/board/cret/board.h b/board/cret/board.h
index eb6b261cdf..9dc2edb265 100644
--- a/board/cret/board.h
+++ b/board/cret/board.h
@@ -38,6 +38,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_CHARGER_PROFILE_OVERRIDE
#define CHARGING_CURRENT_1100MA 1100
diff --git a/board/damu/board.h b/board/damu/board.h
index 16e03cf45c..5700954484 100644
--- a/board/damu/board.h
+++ b/board/damu/board.h
@@ -28,6 +28,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/driblee/board.h b/board/driblee/board.h
index 514fe584ff..e2d51723c0 100644
--- a/board/driblee/board.h
+++ b/board/driblee/board.h
@@ -35,6 +35,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_MATH_UTIL
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/drobit/board.h b/board/drobit/board.h
index bf3e64ae5a..c8e51962fa 100644
--- a/board/drobit/board.h
+++ b/board/drobit/board.h
@@ -89,6 +89,7 @@
/* charger defines */
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 2
/*
diff --git a/board/eldrid/board.h b/board/eldrid/board.h
index 8cfac4d8bc..84c04217d8 100644
--- a/board/eldrid/board.h
+++ b/board/eldrid/board.h
@@ -94,6 +94,7 @@
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
/* OEM requested 10% derating */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 10
/* Retimer */
diff --git a/board/elm/board.h b/board/elm/board.h
index 6e4e705604..42c8e06c35 100644
--- a/board/elm/board.h
+++ b/board/elm/board.h
@@ -45,6 +45,7 @@
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
#define CONFIG_CHARGER_DISCHARGE_ON_AC
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHIPSET_MT817X
#define CONFIG_CMD_TYPEC
diff --git a/board/eve/board.h b/board/eve/board.h
index e3623979c3..a5cade1cc8 100644
--- a/board/eve/board.h
+++ b/board/eve/board.h
@@ -102,6 +102,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_MAINTAIN_VBAT
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/ezkinil/board.h b/board/ezkinil/board.h
index 5c8fd2c075..66c01a4efb 100644
--- a/board/ezkinil/board.h
+++ b/board/ezkinil/board.h
@@ -17,6 +17,7 @@
#define CONFIG_KEYBOARD_FACTORY_TEST
/* charger margin */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Motion sensing drivers */
diff --git a/board/felwinter/board.h b/board/felwinter/board.h
index 0ca6a59b9c..5327e8fec2 100644
--- a/board/felwinter/board.h
+++ b/board/felwinter/board.h
@@ -179,6 +179,7 @@
#define CONFIG_CHARGE_RAMP_SW
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 10
#define CONFIG_KEYBOARD_REFRESH_ROW3
diff --git a/board/fennel/board.h b/board/fennel/board.h
index 42e1fcd451..e00c37c4e9 100644
--- a/board/fennel/board.h
+++ b/board/fennel/board.h
@@ -26,6 +26,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/gelarshie/board.h b/board/gelarshie/board.h
index 737f005639..65016ceb75 100644
--- a/board/gelarshie/board.h
+++ b/board/gelarshie/board.h
@@ -44,6 +44,7 @@
#define CONFIG_BATTERY_VENDOR_PARAM
/* charger margin */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Enable PD3.0 */
diff --git a/board/gimble/board.h b/board/gimble/board.h
index 1d4099e7eb..3fd3adcafa 100644
--- a/board/gimble/board.h
+++ b/board/gimble/board.h
@@ -197,6 +197,7 @@
#define CONFIG_CHARGER_BQ25710_SENSE_RESISTOR_AC 10
#define CONFIG_CHARGER_BQ25710_PSYS_SENSING
/* OEM requested 10% derating */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 10
/* PROCHOT defines */
diff --git a/board/gooey/board.h b/board/gooey/board.h
index fde32f8866..82aca107af 100644
--- a/board/gooey/board.h
+++ b/board/gooey/board.h
@@ -36,6 +36,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* DAC for PSYS */
diff --git a/board/homestar/board.h b/board/homestar/board.h
index 60d943b300..fff7ad7f77 100644
--- a/board/homestar/board.h
+++ b/board/homestar/board.h
@@ -28,6 +28,7 @@
#define CONFIG_BATTERY_VENDOR_PARAM
/* charger margin */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Enable PD3.0 */
diff --git a/board/icarus/board.h b/board/icarus/board.h
index ca1a236307..5fa752c518 100644
--- a/board/icarus/board.h
+++ b/board/icarus/board.h
@@ -24,6 +24,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/jacuzzi/board.h b/board/jacuzzi/board.h
index d5d0523790..3d50b41297 100644
--- a/board/jacuzzi/board.h
+++ b/board/jacuzzi/board.h
@@ -34,6 +34,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/kappa/board.h b/board/kappa/board.h
index 5c49053a7b..0911d50951 100644
--- a/board/kappa/board.h
+++ b/board/kappa/board.h
@@ -26,6 +26,7 @@
#define CONFIG_BATTERY_COUNT 1
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_BC12_DETECT_PI3USB9201
diff --git a/board/lalala/board.h b/board/lalala/board.h
index 2996ad3613..f9aa2482b0 100644
--- a/board/lalala/board.h
+++ b/board/lalala/board.h
@@ -37,6 +37,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* GPIO for C1 interrupts, for baseboard use */
diff --git a/board/madoo/board.h b/board/madoo/board.h
index 0d5e24c2a0..1e7118ba28 100644
--- a/board/madoo/board.h
+++ b/board/madoo/board.h
@@ -23,6 +23,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_OCPC
#undef CONFIG_CHARGER_SINGLE_CHIP
diff --git a/board/magolor/board.h b/board/magolor/board.h
index beb2cc279c..1cb996303b 100644
--- a/board/magolor/board.h
+++ b/board/magolor/board.h
@@ -49,6 +49,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* GPIO for C1 interrupts, for baseboard use */
diff --git a/board/makomo/board.h b/board/makomo/board.h
index 86e5e78862..e05e15c13d 100644
--- a/board/makomo/board.h
+++ b/board/makomo/board.h
@@ -27,6 +27,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/metaknight/board.h b/board/metaknight/board.h
index 79027a3e9c..cab1501256 100644
--- a/board/metaknight/board.h
+++ b/board/metaknight/board.h
@@ -26,6 +26,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/*
diff --git a/board/mithrax/board.h b/board/mithrax/board.h
index 0b6ea04bd4..22878a936d 100644
--- a/board/mithrax/board.h
+++ b/board/mithrax/board.h
@@ -176,6 +176,7 @@
#define CONFIG_CHARGE_RAMP_SW
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 10
/* RGB Keyboard */
diff --git a/board/mrbland/board.h b/board/mrbland/board.h
index cc6207ca83..25b1805e2a 100644
--- a/board/mrbland/board.h
+++ b/board/mrbland/board.h
@@ -24,6 +24,7 @@
#define CONFIG_BATTERY_FUEL_GAUGE
#define CONFIG_BATTERY_VENDOR_PARAM
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Enable PD3.0 */
diff --git a/board/munna/board.h b/board/munna/board.h
index 20194bed88..286f80aa38 100644
--- a/board/munna/board.h
+++ b/board/munna/board.h
@@ -40,6 +40,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/nautilus/board.h b/board/nautilus/board.h
index 2b4f25538d..e3a136c261 100644
--- a/board/nautilus/board.h
+++ b/board/nautilus/board.h
@@ -85,6 +85,7 @@
#define CONFIG_CHARGER_PSYS
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4 /* margining */
#define CONFIG_CMD_CHARGER_ADC_AMON_BMON
#define CONFIG_HOSTCMD_PD_CONTROL
diff --git a/board/nocturne/board.h b/board/nocturne/board.h
index 73700b8480..6c46a2949b 100644
--- a/board/nocturne/board.h
+++ b/board/nocturne/board.h
@@ -77,6 +77,7 @@
* Nocturne seems to overdraw its set input current limit by about 5%.
* Request at most 95% of what's desired.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#undef CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON
#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1
diff --git a/board/pico/board.h b/board/pico/board.h
index 97128b54f1..1cfed1eba1 100644
--- a/board/pico/board.h
+++ b/board/pico/board.h
@@ -28,6 +28,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/pompom/board.h b/board/pompom/board.h
index 774b339273..de7fd92a75 100644
--- a/board/pompom/board.h
+++ b/board/pompom/board.h
@@ -23,6 +23,7 @@
/* BC 1.2 Charger */
#define CONFIG_BC12_DETECT_PI3USB9201
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* USB */
diff --git a/board/quackingstick/board.h b/board/quackingstick/board.h
index a8ec5a4231..3cc4ab2b12 100644
--- a/board/quackingstick/board.h
+++ b/board/quackingstick/board.h
@@ -32,6 +32,7 @@
#define CONFIG_BATTERY_FUEL_GAUGE
#define CONFIG_BATTERY_VENDOR_PARAM
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* BC 1.2 Charger */
diff --git a/board/rammus/board.h b/board/rammus/board.h
index 975417df9a..096d419fe9 100644
--- a/board/rammus/board.h
+++ b/board/rammus/board.h
@@ -89,6 +89,7 @@
#define CONFIG_CHARGER_PSYS
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4 /* charger margin */
#define CONFIG_CMD_CHARGER_ADC_AMON_BMON
#define CONFIG_HOSTCMD_PD_CONTROL
diff --git a/board/redrix/board.h b/board/redrix/board.h
index 205b9e1c69..b865667f63 100644
--- a/board/redrix/board.h
+++ b/board/redrix/board.h
@@ -66,6 +66,7 @@
#define USB_PORT_COUNT 1
#define CONFIG_USB_PORT_POWER_DUMB
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 6
/* USB Type C and USB PD defines */
diff --git a/board/reef/board.h b/board/reef/board.h
index cc1783e43a..b5bdd574a8 100644
--- a/board/reef/board.h
+++ b/board/reef/board.h
@@ -52,6 +52,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_BAT_PCT 1
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_CHG_MW 18000
diff --git a/board/reef_it8320/board.h b/board/reef_it8320/board.h
index dbccc6eeee..87767e5c23 100644
--- a/board/reef_it8320/board.h
+++ b/board/reef_it8320/board.h
@@ -50,6 +50,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_BAT_PCT 1
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_CHG_MW 18000
diff --git a/board/reef_mchp/board.h b/board/reef_mchp/board.h
index 925f271ffd..f9db14a01e 100644
--- a/board/reef_mchp/board.h
+++ b/board/reef_mchp/board.h
@@ -55,6 +55,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_BAT_PCT 1
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_CHG_MW 18000
diff --git a/board/sasuke/board.h b/board/sasuke/board.h
index df390d2d99..f43c287d8b 100644
--- a/board/sasuke/board.h
+++ b/board/sasuke/board.h
@@ -33,6 +33,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_OCPC
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/sasukette/board.h b/board/sasukette/board.h
index f06a89a5f0..848be6dffa 100644
--- a/board/sasukette/board.h
+++ b/board/sasukette/board.h
@@ -40,6 +40,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* LED */
diff --git a/board/stern/board.h b/board/stern/board.h
index d7d96ea67c..aa41df9329 100644
--- a/board/stern/board.h
+++ b/board/stern/board.h
@@ -28,6 +28,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/storo/board.h b/board/storo/board.h
index 1f33ce53b0..930b92f95a 100644
--- a/board/storo/board.h
+++ b/board/storo/board.h
@@ -35,6 +35,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_OCPC
#undef CONFIG_CHARGER_SINGLE_CHIP
diff --git a/board/taeko/board.h b/board/taeko/board.h
index a3ae9abb00..24cf2630a5 100644
--- a/board/taeko/board.h
+++ b/board/taeko/board.h
@@ -27,6 +27,7 @@
#define CONFIG_MP2964
/* OEM requested 5% charger current margin */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* LED */
diff --git a/board/taniks/board.h b/board/taniks/board.h
index a301f3b458..1c874d6b83 100644
--- a/board/taniks/board.h
+++ b/board/taniks/board.h
@@ -37,6 +37,7 @@
#define CONFIG_HIBERNATE_PSL_VCC1_RST_WAKEUP
/* OEM requested 5% charger margin */
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* LED */
diff --git a/board/vell/board.h b/board/vell/board.h
index 3a7d97858c..ca4d055b9b 100644
--- a/board/vell/board.h
+++ b/board/vell/board.h
@@ -61,6 +61,7 @@
#undef CONFIG_SYV682X_HV_ILIM
#define CONFIG_SYV682X_HV_ILIM SYV682X_HV_ILIM_5_50
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
/* TODO: b/177608416 - measure and check these values on brya */
diff --git a/board/vilboz/board.h b/board/vilboz/board.h
index a481082f0f..5bda55b8d3 100644
--- a/board/vilboz/board.h
+++ b/board/vilboz/board.h
@@ -21,6 +21,7 @@
#define GPIO_USB2_ILIM_SEL GPIO_USB_A1_CHARGE_EN_DB_L
#define CONFIG_CHARGER_PROFILE_OVERRIDE
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Motion sensing drivers */
diff --git a/board/waddledoo/board.h b/board/waddledoo/board.h
index 23a89c84d6..a53507ecad 100644
--- a/board/waddledoo/board.h
+++ b/board/waddledoo/board.h
@@ -47,6 +47,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_OCPC
#undef CONFIG_CHARGER_SINGLE_CHIP
diff --git a/board/waddledoo2/board.h b/board/waddledoo2/board.h
index 3b4587037d..428a4cc3fc 100644
--- a/board/waddledoo2/board.h
+++ b/board/waddledoo2/board.h
@@ -32,6 +32,7 @@
* b/147463641: The charger IC seems to overdraw ~4%, therefore we
* reduce our target accordingly.
*/
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 4
#define CONFIG_OCPC
#undef CONFIG_CHARGER_SINGLE_CHIP
diff --git a/board/willow/board.h b/board/willow/board.h
index 315c206a07..013f7df035 100644
--- a/board/willow/board.h
+++ b/board/willow/board.h
@@ -27,6 +27,7 @@
#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
#define CONFIG_CHARGER_PSYS
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_RUNTIME_CONFIG
diff --git a/board/wormdingler/board.h b/board/wormdingler/board.h
index 447846c509..595e16eac8 100644
--- a/board/wormdingler/board.h
+++ b/board/wormdingler/board.h
@@ -24,6 +24,7 @@
#define CONFIG_BATTERY_FUEL_GAUGE
#define CONFIG_BATTERY_VENDOR_PARAM
+#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/* Enable PD3.0 */
diff --git a/docs/low_battery_startup.md b/docs/low_battery_startup.md
index 1f94d4956e..c82268a308 100644
--- a/docs/low_battery_startup.md
+++ b/docs/low_battery_startup.md
@@ -427,3 +427,13 @@ Optional.
Similar to `CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON`, this is the minimum
charger power needed to boot even when the battery is less than
`CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC`
+
+### `CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT`
+
+Optional, default 5%.
+
+This option reduces the charger's programmed current limit below the detected
+current limit for a given charger in an attempt to ensure that load transients
+won't overcurrent the source. Devices that require a lot of power to boot may
+need to either decrease the derating factor (if behavior remains acceptable when
+decreased) or increase `MIN_POWER_MW` settings to compensate. \ No newline at end of file
diff --git a/include/config.h b/include/config.h
index 5a264f5619..ee9b354835 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1076,10 +1076,20 @@
* and input current is limited to 1000 mA, the charger will be given a limit
* of 960 mA.
*
+ * The default value is set to prevent most overcurrent conditions during load
+ * transients, because power supplies vary in their tolerance to such
+ * short-lived overcurrent conditions and many chargers respond slowly to those
+ * transients.
+ *
+ * Projects SHOULD characterize system behavior to tune for system
+ * behavior and charger response in order to optimize this (allowing the
+ * derating to be reduced) and ensure transients do not exceed the range of
+ * acceptable current (which might require greater derating).
+ *
* Boards requiring more complex control over input current should leave this
* undefined and override board_set_charge_limit instead.
*/
-#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
+#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
/*
* This config option is used to enable IDCHG trigger for prochot. This macro
diff --git a/zephyr/Kconfig.usbc b/zephyr/Kconfig.usbc
index 082f96ca7f..53c918816c 100644
--- a/zephyr/Kconfig.usbc
+++ b/zephyr/Kconfig.usbc
@@ -66,7 +66,7 @@ config PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT
config PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT
int "Charger input current derating percentage"
- default 0
+ default 5
depends on PLATFORM_EC_CHARGE_MANAGER
help
Setting this to a nonzero value causes actual charger current limits
@@ -80,6 +80,16 @@ config PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT
required, boards should override the board_set_charge_limit()
function instead of configuring this option.
+ The default value is set to prevent most overcurrent conditions during
+ load transients, because power supplies vary in their tolerance to
+ such short-lived overcurrent conditions and many chargers respond
+ slowly to those transients.
+
+ Projects SHOULD characterize system behavior to tune for system
+ behavior and charger response in order to optimize this (allowing the
+ derating to be reduced) and ensure transients do not exceed the range
+ of acceptable current (which might require greater derating).
+
config PLATFORM_EC_USBC_OCP
bool
help
diff --git a/zephyr/test/drivers/default/prj.conf b/zephyr/test/drivers/default/prj.conf
index 75a0556013..fbc7c4336b 100644
--- a/zephyr/test/drivers/default/prj.conf
+++ b/zephyr/test/drivers/default/prj.conf
@@ -10,4 +10,5 @@ CONFIG_PLATFORM_EC_VOLUME_BUTTONS=y
CONFIG_TASK_HOSTCMD_THREAD_MAIN=y
CONFIG_SYSTEM_FAKE=y
-CONFIG_GPIO_GET_CONFIG=y \ No newline at end of file
+CONFIG_GPIO_GET_CONFIG=y
+CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT=0