diff options
-rw-r--r-- | driver/charger/bq25710.c | 13 | ||||
-rw-r--r-- | driver/charger/bq25710.h | 4 |
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, ®)) { + 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 */ |