summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/charger/bq25710.c13
-rw-r--r--driver/charger/bq25710.h4
2 files changed, 16 insertions, 1 deletions
diff --git a/driver/charger/bq25710.c b/driver/charger/bq25710.c
index bbb05032bc..c9724b7d4c 100644
--- a/driver/charger/bq25710.c
+++ b/driver/charger/bq25710.c
@@ -142,8 +142,19 @@ static int bq25710_adc_start(int adc_en_mask)
}
#endif
-/* Charger interfaces */
+/* Disbale VDPM prochot profile at initialization */
+static void bq25710_disable_prochot_vdpm(void)
+{
+ int reg;
+ if (!raw_read16(BQ25710_REG_PROCHOT_OPTION_1, &reg)) {
+ raw_write16(BQ25710_REG_PROCHOT_OPTION_1,
+ (reg & ~BQ25710_PROCHOT_PROFILE_VDPM));
+ }
+}
+DECLARE_HOOK(HOOK_INIT, bq25710_disable_prochot_vdpm, HOOK_PRIO_INIT_I2C + 1);
+
+/* Charger interfaces */
const struct charger_info *charger_get_info(void)
{
return &bq25710_charger_info;
diff --git a/driver/charger/bq25710.h b/driver/charger/bq25710.h
index faccfdec0d..086bf13edb 100644
--- a/driver/charger/bq25710.h
+++ b/driver/charger/bq25710.h
@@ -30,6 +30,7 @@
#define BQ25710_REG_ADC_IBAT 0x24
#define BQ25710_REG_ADC_CMPIN_IIN 0x25
#define BQ25710_REG_ADC_VSYS_VBAT 0x2C
+#define BQ25710_REG_PROCHOT_OPTION_1 0x34
#define BQ25710_REG_OTG_VOLTAGE 0x3B
#define BQ25710_REG_OTG_CURRENT 0x3C
#define BQ25710_REG_INPUT_VOLTAGE 0x3D
@@ -71,4 +72,7 @@
#define BQ25710_ADC_IIN_STEP_MA 50
#define BQ25710_ADC_IIN_STEP_BIT_OFFSET 8
+/* ProchotOption1 Register */
+#define BQ25710_PROCHOT_PROFILE_VDPM (1 << 7)
+
#endif /* __CROS_EC_BQ25710_H */