summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Lu <Devin.Lu@quantatw.com>2022-05-04 10:54:59 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-05 07:11:54 +0000
commit19517153849c9da5f9a41e3cb9b86ee651227fa9 (patch)
treece7c3d15b1182a0583cc97a34d20089e727a5fb5
parent7bc1364631a46457fc047ede49ed7eee6d75edc8 (diff)
downloadchrome-ec-19517153849c9da5f9a41e3cb9b86ee651227fa9.tar.gz
vell: Limit input current to fraction of negotiated limit
Limit input current to 96% of negotiated limit BUG=none BRANCH=none TEST=Connect adapter then check input current. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I89cf7b1d9a8b8a022e1312dad5de853d53cf7308 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3626851 Reviewed-by: Boris Mittelberg <bmbm@google.com>
-rw-r--r--board/vell/charger.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/board/vell/charger.c b/board/vell/charger.c
index b6779940a6..0b35b7ba29 100644
--- a/board/vell/charger.c
+++ b/board/vell/charger.c
@@ -82,9 +82,14 @@ int board_set_active_charge_port(int port)
return EC_SUCCESS;
}
-__overridable void board_set_charge_limit(int port, int supplier, int charge_ma,
+void board_set_charge_limit(int port, int supplier, int charge_ma,
int max_ma, int charge_mv)
{
+ /*
+ * Limit the input current to 96% negotiated limit,
+ * to account for the charger chip margin.
+ */
+ charge_ma = charge_ma * 96 / 100;
charge_set_input_current_limit(MAX(charge_ma,
CONFIG_CHARGER_INPUT_CURRENT),
charge_mv);