diff options
-rw-r--r-- | driver/charger/bq24715.c | 1 | ||||
-rw-r--r-- | driver/charger/bq24725.c | 11 | ||||
-rw-r--r-- | driver/charger/bq24735.c | 11 | ||||
-rw-r--r-- | driver/charger/bq24738.c | 1 | ||||
-rw-r--r-- | driver/charger/bq24773.c | 12 |
5 files changed, 35 insertions, 1 deletions
diff --git a/driver/charger/bq24715.c b/driver/charger/bq24715.c index e3a9b25797..4386c3a17d 100644 --- a/driver/charger/bq24715.c +++ b/driver/charger/bq24715.c @@ -182,6 +182,7 @@ int charger_post_init(void) /* Always monitor adapter current (40X multiplier). */ option |= OPT_FIX_IOUT_ALWAYS; option &= ~OPT_IOUT_MASK; + option &= ~OPT_LEARN_MASK; /* Enable dynamic power management */ option |= OPT_IDPM_ENABLE; diff --git a/driver/charger/bq24725.c b/driver/charger/bq24725.c index be6f223df2..794d4f9a02 100644 --- a/driver/charger/bq24725.c +++ b/driver/charger/bq24725.c @@ -161,6 +161,17 @@ int charger_post_init(void) * charging current = 0 mA */ + int rv, option; + + rv = charger_get_option(&option); + if (rv) + return rv; + + option &= ~OPTION_LEARN_ENABLE; + rv = charger_set_option(option); + if (rv) + return rv; + /* Set charger input current limit */ return charger_set_input_current(CONFIG_CHARGER_INPUT_CURRENT); } diff --git a/driver/charger/bq24735.c b/driver/charger/bq24735.c index 829bbd41a4..3c40d674f2 100644 --- a/driver/charger/bq24735.c +++ b/driver/charger/bq24735.c @@ -161,6 +161,17 @@ int charger_post_init(void) * charging current = 0 mA */ + int rv, option; + + rv = charger_get_option(&option); + if (rv) + return rv; + + option &= ~OPTION_LEARN_ENABLE; + rv = charger_set_option(option); + if (rv) + return rv; + /* Set charger input current limit */ return charger_set_input_current(CONFIG_CHARGER_INPUT_CURRENT); } diff --git a/driver/charger/bq24738.c b/driver/charger/bq24738.c index 7bd8e42a02..752b8b0457 100644 --- a/driver/charger/bq24738.c +++ b/driver/charger/bq24738.c @@ -161,6 +161,7 @@ int charger_post_init(void) if (rv) return rv; val &= ~OPTION_IFAULT_HI_ENABLE; + val &= ~OPTION_LEARN_ENABLE; rv = charger_set_option(val); if (rv) return rv; diff --git a/driver/charger/bq24773.c b/driver/charger/bq24773.c index 5ea62d7e4b..45faff9d23 100644 --- a/driver/charger/bq24773.c +++ b/driver/charger/bq24773.c @@ -169,11 +169,21 @@ int charger_set_voltage(int voltage) /* Charging power state initialization */ int charger_post_init(void) { + int rv, option; #ifdef CONFIG_CHARGER_ILIM_PIN_DISABLED - int rv; int option2; #endif + rv = charger_get_option(&option); + if (rv) + return rv; + + option &= ~OPTION0_LEARN_ENABLE; + + rv = charger_set_option(option); + if (rv) + return rv; + #ifdef CONFIG_CHARGER_ILIM_PIN_DISABLED /* Read the external ILIM pin enabled flag. */ rv = i2c_read16(I2C_PORT_CHARGER, BQ24773_ADDR, |