summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwen zhang <zhangwen6@huaqin.corp-partner.google.com>2022-11-03 15:28:22 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-03 09:04:20 +0000
commit6b9ec04933d47411d796e62a887dd424f5d1c724 (patch)
tree21b1fc888b9a911fee7d56ca7663545f522866b6
parente828dd4e2bb9b7cfb2814c82e605e2f047ba60d4 (diff)
downloadchrome-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.c7
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)