From bc49870ed16ecd9de4cc42601fcf34d0e40f8d44 Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Fri, 24 Jun 2016 12:42:30 -0700 Subject: bd99955: Enforce minimum input current of 512 mA Lower input current limits can cause back-boosting in some cases. BUG=chrome-os-partner:54778 BRANCH=None TEST=Manual on reef. Plug multiple chargers, verify ilim doesn't drop below 512 mA and back-boosting does not occur. Change-Id: Ia019fe52d75a9a37177605ceda473d338fd87fc3 Signed-off-by: Shawn Nematbakhsh Reviewed-on: https://chromium-review.googlesource.com/356161 Commit-Ready: Shawn N Tested-by: Shawn N Reviewed-by: Vijay P Hiremath Reviewed-by: David Hendricks --- driver/charger/bd99955.c | 4 ++++ driver/charger/bd99955.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/driver/charger/bd99955.c b/driver/charger/bd99955.c index 4ad95cc3eb..7e76e54be6 100644 --- a/driver/charger/bd99955.c +++ b/driver/charger/bd99955.c @@ -401,6 +401,10 @@ int charger_set_input_current(int input_current) /* Input current step 32 mA */ input_current &= ~0x1F; + + if (input_current < bd99955_charger_info.input_current_min) + input_current = bd99955_charger_info.input_current_min; + rv = ch_raw_write16(BD99955_CMD_IBUS_LIM_SET, input_current, BD99955_BAT_CHG_COMMAND); if (rv) diff --git a/driver/charger/bd99955.h b/driver/charger/bd99955.h index 86f438553c..f6ef29a2c6 100644 --- a/driver/charger/bd99955.h +++ b/driver/charger/bd99955.h @@ -36,7 +36,7 @@ enum bd99955_charge_port { #define CHARGE_I_OFF 0 #define CHARGE_I_STEP 64 #define INPUT_I_MAX 16352 -#define INPUT_I_MIN 0 +#define INPUT_I_MIN 512 #define INPUT_I_STEP 32 /* Battery Charger Commands */ -- cgit v1.2.1