summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/charger/bq24715.c1
-rw-r--r--driver/charger/bq24725.c11
-rw-r--r--driver/charger/bq24735.c11
-rw-r--r--driver/charger/bq24738.c1
-rw-r--r--driver/charger/bq24773.c12
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,