diff options
author | wen zhang <zhangwen6@huaqin.corp-partner.google.com> | 2022-11-03 15:28:22 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-03 09:04:20 +0000 |
commit | 6b9ec04933d47411d796e62a887dd424f5d1c724 (patch) | |
tree | 21b1fc888b9a911fee7d56ca7663545f522866b6 | |
parent | e828dd4e2bb9b7cfb2814c82e605e2f047ba60d4 (diff) | |
download | chrome-ec-6b9ec04933d47411d796e62a887dd424f5d1c724.tar.gz |
corsola: reserve input current margin
The adapter output current exceeds the spec of the adapter,
such as 20V 3.25A adapter will output 3.273A when system is
heavy-load. We add a margin 4% in case of charger overdraw.
BUG=b:257167723
TEST=scope the output current
BRANCH=corsola
Change-Id: I6fba906d88a6de8efd2b5d09fead9ba5bd1ea796
Signed-off-by: wen zhang <zhangwen6@huaqin.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3999463
Reviewed-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
Code-Coverage: Ting Shen <phoenixshen@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
-rw-r--r-- | zephyr/projects/corsola/src/usbc_config.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/zephyr/projects/corsola/src/usbc_config.c b/zephyr/projects/corsola/src/usbc_config.c index 838f676694..b776bc1ca9 100644 --- a/zephyr/projects/corsola/src/usbc_config.c +++ b/zephyr/projects/corsola/src/usbc_config.c @@ -129,7 +129,12 @@ __override enum pd_dual_role_states pd_get_drp_state_in_s0(void) __override void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma, int charge_mv) { - charge_set_input_current_limit(charge_ma, charge_mv); + int icl = charge_ma * 97 / 100; + /* + * b:257167723: Adapter output current exceeds the spec on heavy-load. + * Preserve a margin in case of charger overdraw. + */ + charge_set_input_current_limit(icl, charge_mv); } void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled) |