summaryrefslogtreecommitdiff
path: root/baseboard
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2021-09-10 17:39:07 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-13 09:55:53 +0000
commit4a0368676c647d139226011796c7670b0981b9ed (patch)
tree2658e925ae48007683728d46c35363431d115277 /baseboard
parentc8745778cab602cffad2a40e20b19d89ffbc2415 (diff)
downloadchrome-ec-4a0368676c647d139226011796c7670b0981b9ed.tar.gz
cherry: adjust charger input voltage limit
When the system is powered by 5V/3A adapter from C1 port, the long PPVAR_VBUS_IN trace will cause large IR drop with high input current and PPVAR_VBUS_IN voltage will hit ISL9238C input voltage limit, then ISL9238C will decrease the sink current to make PPVAR_VBUS_IN valid. See b:198707662 comment#9 for more detail. BUG=b:198707662 TEST=check the register value of 0x4B BRANCH=main Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I148e8943b295a73d27a9bc381309d074b053fb85 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3153621 Reviewed-by: Rong Chang <rongchang@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r--baseboard/cherry/baseboard.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/baseboard/cherry/baseboard.c b/baseboard/cherry/baseboard.c
index c5eaad56ab..cf471ecd84 100644
--- a/baseboard/cherry/baseboard.c
+++ b/baseboard/cherry/baseboard.c
@@ -78,6 +78,18 @@ const struct charger_config_t chg_chips[] = {
},
};
+/* Override default setting, called after charger_chips_init */
+static void baseboard_charger_init(void)
+{
+ /* b/198707662#comment9 */
+ int reg = (4096 / ISL9238_INPUT_VOLTAGE_REF_STEP)
+ << ISL9238_INPUT_VOLTAGE_REF_SHIFT;
+
+ i2c_write16(I2C_PORT_CHARGER, ISL923X_ADDR_FLAGS,
+ ISL9238_REG_INPUT_VOLTAGE, reg);
+}
+DECLARE_HOOK(HOOK_INIT, baseboard_charger_init, HOOK_PRIO_DEFAULT + 2);
+
__override void board_hibernate_late(void)
{
/*