summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Marheine <pmarheine@chromium.org>2022-11-10 16:37:09 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-23 03:58:51 +0000
commitb75dc90677f29424e6f0d63f294dce4b39782135 (patch)
tree17002ffbd6b6f660b1a5a1a1e1911e741fa4ac73
parentf1b563c350acf6a1b687c682f07770aa8210dc01 (diff)
downloadchrome-ec-b75dc90677f29424e6f0d63f294dce4b39782135.tar.gz
Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
This splits the dual use of CONFIG_CHARGER_INPUT_CURRENT into two different symbols, changing the uses of that which are used to set a minimum current limit to be CONFIG_CHARGER_MAX_INPUT_CURRENT_LIMIT. Most boards implement this in the same way within either the board or baseboard, so handling of the new option is moved into charge_set_input_current_limit (which is called by every user of the option) and every board which repeated this pattern has the new symbol set to the same value as the old one, with the duplicated code deleted. One functional change to the charge manager is made: when charging stops, the input current limit is set to the default value (CONFIG_CHARGER_INPUT_CURRENT) rather than 0. This captures the intent that the default current is appropriate at any time, which was previously configured by individual boards' implementation of board_set_charge_limit() while still allowing the limit to be set lower as needed. To verify that all changes are appropriate, the following has been manually checked: * All boards with a change to a .c file also have a .h change * All boards without a changed .h file have a changed baseboard.h * For Zephyr projects, those with a changed .c file have config added for the minimum limit and others (only corsola) are unchanged to leave it off. This is intended to verify that each board that duplicated the MAX() logic has its configuration updated to use the shared copy, and that boards with that code in the baseboard also update their configuration. BUG=b:163093572 TEST=make buildall; zmake build -a BRANCH=none LOW_COVERAGE_REASON=added lines will soon be deleted Change-Id: Ia460a16293c1fb82aac3784fd9be57ba0985f2fe Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4019703 Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--baseboard/asurada/baseboard.h1
-rw-r--r--baseboard/asurada/usbc_config.c3
-rw-r--r--baseboard/brya/baseboard.h1
-rw-r--r--baseboard/cherry/baseboard.h1
-rw-r--r--baseboard/dedede/baseboard.h1
-rw-r--r--baseboard/goroh/baseboard.c3
-rw-r--r--baseboard/goroh/baseboard.h1
-rw-r--r--baseboard/grunt/baseboard.c3
-rw-r--r--baseboard/grunt/baseboard.h1
-rw-r--r--baseboard/guybrush/baseboard.c3
-rw-r--r--baseboard/guybrush/baseboard.h1
-rw-r--r--baseboard/hatch/baseboard.c3
-rw-r--r--baseboard/hatch/baseboard.h1
-rw-r--r--baseboard/herobrine/baseboard.h1
-rw-r--r--baseboard/intelrvp/baseboard.h1
-rw-r--r--baseboard/intelrvp/chg_usb_pd.c3
-rw-r--r--baseboard/kukui/baseboard.h1
-rw-r--r--baseboard/octopus/baseboard.c3
-rw-r--r--baseboard/octopus/baseboard.h1
-rw-r--r--baseboard/trogdor/baseboard.h1
-rw-r--r--baseboard/volteer/baseboard.h1
-rw-r--r--baseboard/volteer/charger.c3
-rw-r--r--baseboard/zork/baseboard.c3
-rw-r--r--baseboard/zork/baseboard.h1
-rw-r--r--board/agah/charger_isl9241.c3
-rw-r--r--board/anahera/charger.c3
-rw-r--r--board/atlas/board.c3
-rw-r--r--board/atlas/board.h1
-rw-r--r--board/banshee/charger.c3
-rw-r--r--board/beadrix/board.c4
-rw-r--r--board/beetley/board.c4
-rw-r--r--board/bellis/board.c3
-rw-r--r--board/blipper/board.c3
-rw-r--r--board/boten/board.c3
-rw-r--r--board/brya/charger.c3
-rw-r--r--board/bugzzy/board.c3
-rw-r--r--board/burnet/board.c3
-rw-r--r--board/cappy2/board.c3
-rw-r--r--board/cerise/board.c3
-rw-r--r--board/cherry/board.c3
-rw-r--r--board/coachz/board.c3
-rw-r--r--board/coral/board.c3
-rw-r--r--board/coral/board.h1
-rw-r--r--board/corori/board.c3
-rw-r--r--board/corori2/board.c3
-rw-r--r--board/cret/board.c3
-rw-r--r--board/crota/charger.c3
-rw-r--r--board/damu/board.c3
-rw-r--r--board/dibbi/board.c4
-rw-r--r--board/dojo/board.c3
-rw-r--r--board/drawcia/board.c6
-rw-r--r--board/drawcia_riscv/board.c6
-rw-r--r--board/driblee/board.c3
-rw-r--r--board/drobit/board.c3
-rw-r--r--board/eldrid/board.c3
-rw-r--r--board/elm/board.c3
-rw-r--r--board/elm/board.h1
-rw-r--r--board/eve/board.c3
-rw-r--r--board/eve/board.h1
-rw-r--r--board/ezkinil/board.c3
-rw-r--r--board/felwinter/charger_isl9241.c3
-rw-r--r--board/fennel/board.c3
-rw-r--r--board/galtic/board.c4
-rw-r--r--board/gelarshie/board.c3
-rw-r--r--board/gimble/charger.c3
-rw-r--r--board/gooey/board.c3
-rw-r--r--board/haboki/board.c6
-rw-r--r--board/herobrine/usbc_config.c3
-rw-r--r--board/homestar/board.c3
-rw-r--r--board/icarus/board.c3
-rw-r--r--board/jacuzzi/board.c3
-rw-r--r--board/kano/charger.c3
-rw-r--r--board/kappa/board.c3
-rw-r--r--board/kingoftown/usbc_config.c3
-rw-r--r--board/kracko/board.c6
-rw-r--r--board/lalala/board.c3
-rw-r--r--board/lantis/board.c4
-rw-r--r--board/lazor/usbc_config.c3
-rw-r--r--board/madoo/board.c3
-rw-r--r--board/magolor/board.c3
-rw-r--r--board/makomo/board.c3
-rw-r--r--board/marzipan/board.c3
-rw-r--r--board/mchpevb1/board.c3
-rw-r--r--board/mchpevb1/board.h1
-rw-r--r--board/metaknight/board.c3
-rw-r--r--board/mithrax/charger_isl9241.c3
-rw-r--r--board/mrbland/board.c3
-rw-r--r--board/munna/board.c3
-rw-r--r--board/nami/board.c3
-rw-r--r--board/nami/board.h1
-rw-r--r--board/nautilus/board.c3
-rw-r--r--board/nautilus/board.h1
-rw-r--r--board/nocturne/board.c3
-rw-r--r--board/nocturne/board.h1
-rw-r--r--board/oak/board.c3
-rw-r--r--board/oak/board.h1
-rw-r--r--board/osiris/charger.c3
-rw-r--r--board/pazquel/board.c3
-rw-r--r--board/pico/board.c3
-rw-r--r--board/pirika/board.c4
-rw-r--r--board/pompom/board.c3
-rw-r--r--board/poppy/board.c5
-rw-r--r--board/poppy/board.h1
-rw-r--r--board/primus/board.c7
-rw-r--r--board/quackingstick/board.c3
-rw-r--r--board/rammus/board.c3
-rw-r--r--board/rammus/board.h1
-rw-r--r--board/redrix/charger.c3
-rw-r--r--board/reef/board.c3
-rw-r--r--board/reef/board.h1
-rw-r--r--board/reef_it8320/board.c3
-rw-r--r--board/reef_it8320/board.h1
-rw-r--r--board/reef_mchp/board.c3
-rw-r--r--board/reef_mchp/board.h1
-rw-r--r--board/sasuke/board.c3
-rw-r--r--board/sasukette/board.c3
-rw-r--r--board/scarlet/board.c3
-rw-r--r--board/scarlet/board.h1
-rw-r--r--board/stern/board.c3
-rw-r--r--board/storo/board.c3
-rw-r--r--board/taeko/charger.c3
-rw-r--r--board/taniks/charger.c3
-rw-r--r--board/trogdor/usbc_config.c3
-rw-r--r--board/vell/charger.c3
-rw-r--r--board/vilboz/board.c3
-rw-r--r--board/volmar/charger.c3
-rw-r--r--board/waddledee/board.c4
-rw-r--r--board/waddledoo/board.c3
-rw-r--r--board/waddledoo2/board.c3
-rw-r--r--board/wheelie/board.c4
-rw-r--r--board/willow/board.c3
-rw-r--r--board/wormdingler/board.c3
-rw-r--r--common/charge_manager.c6
-rw-r--r--common/charge_state_v2.c5
-rw-r--r--docs/low_battery_startup.md25
-rw-r--r--include/charge_state_v2.h3
-rw-r--r--include/config.h19
-rw-r--r--zephyr/Kconfig.usbc20
-rw-r--r--zephyr/program/brya/prj.conf1
-rw-r--r--zephyr/program/herobrine/program.conf1
-rw-r--r--zephyr/program/herobrine/src/usbc_config.c3
-rw-r--r--zephyr/program/intelrvp/prj.conf1
-rw-r--r--zephyr/program/intelrvp/src/chg_usb_pd.c3
-rw-r--r--zephyr/program/nissa/program.conf1
-rw-r--r--zephyr/program/nissa/src/common.c3
-rw-r--r--zephyr/program/rex/prj.conf1
-rw-r--r--zephyr/program/rex/src/usbc_config.c3
-rw-r--r--zephyr/program/skyrim/prj.conf1
-rw-r--r--zephyr/program/skyrim/src/usbc_config.c3
-rw-r--r--zephyr/program/trogdor/lazor/prj.conf1
-rw-r--r--zephyr/program/trogdor/lazor/src/usbc_config.c3
-rw-r--r--zephyr/shim/include/config_chip.h6
-rw-r--r--zephyr/test/drivers/bc12_pi3usb9201/src/pi3usb9201.c8
-rw-r--r--zephyr/test/drivers/common/src/stubs.c3
-rw-r--r--zephyr/test/drivers/common_charger/src/test_charge_state_v2.c13
-rw-r--r--zephyr/test/drivers/testcase.yaml1
156 files changed, 243 insertions, 253 deletions
diff --git a/baseboard/asurada/baseboard.h b/baseboard/asurada/baseboard.h
index b40f2f50de..597515363c 100644
--- a/baseboard/asurada/baseboard.h
+++ b/baseboard/asurada/baseboard.h
@@ -61,6 +61,7 @@
#define CONFIG_CHARGE_RAMP_HW
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_ISL9238C
#define CONFIG_CHARGER_MAINTAIN_VBAT
#define CONFIG_CHARGER_OTG
diff --git a/baseboard/asurada/usbc_config.c b/baseboard/asurada/usbc_config.c
index ecc882659f..57396121f5 100644
--- a/baseboard/asurada/usbc_config.c
+++ b/baseboard/asurada/usbc_config.c
@@ -311,8 +311,7 @@ void board_reset_pd_mcu(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled)
diff --git a/baseboard/brya/baseboard.h b/baseboard/brya/baseboard.h
index 6748a8a777..b2d722fcd9 100644
--- a/baseboard/brya/baseboard.h
+++ b/baseboard/brya/baseboard.h
@@ -69,6 +69,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CMD_CHARGER_DUMP
diff --git a/baseboard/cherry/baseboard.h b/baseboard/cherry/baseboard.h
index de3acda1d3..8cd2aacd1f 100644
--- a/baseboard/cherry/baseboard.h
+++ b/baseboard/cherry/baseboard.h
@@ -71,6 +71,7 @@
#define CONFIG_CHARGE_RAMP_HW
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_ISL9238C
#define CONFIG_CHARGER_MAINTAIN_VBAT
/* Not used in boot flow, set to 0 to suppress system_can_boot_ap warning */
diff --git a/baseboard/dedede/baseboard.h b/baseboard/dedede/baseboard.h
index e581a0e8d0..e03d41ae21 100644
--- a/baseboard/dedede/baseboard.h
+++ b/baseboard/dedede/baseboard.h
@@ -165,6 +165,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 256
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 256
#define CONFIG_USB_CHARGER
#define CONFIG_TRICKLE_CHARGING
diff --git a/baseboard/goroh/baseboard.c b/baseboard/goroh/baseboard.c
index 8422030619..d1474f78a7 100644
--- a/baseboard/goroh/baseboard.c
+++ b/baseboard/goroh/baseboard.c
@@ -163,8 +163,7 @@ const struct cc_para_t *board_get_cc_tuning_parameter(enum usbpd_port port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled)
diff --git a/baseboard/goroh/baseboard.h b/baseboard/goroh/baseboard.h
index 05c26d74a0..205621e040 100644
--- a/baseboard/goroh/baseboard.h
+++ b/baseboard/goroh/baseboard.h
@@ -58,6 +58,7 @@
#define CONFIG_CHARGE_RAMP_HW
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_ISL9238C
#define CONFIG_CHARGER_MAINTAIN_VBAT
#define CONFIG_CHARGER_OTG
diff --git a/baseboard/grunt/baseboard.c b/baseboard/grunt/baseboard.c
index 50db1887f1..aef91f5e30 100644
--- a/baseboard/grunt/baseboard.c
+++ b/baseboard/grunt/baseboard.c
@@ -467,8 +467,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/* Keyboard scan setting */
diff --git a/baseboard/grunt/baseboard.h b/baseboard/grunt/baseboard.h
index b83b274d49..e385b11b86 100644
--- a/baseboard/grunt/baseboard.h
+++ b/baseboard/grunt/baseboard.h
@@ -73,6 +73,7 @@
* See also b/111214767
*/
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_SENSE_RESISTOR 10
diff --git a/baseboard/guybrush/baseboard.c b/baseboard/guybrush/baseboard.c
index 654f73e7fe..b8b4b775a6 100644
--- a/baseboard/guybrush/baseboard.c
+++ b/baseboard/guybrush/baseboard.c
@@ -537,8 +537,7 @@ int board_aoz1380_set_vbus_source_current_limit(int port, enum tcpc_rp_value rp)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void sbu_fault_interrupt(enum ioex_signal signal)
diff --git a/baseboard/guybrush/baseboard.h b/baseboard/guybrush/baseboard.h
index 04b1e10c97..883bf27847 100644
--- a/baseboard/guybrush/baseboard.h
+++ b/baseboard/guybrush/baseboard.h
@@ -163,6 +163,7 @@
#define CONFIG_CHARGE_MANAGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_ISL9241
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/baseboard/hatch/baseboard.c b/baseboard/hatch/baseboard.c
index f5376700c5..9910f21880 100644
--- a/baseboard/hatch/baseboard.c
+++ b/baseboard/hatch/baseboard.c
@@ -351,8 +351,7 @@ int ppc_get_alert_status(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
#ifdef USB_PD_PORT_TCPC_MST
diff --git a/baseboard/hatch/baseboard.h b/baseboard/hatch/baseboard.h
index d5d680e7bf..9ba148e91e 100644
--- a/baseboard/hatch/baseboard.h
+++ b/baseboard/hatch/baseboard.h
@@ -97,6 +97,7 @@
#define CONFIG_CHARGER_BQ25710
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512 /* Allow low-current USB charging */
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#undef CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON
#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1
#define CONFIG_CHARGE_RAMP_HW
diff --git a/baseboard/herobrine/baseboard.h b/baseboard/herobrine/baseboard.h
index 0782612cb8..b1aabc6bd6 100644
--- a/baseboard/herobrine/baseboard.h
+++ b/baseboard/herobrine/baseboard.h
@@ -89,6 +89,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 10000
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/baseboard/intelrvp/baseboard.h b/baseboard/intelrvp/baseboard.h
index b927632fc5..96acf8c562 100644
--- a/baseboard/intelrvp/baseboard.h
+++ b/baseboard/intelrvp/baseboard.h
@@ -69,6 +69,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_SENSE_RESISTOR 5
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
#undef CONFIG_EXTPOWER_DEBOUNCE_MS
diff --git a/baseboard/intelrvp/chg_usb_pd.c b/baseboard/intelrvp/chg_usb_pd.c
index 95aeea0441..9fa7c60f44 100644
--- a/baseboard/intelrvp/chg_usb_pd.c
+++ b/baseboard/intelrvp/chg_usb_pd.c
@@ -129,6 +129,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/baseboard/kukui/baseboard.h b/baseboard/kukui/baseboard.h
index 9afc726861..4a5562fb04 100644
--- a/baseboard/kukui/baseboard.h
+++ b/baseboard/kukui/baseboard.h
@@ -62,6 +62,7 @@
#define CONFIG_CHARGER_SENSE_RESISTOR 10 /* BOARD_RS2 */
#define CONFIG_CHARGER_OTG
#define CONFIG_CHARGE_RAMP_HW
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
/* TCPC FUSB302 */
#define PD_POWER_SUPPLY_TURN_ON_DELAY 160000 /* us */
diff --git a/baseboard/octopus/baseboard.c b/baseboard/octopus/baseboard.c
index b35bbcd67b..c852d1fad5 100644
--- a/baseboard/octopus/baseboard.c
+++ b/baseboard/octopus/baseboard.c
@@ -301,8 +301,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_hibernate(void)
diff --git a/baseboard/octopus/baseboard.h b/baseboard/octopus/baseboard.h
index 8662749c98..9c6e2a14e6 100644
--- a/baseboard/octopus/baseboard.h
+++ b/baseboard/octopus/baseboard.h
@@ -155,6 +155,7 @@
#define CONFIG_CHARGE_RAMP_HW
#define CONFIG_CHARGER
#define CONFIG_CHARGER_INPUT_CURRENT 512 /* Allow low-current USB charging */
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_USB_CHARGER
diff --git a/baseboard/trogdor/baseboard.h b/baseboard/trogdor/baseboard.h
index 2dedf8f330..901466fec1 100644
--- a/baseboard/trogdor/baseboard.h
+++ b/baseboard/trogdor/baseboard.h
@@ -93,6 +93,7 @@
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 10000
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/baseboard/volteer/baseboard.h b/baseboard/volteer/baseboard.h
index 10bea07eeb..4df7d5fc73 100644
--- a/baseboard/volteer/baseboard.h
+++ b/baseboard/volteer/baseboard.h
@@ -108,6 +108,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
/*
* Hardware based charge ramp is broken in the ISL9241 (b/169350714).
diff --git a/baseboard/volteer/charger.c b/baseboard/volteer/charger.c
index 73b80e17b8..252e8795d3 100644
--- a/baseboard/volteer/charger.c
+++ b/baseboard/volteer/charger.c
@@ -83,8 +83,7 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_overcurrent_event(int port, int is_overcurrented)
diff --git a/baseboard/zork/baseboard.c b/baseboard/zork/baseboard.c
index a9e4324aad..0ad8339591 100644
--- a/baseboard/zork/baseboard.c
+++ b/baseboard/zork/baseboard.c
@@ -99,8 +99,7 @@ DECLARE_HOOK(HOOK_CHIPSET_RESUME, baseboard_chipset_resume, HOOK_PRIO_DEFAULT);
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/* Keyboard scan setting */
diff --git a/baseboard/zork/baseboard.h b/baseboard/zork/baseboard.h
index 2289c1891b..528aa44a91 100644
--- a/baseboard/zork/baseboard.h
+++ b/baseboard/zork/baseboard.h
@@ -77,6 +77,7 @@
#define CONFIG_CHARGE_MANAGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_ISL9241
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/board/agah/charger_isl9241.c b/board/agah/charger_isl9241.c
index 47e8261f78..64ad9ae7f7 100644
--- a/board/agah/charger_isl9241.c
+++ b/board/agah/charger_isl9241.c
@@ -199,8 +199,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static const struct charge_port_info bj_power = {
diff --git a/board/anahera/charger.c b/board/anahera/charger.c
index 29211bc033..6b45881b99 100644
--- a/board/anahera/charger.c
+++ b/board/anahera/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
__override void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/atlas/board.c b/board/atlas/board.c
index 633543b51f..685afb3e0e 100644
--- a/board/atlas/board.c
+++ b/board/atlas/board.c
@@ -551,8 +551,7 @@ DECLARE_HOOK(HOOK_INIT, board_charger_init, HOOK_PRIO_DEFAULT);
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static void board_chipset_suspend(void)
diff --git a/board/atlas/board.h b/board/atlas/board.h
index 97f6d67e49..f5cef8d582 100644
--- a/board/atlas/board.h
+++ b/board/atlas/board.h
@@ -78,6 +78,7 @@
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_PROFILE_OVERRIDE
#define CONFIG_CHARGER_PSYS
diff --git a/board/banshee/charger.c b/board/banshee/charger.c
index 88f5b85a41..8edcb00e31 100644
--- a/board/banshee/charger.c
+++ b/board/banshee/charger.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/beadrix/board.c b/board/beadrix/board.c
index 5cea32f90c..14467a66a1 100644
--- a/board/beadrix/board.c
+++ b/board/beadrix/board.c
@@ -478,13 +478,11 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/beetley/board.c b/board/beetley/board.c
index e0ba900a70..28ae90fc9b 100644
--- a/board/beetley/board.c
+++ b/board/beetley/board.c
@@ -387,9 +387,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/bellis/board.c b/board/bellis/board.c
index fc960749f3..fb9701e4e7 100644
--- a/board/bellis/board.c
+++ b/board/bellis/board.c
@@ -239,8 +239,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/blipper/board.c b/board/blipper/board.c
index b7782a8af9..b31c5cde38 100644
--- a/board/blipper/board.c
+++ b/board/blipper/board.c
@@ -539,8 +539,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/boten/board.c b/board/boten/board.c
index 9a54a4a341..14899b0a3a 100644
--- a/board/boten/board.c
+++ b/board/boten/board.c
@@ -247,8 +247,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/brya/charger.c b/board/brya/charger.c
index b1a29c725b..937a48590c 100644
--- a/board/brya/charger.c
+++ b/board/brya/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/bugzzy/board.c b/board/bugzzy/board.c
index b6a015999e..6d30dba966 100644
--- a/board/bugzzy/board.c
+++ b/board/bugzzy/board.c
@@ -396,8 +396,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/burnet/board.c b/board/burnet/board.c
index 923a7a76ce..b4a8860cf1 100644
--- a/board/burnet/board.c
+++ b/board/burnet/board.c
@@ -225,8 +225,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/cappy2/board.c b/board/cappy2/board.c
index d81e731ebf..eb33499eb0 100644
--- a/board/cappy2/board.c
+++ b/board/cappy2/board.c
@@ -232,8 +232,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/cerise/board.c b/board/cerise/board.c
index 62fbc69254..03c31b3ec9 100644
--- a/board/cerise/board.c
+++ b/board/cerise/board.c
@@ -239,8 +239,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/cherry/board.c b/board/cherry/board.c
index c2ad54acb2..2f2f242b48 100644
--- a/board/cherry/board.c
+++ b/board/cherry/board.c
@@ -265,8 +265,7 @@ const struct usb_mux_chain usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/* Initialize board. */
diff --git a/board/coachz/board.c b/board/coachz/board.c
index 96ed26b819..a0f6dc74fc 100644
--- a/board/coachz/board.c
+++ b/board/coachz/board.c
@@ -697,8 +697,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/coral/board.c b/board/coral/board.c
index 922a19e97c..612ec180ae 100644
--- a/board/coral/board.c
+++ b/board/coral/board.c
@@ -566,8 +566,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (bd9995x_bc12_enable_charging(port, bc12_enable))
return;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/coral/board.h b/board/coral/board.h
index eee201669c..9b45db2cf3 100644
--- a/board/coral/board.h
+++ b/board/coral/board.h
@@ -61,6 +61,7 @@
#define CONFIG_CHARGER_BD9995X_CHGEN
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MAINTAIN_VBAT
#undef CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON
#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1
diff --git a/board/corori/board.c b/board/corori/board.c
index 09baf1eabf..11d4ad8169 100644
--- a/board/corori/board.c
+++ b/board/corori/board.c
@@ -314,8 +314,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/corori2/board.c b/board/corori2/board.c
index c06ccbb15b..bc41f397ad 100644
--- a/board/corori2/board.c
+++ b/board/corori2/board.c
@@ -457,8 +457,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/cret/board.c b/board/cret/board.c
index 90bfc7d41a..17ecb3e7da 100644
--- a/board/cret/board.c
+++ b/board/cret/board.c
@@ -307,8 +307,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/crota/charger.c b/board/crota/charger.c
index c7dcf7b0c1..e46364ee6d 100644
--- a/board/crota/charger.c
+++ b/board/crota/charger.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/damu/board.c b/board/damu/board.c
index a2415f228d..7c82182ce4 100644
--- a/board/damu/board.c
+++ b/board/damu/board.c
@@ -239,8 +239,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/dibbi/board.c b/board/dibbi/board.c
index 467e238d8a..f546c92c87 100644
--- a/board/dibbi/board.c
+++ b/board/dibbi/board.c
@@ -235,13 +235,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/dojo/board.c b/board/dojo/board.c
index 62f2e6ac09..fcc924770c 100644
--- a/board/dojo/board.c
+++ b/board/dojo/board.c
@@ -473,8 +473,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
/* Limit input current lower than 2944 mA for safety */
charge_ma = MIN(charge_ma, 2944);
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/* NVME */
diff --git a/board/drawcia/board.c b/board/drawcia/board.c
index 118b3178be..325de31f5e 100644
--- a/board/drawcia/board.c
+++ b/board/drawcia/board.c
@@ -613,16 +613,14 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/* Limit C1 on board version 0 to 2.0 A */
if ((board_version == 0) && (port == 1))
- icl = MIN(icl, 2000);
+ charge_ma = MIN(charge_ma, 2000);
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/drawcia_riscv/board.c b/board/drawcia_riscv/board.c
index cbc977d64b..f44be9ed7c 100644
--- a/board/drawcia_riscv/board.c
+++ b/board/drawcia_riscv/board.c
@@ -545,16 +545,14 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/* Limit C1 on board version 0 to 2.0 A */
if ((board_version == 0) && (port == 1))
- icl = MIN(icl, 2000);
+ charge_ma = MIN(charge_ma, 2000);
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/driblee/board.c b/board/driblee/board.c
index 5c78dbda06..fd4c4bb573 100644
--- a/board/driblee/board.c
+++ b/board/driblee/board.c
@@ -341,8 +341,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/drobit/board.c b/board/drobit/board.c
index c2bdbec773..b07e01d0fb 100644
--- a/board/drobit/board.c
+++ b/board/drobit/board.c
@@ -481,6 +481,5 @@ DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/eldrid/board.c b/board/eldrid/board.c
index 6212c6a375..1abf9c6acd 100644
--- a/board/eldrid/board.c
+++ b/board/eldrid/board.c
@@ -182,8 +182,7 @@ __override void board_set_charge_limit(int port, int supplier, int charge_ma,
else
isl9241_set_ac_prochot(0, 3328);
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/******************************************************************************/
diff --git a/board/elm/board.c b/board/elm/board.c
index 329c411c8a..2e99a42b7c 100644
--- a/board/elm/board.c
+++ b/board/elm/board.c
@@ -340,8 +340,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
pd_send_host_event(PD_EVENT_POWER_CHANGE);
}
diff --git a/board/elm/board.h b/board/elm/board.h
index 31a6ec7b61..ba542754b5 100644
--- a/board/elm/board.h
+++ b/board/elm/board.h
@@ -38,6 +38,7 @@
#define CONFIG_CHARGE_MANAGER
#define CONFIG_CHARGER
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGE_RAMP_HW
#define CONFIG_CHARGER_ISL9237
#define CONFIG_CHARGER_MAX_INPUT_CURRENT 3000
diff --git a/board/eve/board.c b/board/eve/board.c
index 77e5b403a0..9f89792818 100644
--- a/board/eve/board.c
+++ b/board/eve/board.c
@@ -646,8 +646,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (bd9995x_bc12_enable_charging(port, bc12_enable))
return;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/eve/board.h b/board/eve/board.h
index 361f2ddd53..b9de20896d 100644
--- a/board/eve/board.h
+++ b/board/eve/board.h
@@ -101,6 +101,7 @@
#define CONFIG_CHARGER_BD9995X_CHGEN
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT 5
#define CONFIG_CHARGER_MAINTAIN_VBAT
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/ezkinil/board.c b/board/ezkinil/board.c
index 2173a2062d..d9ea2c0ecb 100644
--- a/board/ezkinil/board.c
+++ b/board/ezkinil/board.c
@@ -869,6 +869,5 @@ int fan_percent_to_rpm(int fan, int pct)
__override void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/felwinter/charger_isl9241.c b/board/felwinter/charger_isl9241.c
index 7d4026b818..552436824a 100644
--- a/board/felwinter/charger_isl9241.c
+++ b/board/felwinter/charger_isl9241.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/fennel/board.c b/board/fennel/board.c
index e583a21285..95f865a20c 100644
--- a/board/fennel/board.c
+++ b/board/fennel/board.c
@@ -240,8 +240,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/galtic/board.c b/board/galtic/board.c
index af0638be20..787b8877ab 100644
--- a/board/galtic/board.c
+++ b/board/galtic/board.c
@@ -505,13 +505,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_is_sourcing_vbus(int port)
diff --git a/board/gelarshie/board.c b/board/gelarshie/board.c
index dfa85037a2..5ce8030560 100644
--- a/board/gelarshie/board.c
+++ b/board/gelarshie/board.c
@@ -696,8 +696,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/gimble/charger.c b/board/gimble/charger.c
index b1a29c725b..937a48590c 100644
--- a/board/gimble/charger.c
+++ b/board/gimble/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/gooey/board.c b/board/gooey/board.c
index 9acbadd10d..80748b29de 100644
--- a/board/gooey/board.c
+++ b/board/gooey/board.c
@@ -262,8 +262,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/haboki/board.c b/board/haboki/board.c
index d7509115b5..1c48955cbc 100644
--- a/board/haboki/board.c
+++ b/board/haboki/board.c
@@ -529,16 +529,14 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/* Limit C1 on board version 0 to 2.0 A */
if ((board_version == 0) && (port == 1))
- icl = MIN(icl, 2000);
+ charge_ma = MIN(charge_ma, 2000);
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/herobrine/usbc_config.c b/board/herobrine/usbc_config.c
index 18033e0b3c..5d5d57d8bc 100644
--- a/board/herobrine/usbc_config.c
+++ b/board/herobrine/usbc_config.c
@@ -299,8 +299,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/homestar/board.c b/board/homestar/board.c
index b1a136dd67..3c63fd7f81 100644
--- a/board/homestar/board.c
+++ b/board/homestar/board.c
@@ -644,8 +644,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/icarus/board.c b/board/icarus/board.c
index d0a98c901e..e11e763f10 100644
--- a/board/icarus/board.c
+++ b/board/icarus/board.c
@@ -207,8 +207,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/jacuzzi/board.c b/board/jacuzzi/board.c
index 6df0b8dc82..5a3f34d273 100644
--- a/board/jacuzzi/board.c
+++ b/board/jacuzzi/board.c
@@ -247,8 +247,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/kano/charger.c b/board/kano/charger.c
index ab48a7338c..4ad9b41deb 100644
--- a/board/kano/charger.c
+++ b/board/kano/charger.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/kappa/board.c b/board/kappa/board.c
index e3e374e18d..f99d11f063 100644
--- a/board/kappa/board.c
+++ b/board/kappa/board.c
@@ -220,8 +220,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/kingoftown/usbc_config.c b/board/kingoftown/usbc_config.c
index 5cd1f81818..3e4179904c 100644
--- a/board/kingoftown/usbc_config.c
+++ b/board/kingoftown/usbc_config.c
@@ -347,8 +347,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/kracko/board.c b/board/kracko/board.c
index 136b05ea1e..6ac215b1fb 100644
--- a/board/kracko/board.c
+++ b/board/kracko/board.c
@@ -585,16 +585,14 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/* Limit C1 on board version 0 to 2.0 A */
if ((board_version == 0) && (port == 1))
- icl = MIN(icl, 2000);
+ charge_ma = MIN(charge_ma, 2000);
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/lalala/board.c b/board/lalala/board.c
index feedfe0262..b06e6760db 100644
--- a/board/lalala/board.c
+++ b/board/lalala/board.c
@@ -400,8 +400,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/lantis/board.c b/board/lantis/board.c
index 08fc84e222..8d20b61673 100644
--- a/board/lantis/board.c
+++ b/board/lantis/board.c
@@ -722,13 +722,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/lazor/usbc_config.c b/board/lazor/usbc_config.c
index 9b9504a44a..6d4351ab64 100644
--- a/board/lazor/usbc_config.c
+++ b/board/lazor/usbc_config.c
@@ -384,8 +384,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/madoo/board.c b/board/madoo/board.c
index 9f2021cf99..e7294150b0 100644
--- a/board/madoo/board.c
+++ b/board/madoo/board.c
@@ -315,8 +315,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/magolor/board.c b/board/magolor/board.c
index 57f6791ae3..e09eb31abf 100644
--- a/board/magolor/board.c
+++ b/board/magolor/board.c
@@ -596,8 +596,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/makomo/board.c b/board/makomo/board.c
index 09fe5fdd74..dcf7d671b2 100644
--- a/board/makomo/board.c
+++ b/board/makomo/board.c
@@ -238,8 +238,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/marzipan/board.c b/board/marzipan/board.c
index 94b7c444d5..18a02799cc 100644
--- a/board/marzipan/board.c
+++ b/board/marzipan/board.c
@@ -639,8 +639,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/mchpevb1/board.c b/board/mchpevb1/board.c
index 23135108f6..b51f6be876 100644
--- a/board/mchpevb1/board.c
+++ b/board/mchpevb1/board.c
@@ -602,8 +602,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
#endif
diff --git a/board/mchpevb1/board.h b/board/mchpevb1/board.h
index 10208ca736..ae8982f939 100644
--- a/board/mchpevb1/board.h
+++ b/board/mchpevb1/board.h
@@ -151,6 +151,7 @@
/* #define CONFIG_CHARGER_ISL9237 */
/* #define CONFIG_CHARGER_ILIM_PIN_DISABLED */
/* #define CONFIG_CHARGER_INPUT_CURRENT 512 */
+/* #define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512 */
/* #define CONFIG_CHARGER_NARROW_VDC */
/* #define CONFIG_CHARGER_PROFILE_OVERRIDE */
diff --git a/board/metaknight/board.c b/board/metaknight/board.c
index f075f58ee4..b142740c1e 100644
--- a/board/metaknight/board.c
+++ b/board/metaknight/board.c
@@ -399,8 +399,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/mithrax/charger_isl9241.c b/board/mithrax/charger_isl9241.c
index 88f5b85a41..8edcb00e31 100644
--- a/board/mithrax/charger_isl9241.c
+++ b/board/mithrax/charger_isl9241.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/mrbland/board.c b/board/mrbland/board.c
index 04fef6ec82..9b42b15e23 100644
--- a/board/mrbland/board.c
+++ b/board/mrbland/board.c
@@ -598,8 +598,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/munna/board.c b/board/munna/board.c
index 408a81d47d..76445f4bd3 100644
--- a/board/munna/board.c
+++ b/board/munna/board.c
@@ -239,8 +239,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/nami/board.c b/board/nami/board.c
index 02fb27a283..b02b33fdd8 100644
--- a/board/nami/board.c
+++ b/board/nami/board.c
@@ -760,8 +760,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
(model == MODEL_EKKO || model == MODEL_BARD))
factor = 95;
charge_ma = charge_ma * factor / 100;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_hibernate(void)
diff --git a/board/nami/board.h b/board/nami/board.h
index 51cde41acb..1a71e83c4f 100644
--- a/board/nami/board.h
+++ b/board/nami/board.h
@@ -97,6 +97,7 @@
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 27000
#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT 15000
/* AP's thresholds. */
diff --git a/board/nautilus/board.c b/board/nautilus/board.c
index 36b79aa0c7..2f69158b9f 100644
--- a/board/nautilus/board.c
+++ b/board/nautilus/board.c
@@ -538,8 +538,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/nautilus/board.h b/board/nautilus/board.h
index f40b2f00b5..882b5d74f4 100644
--- a/board/nautilus/board.h
+++ b/board/nautilus/board.h
@@ -80,6 +80,7 @@
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_PROFILE_OVERRIDE
#define CONFIG_CHARGER_PSYS
#define CONFIG_CHARGER_SENSE_RESISTOR 10
diff --git a/board/nocturne/board.c b/board/nocturne/board.c
index dbe5f50b68..13fa259276 100644
--- a/board/nocturne/board.c
+++ b/board/nocturne/board.c
@@ -763,8 +763,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static void board_chipset_reset(void)
diff --git a/board/nocturne/board.h b/board/nocturne/board.h
index 7c38e48ee3..828c9a2087 100644
--- a/board/nocturne/board.h
+++ b/board/nocturne/board.h
@@ -71,6 +71,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 128
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 128
#define CONFIG_CHARGER_ISL9238
/*
* Nocturne seems to overdraw its set input current limit by about 5%.
diff --git a/board/oak/board.c b/board/oak/board.c
index 468b6e6677..3e370c8fa6 100644
--- a/board/oak/board.c
+++ b/board/oak/board.c
@@ -360,8 +360,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
pd_send_host_event(PD_EVENT_POWER_CHANGE);
}
diff --git a/board/oak/board.h b/board/oak/board.h
index e40e16bccf..ca9e16cf23 100644
--- a/board/oak/board.h
+++ b/board/oak/board.h
@@ -41,6 +41,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#if BOARD_REV == OAK_REV1
#define CONFIG_CHARGER_BQ24773
diff --git a/board/osiris/charger.c b/board/osiris/charger.c
index 88f5b85a41..8edcb00e31 100644
--- a/board/osiris/charger.c
+++ b/board/osiris/charger.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/pazquel/board.c b/board/pazquel/board.c
index 8fdd4a5325..f2d4685154 100644
--- a/board/pazquel/board.c
+++ b/board/pazquel/board.c
@@ -547,8 +547,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/pico/board.c b/board/pico/board.c
index 8dbfcdec12..5326f17283 100644
--- a/board/pico/board.c
+++ b/board/pico/board.c
@@ -323,8 +323,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/pirika/board.c b/board/pirika/board.c
index f7c5c0d19b..bbe6deab48 100644
--- a/board/pirika/board.c
+++ b/board/pirika/board.c
@@ -494,13 +494,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_is_sourcing_vbus(int port)
diff --git a/board/pompom/board.c b/board/pompom/board.c
index 2f1de29013..e922244721 100644
--- a/board/pompom/board.c
+++ b/board/pompom/board.c
@@ -450,8 +450,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/poppy/board.c b/board/poppy/board.c
index 38183c0da0..c870bffb4f 100644
--- a/board/poppy/board.c
+++ b/board/poppy/board.c
@@ -58,9 +58,6 @@
#define USB_PD_PORT_ANX74XX 0
-/* Minimum input current limit. */
-#define ILIM_MIN_MA 472
-
static void tcpc_alert_event(enum gpio_signal signal)
{
if ((signal == GPIO_USB_C0_PD_INT_ODL) &&
@@ -688,7 +685,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (charge_mv > 5000)
charge_ma -= 52;
- charge_set_input_current_limit(MAX(charge_ma, ILIM_MIN_MA), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_hibernate(void)
diff --git a/board/poppy/board.h b/board/poppy/board.h
index b55dc1d818..c06f96c438 100644
--- a/board/poppy/board.h
+++ b/board/poppy/board.h
@@ -90,6 +90,7 @@
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 472
#define CONFIG_CHARGER_PSYS
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/board/primus/board.c b/board/primus/board.c
index 8b5f1a86fc..3f438cee00 100644
--- a/board/primus/board.c
+++ b/board/primus/board.c
@@ -137,8 +137,7 @@ __override void board_set_charge_limit(int port, int supplier, int charge_ma,
else
charge_ma = charge_ma * 93 / 100;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static void configure_input_current_limit(void)
@@ -159,9 +158,7 @@ static void configure_input_current_limit(void)
else
adapter_current_ma = adapter_current_ma * 97 / 100;
- charge_set_input_current_limit(MAX(adapter_current_ma,
- CONFIG_CHARGER_INPUT_CURRENT),
- adapter_current_mv);
+ charge_set_input_current_limit(adapter_current_ma, adapter_current_mv);
}
DECLARE_HOOK(HOOK_CHIPSET_STARTUP, configure_input_current_limit,
HOOK_PRIO_DEFAULT);
diff --git a/board/quackingstick/board.c b/board/quackingstick/board.c
index 8985254a23..2ccdc1c097 100644
--- a/board/quackingstick/board.c
+++ b/board/quackingstick/board.c
@@ -625,8 +625,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/rammus/board.c b/board/rammus/board.c
index 3696733047..be1f3d9110 100644
--- a/board/rammus/board.c
+++ b/board/rammus/board.c
@@ -569,8 +569,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void board_hibernate(void)
diff --git a/board/rammus/board.h b/board/rammus/board.h
index 83f0f35c57..2de783e247 100644
--- a/board/rammus/board.h
+++ b/board/rammus/board.h
@@ -85,6 +85,7 @@
#define CONFIG_CHARGER_ISL9238
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_PSYS
#define CONFIG_CHARGER_SENSE_RESISTOR 10
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
diff --git a/board/redrix/charger.c b/board/redrix/charger.c
index a4fa209246..4f52a06d7e 100644
--- a/board/redrix/charger.c
+++ b/board/redrix/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/reef/board.c b/board/reef/board.c
index b3732f6be9..4ee0f75b25 100644
--- a/board/reef/board.c
+++ b/board/reef/board.c
@@ -555,8 +555,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (bd9995x_bc12_enable_charging(port, bc12_enable))
return;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/reef/board.h b/board/reef/board.h
index bce20f4645..16f40c2f4a 100644
--- a/board/reef/board.h
+++ b/board/reef/board.h
@@ -51,6 +51,7 @@
#define CONFIG_CHARGER_BD9995X_CHGEN
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#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.c b/board/reef_it8320/board.c
index 6196f1967a..54a0995e85 100644
--- a/board/reef_it8320/board.c
+++ b/board/reef_it8320/board.c
@@ -311,8 +311,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (bd9995x_bc12_enable_charging(port, bc12_enable))
return;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/reef_it8320/board.h b/board/reef_it8320/board.h
index fc1ca0079d..558b10152a 100644
--- a/board/reef_it8320/board.h
+++ b/board/reef_it8320/board.h
@@ -49,6 +49,7 @@
#define CONFIG_CHARGER_BD9995X_CHGEN
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#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.c b/board/reef_mchp/board.c
index 67cbfa5aa9..55b5ab25c7 100644
--- a/board/reef_mchp/board.c
+++ b/board/reef_mchp/board.c
@@ -748,8 +748,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
if (bd9995x_bc12_enable_charging(port, bc12_enable))
return;
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
/**
diff --git a/board/reef_mchp/board.h b/board/reef_mchp/board.h
index 3cc3d2b77f..d570f50142 100644
--- a/board/reef_mchp/board.h
+++ b/board/reef_mchp/board.h
@@ -54,6 +54,7 @@
#define CONFIG_CHARGER_BD9995X_CHGEN
#define CONFIG_CHARGER_DISCHARGE_ON_AC
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#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.c b/board/sasuke/board.c
index 567dc8cee7..07dd0ddb79 100644
--- a/board/sasuke/board.c
+++ b/board/sasuke/board.c
@@ -398,8 +398,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/sasukette/board.c b/board/sasukette/board.c
index 019df9348a..9d7e0470ff 100644
--- a/board/sasukette/board.c
+++ b/board/sasukette/board.c
@@ -254,8 +254,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_is_sourcing_vbus(int port)
diff --git a/board/scarlet/board.c b/board/scarlet/board.c
index 34e5cc456c..b423e5f79a 100644
--- a/board/scarlet/board.c
+++ b/board/scarlet/board.c
@@ -215,8 +215,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int extpower_is_present(void)
diff --git a/board/scarlet/board.h b/board/scarlet/board.h
index 0f96e0208a..aba5819516 100644
--- a/board/scarlet/board.h
+++ b/board/scarlet/board.h
@@ -70,6 +70,7 @@
#define CONFIG_CHARGER
#define CONFIG_CHARGER_RT9467
#define CONFIG_CHARGER_INPUT_CURRENT 512
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT 512
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_BAT_PCT 2
#define CONFIG_CHARGER_LIMIT_POWER_THRESH_CHG_MW 15000
#define CONFIG_CHARGER_PROFILE_OVERRIDE
diff --git a/board/stern/board.c b/board/stern/board.c
index 41f63d40a4..ec3c7e66d5 100644
--- a/board/stern/board.c
+++ b/board/stern/board.c
@@ -239,8 +239,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/storo/board.c b/board/storo/board.c
index e4f2ad2fb9..65fa6c917f 100644
--- a/board/storo/board.c
+++ b/board/storo/board.c
@@ -434,8 +434,7 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_is_sourcing_vbus(int port)
diff --git a/board/taeko/charger.c b/board/taeko/charger.c
index 29211bc033..6b45881b99 100644
--- a/board/taeko/charger.c
+++ b/board/taeko/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
__override void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/taniks/charger.c b/board/taniks/charger.c
index b1a29c725b..937a48590c 100644
--- a/board/taniks/charger.c
+++ b/board/taniks/charger.c
@@ -85,6 +85,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/trogdor/usbc_config.c b/board/trogdor/usbc_config.c
index 34c37edf1a..7abe04651b 100644
--- a/board/trogdor/usbc_config.c
+++ b/board/trogdor/usbc_config.c
@@ -347,8 +347,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/board/vell/charger.c b/board/vell/charger.c
index a153d57704..757f545d80 100644
--- a/board/vell/charger.c
+++ b/board/vell/charger.c
@@ -84,8 +84,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static void set_ac_prochot(void)
diff --git a/board/vilboz/board.c b/board/vilboz/board.c
index fe0b8ee32e..dbbe3a64ca 100644
--- a/board/vilboz/board.c
+++ b/board/vilboz/board.c
@@ -508,6 +508,5 @@ const int usb_port_enable[USBA_PORT_COUNT] = {
__override void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/volmar/charger.c b/board/volmar/charger.c
index 88f5b85a41..8edcb00e31 100644
--- a/board/volmar/charger.c
+++ b/board/volmar/charger.c
@@ -83,6 +83,5 @@ int board_set_active_charge_port(int port)
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/board/waddledee/board.c b/board/waddledee/board.c
index d7abda740c..ab71aa0680 100644
--- a/board/waddledee/board.c
+++ b/board/waddledee/board.c
@@ -345,13 +345,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/waddledoo/board.c b/board/waddledoo/board.c
index e71151f6b5..8658397d9d 100644
--- a/board/waddledoo/board.c
+++ b/board/waddledoo/board.c
@@ -393,8 +393,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/waddledoo2/board.c b/board/waddledoo2/board.c
index b1417d8ee2..6f8a48abe6 100644
--- a/board/waddledoo2/board.c
+++ b/board/waddledoo2/board.c
@@ -400,8 +400,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
diff --git a/board/wheelie/board.c b/board/wheelie/board.c
index 9708dcca82..922d6cde52 100644
--- a/board/wheelie/board.c
+++ b/board/wheelie/board.c
@@ -232,13 +232,11 @@ uint16_t tcpc_get_alert_status(void)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
/*
* TODO(b/151955431): Characterize the input current limit in case a
* scaling needs to be applied here
*/
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_set_active_charge_port(int port)
diff --git a/board/willow/board.c b/board/willow/board.c
index 3bd5c4633b..370b79e4c8 100644
--- a/board/willow/board.c
+++ b/board/willow/board.c
@@ -237,8 +237,7 @@ int board_set_active_charge_port(int charge_port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int board_discharge_on_ac(int enable)
diff --git a/board/wormdingler/board.c b/board/wormdingler/board.c
index 8705e0d2cb..8a106ca965 100644
--- a/board/wormdingler/board.c
+++ b/board/wormdingler/board.c
@@ -643,8 +643,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/common/charge_manager.c b/common/charge_manager.c
index b28a186ef8..c67656b122 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -835,8 +835,12 @@ static void charge_manager_refresh(void)
override_port = OVERRIDE_OFF;
if (new_supplier == CHARGE_SUPPLIER_NONE) {
+#ifdef CONFIG_CHARGER_INPUT_CURRENT
+ new_charge_current = CONFIG_CHARGER_INPUT_CURRENT;
+#else
new_charge_current = 0;
- new_charge_current_uncapped = 0;
+#endif
+ new_charge_current_uncapped = new_charge_current;
new_charge_voltage = 0;
} else {
new_charge_current_uncapped =
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index 6967cf5333..1e1353a639 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -2336,6 +2336,11 @@ int charge_set_input_current_limit(int ma, int mv)
100;
}
#endif
+#ifdef CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
+ if (CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT > 0) {
+ ma = MAX(ma, CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT);
+ }
+#endif
if (IS_ENABLED(CONFIG_OCPC))
chgnum = charge_get_active_chg_chip();
diff --git a/docs/low_battery_startup.md b/docs/low_battery_startup.md
index 48f9c28f49..83aae054b5 100644
--- a/docs/low_battery_startup.md
+++ b/docs/low_battery_startup.md
@@ -77,8 +77,7 @@ analog signaling alone. Via digital communication in the PD protocol, much
higher power states may be negotiated. However, higher power states also usually
run at a higher voltage state as well. Any time the voltage level is changing,
the power sink (the ChromeOS device) must lower its power consumption during the
-transient. The standby current level is governed by
-`CONFIG_CHARGER_INPUT_CURRENT`.
+transient.
PD port partners are capable of both soft and hard resets. Hard resets will
cause a dead-bus state for a brief interval before PD can renegotiate, from
@@ -341,13 +340,23 @@ Example configuration:
Required.
-The lowest current limit programmed into the charger. This determines both the
-default level used on startup, and the value used during the voltage transients
-in PD negotiation.
+The default charger current limit used on startup and for inactive ports. It
+should not be higher than 512 mA unless the device ships with a discrete power
+supply. Raising this term above 512 mA is contrary to USB-PD. It may be lowered
+in order to improve compatibility with marginal BC1.2 chargers.
-It should not be higher than 512 mA unless the device ships with a discrete
-power supply. Raising this term above 512 mA is contrary to USB-PD. It may be
-lowered in order to improve compatibility with marginal BC1.2 chargers.
+### `CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT`
+
+Optional.
+
+If set, charger input current limits will never be set lower than this value.
+Historically most boards used the same value as `CONFIG_CHARGER_INPUT_CURRENT`,
+but doing so violates USB-PD standby power requirements when voltages greater
+than 5V are used with the default 512 mA value. Configuring this option to a
+nonzero value may be useful if a board needs extra headroom (possibly at the
+cost of drawing excess standby power), but boards should prefer to
+override `board_set_charge_limit()` instead to limit situations with excess
+power draw to only occur when that extra power is needed.
### `CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON`
diff --git a/include/charge_state_v2.h b/include/charge_state_v2.h
index 5f886257d3..c7a5cbc995 100644
--- a/include/charge_state_v2.h
+++ b/include/charge_state_v2.h
@@ -72,7 +72,8 @@ int charge_set_output_current_limit(int chgnum, int ma, int mv);
* time AC is applied.
*
* The input current limit is automatically derated by
- * CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT, if configured.
+ * CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT (if configured), and is clamped to
+ * no less than CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT mA (if configured).
*
* @param ma New input current limit in mA
* @param mv Negotiated charge voltage in mV.
diff --git a/include/config.h b/include/config.h
index 74ac859dc3..a9a346c464 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1033,8 +1033,7 @@
#undef CONFIG_CHARGER_ILIM_PIN_DISABLED
/*
- * Default input current for the board, in mA. Many boards also use this as the
- * least maximum input current during transients.
+ * Default input current for the board, in mA.
*
* This value should depend on external power adapter, designed charging
* voltage, and the maximum power of the running system. For type-C chargers,
@@ -1044,6 +1043,22 @@
#undef CONFIG_CHARGER_INPUT_CURRENT
/*
+ * Minimum current limit that will ever be set for chargers, even if a lower
+ * limit is requested. This will allow the charger to draw more power than
+ * the requested limit.
+ *
+ * If set, this should usually be set to no more than 2.5W divided by the
+ * maximum supported input voltage in order to satisfy USB-PD pSnkStdby
+ * requirements. Higher values may help devices stay alive under low-battery
+ * conditions at the cost of violating standby power limits.
+ *
+ * Many boards set this to large values, since historically this number was
+ * usually equal to CONFIG_CHARGER_INPUT_CURRENT. New boards should avoid doing
+ * so if possible.
+ */
+#undef CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
+
+/*
* Percentage derating factor applied to charger input current limits.
*
* Desired charger current is reduced by this many percent when programming
diff --git a/zephyr/Kconfig.usbc b/zephyr/Kconfig.usbc
index 5350c1cbbf..7f65419a4b 100644
--- a/zephyr/Kconfig.usbc
+++ b/zephyr/Kconfig.usbc
@@ -44,6 +44,26 @@ config PLATFORM_EC_CHARGER_INPUT_CURRENT
chargers, this should be set to 512 mA in order to not brown-out
low-current USB charge ports in accordance with USB-PD r3.0 Sec. 7.3
+config PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT
+ int "Minimum charger input current limit in mA"
+ default 0
+ depends on PLATFORM_EC_CHARGE_MANAGER
+ help
+ Minimum current limit in mA that will ever be set for chargers, even if a
+ lower limit is requested.
+
+ If set, this should usually be set to no more than 2.5W divided by the
+ maximum supported input voltage in order to satisfy USB-PD pSnkStdby
+ requirements. Higher values may help devices stay alive under low-battery
+ conditions at the cost of violating standby power limits.
+
+ Many boards set this to large values, since historically this number was
+ usually equal to the default current limit. New boards should avoid doing
+ so if possible, and usually leave this unset: customization of
+ board_set_charge_limit() should be considered instead if a device sometimes
+ requires amounts of power in violation of specs, to limit those violations
+ only to situations where they are necessary.
+
config PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT
int "Charger input current derating percentage"
default 0
diff --git a/zephyr/program/brya/prj.conf b/zephyr/program/brya/prj.conf
index e9d35dc0e2..0d248c6487 100644
--- a/zephyr/program/brya/prj.conf
+++ b/zephyr/program/brya/prj.conf
@@ -105,6 +105,7 @@ CONFIG_PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_CUSTOM=y
CONFIG_PLATFORM_EC_CHARGER_BQ25720_VSYS_TH2_DV=70
CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC=y
CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER=y
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_FOR_POWER_ON=3
CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC=1
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT=15000
diff --git a/zephyr/program/herobrine/program.conf b/zephyr/program/herobrine/program.conf
index 60b78f6758..d97919cce1 100644
--- a/zephyr/program/herobrine/program.conf
+++ b/zephyr/program/herobrine/program.conf
@@ -70,6 +70,7 @@ CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC=y
CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER=y
CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_FOR_POWER_ON=2
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON=12500
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
CONFIG_PLATFORM_EC_CHARGER_PROFILE_OVERRIDE=y
CONFIG_PLATFORM_EC_CHARGER_PSYS=y
CONFIG_PLATFORM_EC_CHARGER_PSYS_READ=y
diff --git a/zephyr/program/herobrine/src/usbc_config.c b/zephyr/program/herobrine/src/usbc_config.c
index e757e3f2e1..95301120d8 100644
--- a/zephyr/program/herobrine/src/usbc_config.c
+++ b/zephyr/program/herobrine/src/usbc_config.c
@@ -262,8 +262,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/zephyr/program/intelrvp/prj.conf b/zephyr/program/intelrvp/prj.conf
index 890122f510..9ca19c5071 100644
--- a/zephyr/program/intelrvp/prj.conf
+++ b/zephyr/program/intelrvp/prj.conf
@@ -20,6 +20,7 @@ CONFIG_PLATFORM_EC_BATTERY_SMART=y
CONFIG_PLATFORM_EC_BATTERY_TYPE_NO_AUTO_DETECT=y
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT=15000
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON=15001
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
#Power Sequencing
CONFIG_PLATFORM_EC_BOARD_RESET_AFTER_POWER_ON=y
diff --git a/zephyr/program/intelrvp/src/chg_usb_pd.c b/zephyr/program/intelrvp/src/chg_usb_pd.c
index 63a1853b4d..81a44238e4 100644
--- a/zephyr/program/intelrvp/src/chg_usb_pd.c
+++ b/zephyr/program/intelrvp/src/chg_usb_pd.c
@@ -124,6 +124,5 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
diff --git a/zephyr/program/nissa/program.conf b/zephyr/program/nissa/program.conf
index 8fd87c94b5..b445c60b6f 100644
--- a/zephyr/program/nissa/program.conf
+++ b/zephyr/program/nissa/program.conf
@@ -129,6 +129,7 @@ CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER=y
CONFIG_PLATFORM_EC_OCPC_DEF_DRIVELIMIT_MILLIVOLTS=200
# Assume 4% overdraw, which could be changed with actual characterization
CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT=4
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
# Reduce logging so that state transitions do not cause protocol issues
# pd dump [1-3] can be used to increase the debugging level
diff --git a/zephyr/program/nissa/src/common.c b/zephyr/program/nissa/src/common.c
index bfcbabcbaa..3600005ae1 100644
--- a/zephyr/program/nissa/src/common.c
+++ b/zephyr/program/nissa/src/common.c
@@ -83,8 +83,7 @@ DECLARE_HOOK(HOOK_INIT, board_setup_init, HOOK_PRIO_INIT_I2C);
__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
- charge_set_input_current_limit(icl, charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
int pd_check_vconn_swap(int port)
diff --git a/zephyr/program/rex/prj.conf b/zephyr/program/rex/prj.conf
index e5900afd54..8b99cc373c 100644
--- a/zephyr/program/rex/prj.conf
+++ b/zephyr/program/rex/prj.conf
@@ -77,6 +77,7 @@ CONFIG_PLATFORM_EC_CHARGER_SENSE_RESISTOR=5
CONFIG_PLATFORM_EC_CHARGER_SENSE_RESISTOR_AC=10
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON=30000
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT=15000
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
# USBC
CONFIG_PLATFORM_EC_USBC_PPC=y
diff --git a/zephyr/program/rex/src/usbc_config.c b/zephyr/program/rex/src/usbc_config.c
index 6f09887eed..ed51be6160 100644
--- a/zephyr/program/rex/src/usbc_config.c
+++ b/zephyr/program/rex/src/usbc_config.c
@@ -195,8 +195,7 @@ void bc12_interrupt(enum gpio_signal signal)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
static void board_disable_charger_ports(void)
diff --git a/zephyr/program/skyrim/prj.conf b/zephyr/program/skyrim/prj.conf
index 951926f537..4d0ed48e6f 100644
--- a/zephyr/program/skyrim/prj.conf
+++ b/zephyr/program/skyrim/prj.conf
@@ -70,6 +70,7 @@ CONFIG_PLATFORM_EC_BATTERY_REVIVE_DISCONNECT=y
# Charger
CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC=y
CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT=512
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
CONFIG_PLATFORM_EC_CHARGER_ISL9241=y
CONFIG_PLATFORM_EC_CHARGER_SENSE_RESISTOR=10
CONFIG_PLATFORM_EC_CHARGER_SENSE_RESISTOR_AC=20
diff --git a/zephyr/program/skyrim/src/usbc_config.c b/zephyr/program/skyrim/src/usbc_config.c
index 1b728f1cf0..eaa327ff4e 100644
--- a/zephyr/program/skyrim/src/usbc_config.c
+++ b/zephyr/program/skyrim/src/usbc_config.c
@@ -193,8 +193,7 @@ int board_set_active_charge_port(int port)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
void sbu_fault_interrupt(enum gpio_signal signal)
diff --git a/zephyr/program/trogdor/lazor/prj.conf b/zephyr/program/trogdor/lazor/prj.conf
index d8cf4009ea..5f29c3f5c2 100644
--- a/zephyr/program/trogdor/lazor/prj.conf
+++ b/zephyr/program/trogdor/lazor/prj.conf
@@ -73,6 +73,7 @@ CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC=y
CONFIG_PLATFORM_EC_CHARGER_DISCHARGE_ON_AC_CHARGER=y
CONFIG_PLATFORM_EC_CHARGER_MIN_BAT_PCT_FOR_POWER_ON=2
CONFIG_PLATFORM_EC_CHARGER_MIN_POWER_MW_FOR_POWER_ON=10000
+CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=512
CONFIG_PLATFORM_EC_CHARGER_PROFILE_OVERRIDE=y
CONFIG_PLATFORM_EC_CHARGER_PSYS=y
CONFIG_PLATFORM_EC_CHARGER_PSYS_READ=y
diff --git a/zephyr/program/trogdor/lazor/src/usbc_config.c b/zephyr/program/trogdor/lazor/src/usbc_config.c
index 9639b556a0..c3860dc005 100644
--- a/zephyr/program/trogdor/lazor/src/usbc_config.c
+++ b/zephyr/program/trogdor/lazor/src/usbc_config.c
@@ -314,8 +314,7 @@ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
charge_ma = max_ma;
}
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
uint16_t tcpc_get_alert_status(void)
diff --git a/zephyr/shim/include/config_chip.h b/zephyr/shim/include/config_chip.h
index b0c0aa2a47..c0d388b60b 100644
--- a/zephyr/shim/include/config_chip.h
+++ b/zephyr/shim/include/config_chip.h
@@ -1083,6 +1083,12 @@ extern char mock_jump_data[CONFIG_PLATFORM_EC_PRESERVED_END_OF_RAM_SIZE];
#define CONFIG_CHARGER_INPUT_CURRENT CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT
#endif
+#undef CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT
+#ifdef CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT
+#define CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT \
+ CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT
+#endif
+
#undef CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT
#ifdef CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT
#define CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT \
diff --git a/zephyr/test/drivers/bc12_pi3usb9201/src/pi3usb9201.c b/zephyr/test/drivers/bc12_pi3usb9201/src/pi3usb9201.c
index 5d143dcbdb..a384fb1e0a 100644
--- a/zephyr/test/drivers/bc12_pi3usb9201/src/pi3usb9201.c
+++ b/zephyr/test/drivers/bc12_pi3usb9201/src/pi3usb9201.c
@@ -73,7 +73,9 @@ static const struct bc12_status bc12_chg_limits[] = {
[CHG_1_0A] = { .supplier = CHARGE_SUPPLIER_PROPRIETARY,
.current_limit = 1000 },
[CHG_RESERVED] = { .supplier = CHARGE_SUPPLIER_NONE,
- .current_limit = 0 },
+ /* Not charging, limit is set to default */
+ .current_limit =
+ CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT },
[CHG_CDP] = { .supplier = CHARGE_SUPPLIER_BC12_CDP,
.current_limit = USB_CHARGER_MAX_CURR_MA },
[CHG_SDP] = { .supplier = CHARGE_SUPPLIER_BC12_SDP,
@@ -209,7 +211,8 @@ test_bc12_pi3usb9201_client_mode(enum pi3usb9201_client_sts detect_result,
NULL);
zassert_equal(charge_manager_get_supplier(), CHARGE_SUPPLIER_NONE,
NULL);
- zassert_equal(charge_manager_get_charger_current(), 0);
+ zassert_equal(charge_manager_get_charger_current(),
+ CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT);
zassert_equal(charge_manager_get_charger_voltage(), 0);
}
@@ -258,6 +261,7 @@ ZTEST_USER(bc12, test_bc12_pi3usb9201)
test_bc12_pi3usb9201_host_mode();
for (int c = CHG_OTHER; c <= CHG_DCP; c++) {
+ LOG_INF("Test client mode supplier %d", c);
test_bc12_pi3usb9201_client_mode(
c, bc12_chg_limits[c].supplier,
bc12_chg_limits[c].current_limit);
diff --git a/zephyr/test/drivers/common/src/stubs.c b/zephyr/test/drivers/common/src/stubs.c
index 3cddc5cdfe..2f8ec7a43f 100644
--- a/zephyr/test/drivers/common/src/stubs.c
+++ b/zephyr/test/drivers/common/src/stubs.c
@@ -101,8 +101,7 @@ int board_is_vbus_too_low(int port, enum chg_ramp_vbus_state ramp_state)
void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
int charge_mv)
{
- charge_set_input_current_limit(
- MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
+ charge_set_input_current_limit(charge_ma, charge_mv);
}
BUILD_ASSERT(CONFIG_USB_PD_PORT_MAX_COUNT == USBC_PORT_COUNT);
diff --git a/zephyr/test/drivers/common_charger/src/test_charge_state_v2.c b/zephyr/test/drivers/common_charger/src/test_charge_state_v2.c
index e1c602e86d..9dfeb5e734 100644
--- a/zephyr/test/drivers/common_charger/src/test_charge_state_v2.c
+++ b/zephyr/test/drivers/common_charger/src/test_charge_state_v2.c
@@ -114,3 +114,16 @@ ZTEST(charge_state_v2, test_current_limit_derating)
CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT,
charger_current_limit);
}
+
+ZTEST(charge_state_v2, test_minimum_current_limit)
+{
+ int charger_current_limit;
+
+ charge_set_input_current_limit(50, 5000);
+ zassert_ok(charger_get_input_current_limit(0, &charger_current_limit));
+ zassert_equal(charger_current_limit, 96,
+ "Minimum input current limit should be %d mA,"
+ " but current limit is %d (capped to %d)",
+ 96, charger_current_limit,
+ CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT);
+}
diff --git a/zephyr/test/drivers/testcase.yaml b/zephyr/test/drivers/testcase.yaml
index db341b3048..59456ac5f0 100644
--- a/zephyr/test/drivers/testcase.yaml
+++ b/zephyr/test/drivers/testcase.yaml
@@ -63,6 +63,7 @@ tests:
drivers.common_charger:
extra_configs:
- CONFIG_PLATFORM_EC_CHARGER_INPUT_CURRENT_DERATE_PCT=5
+ - CONFIG_PLATFORM_EC_CHARGER_MIN_INPUT_CURRENT_LIMIT=100
- CONFIG_LINK_TEST_SUITE_COMMON_CHARGER=y
# Set to focus testing for Herobrine
# Config is y only in nissa