summaryrefslogtreecommitdiff
path: root/driver/charger/isl923x.c
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2018-09-14 16:02:37 -0600
committerchrome-bot <chrome-bot@chromium.org>2018-09-17 21:34:51 -0700
commitc7629caecec639e3cd6a6f01afbe8d131f23d762 (patch)
tree5a9e3b91a509c7dbce88af89e2a0f7dda143de4d /driver/charger/isl923x.c
parent5c8a24e6a09cda7efee03034174ed59a2bcac637 (diff)
downloadchrome-ec-c7629caecec639e3cd6a6f01afbe8d131f23d762.tar.gz
isl923x: initially disable autonomous charging
We do not use autonomous charging since it is automatically disabled when ever we set the current limits manually (which we always do). Allowing autonomous charging for the short period during initialization can cause current over protection events on devices with 2S batteries. BRANCH=none BUG=b:114318779 TEST=meep can boot without battery from daughter board USB-C port without boot looping Change-Id: Id50517d7e34bb5be171fe8b781b3ccf835db1f88 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1227411 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Reviewed-by: Justin TerAvest <teravest@chromium.org>
Diffstat (limited to 'driver/charger/isl923x.c')
-rw-r--r--driver/charger/isl923x.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/driver/charger/isl923x.c b/driver/charger/isl923x.c
index 6a4a248c25..89fd3ad1c2 100644
--- a/driver/charger/isl923x.c
+++ b/driver/charger/isl923x.c
@@ -365,6 +365,12 @@ static void isl923x_init(void)
goto init_fail;
reg |= ISL9238_C3_NO_RELOAD_ACLIM_ON_ACIN |
ISL9238_C3_NO_REREAD_PROG_PIN;
+ /*
+ * Disable autonomous charging initially since 1) it causes boot loop
+ * issues with 2S batteries, and 2) it will automatically get disabled
+ * as soon as we manually set the current limit anyway.
+ */
+ reg |= ISL9238_C3_DISABLE_AUTO_CHARING;
if (raw_write16(ISL9238_REG_CONTROL3, reg))
goto init_fail;