summaryrefslogtreecommitdiff
path: root/driver/charger/bq25710.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/charger/bq25710.c')
-rw-r--r--driver/charger/bq25710.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/driver/charger/bq25710.c b/driver/charger/bq25710.c
index 9034fe6fad..fafcac3f1b 100644
--- a/driver/charger/bq25710.c
+++ b/driver/charger/bq25710.c
@@ -177,28 +177,23 @@ static int bq25710_set_psys_sensing(int chgnum, bool enable)
{
int rv;
int reg;
- int mask, on, off;
rv = raw_read16(chgnum, BQ25710_REG_CHARGE_OPTION_1, &reg);
if (rv)
return rv;
if (IS_ENABLED(CONFIG_CHARGER_BQ25720)) {
- mask = BQ_FIELD_MASK(BQ25720, CHARGE_OPTION_1, PSYS_CONFIG);
- on = SET_BQ_FIELD(BQ25720, CHARGE_OPTION_1, PSYS_CONFIG, 0, 0);
- off = SET_BQ_FIELD(BQ25720, CHARGE_OPTION_1, PSYS_CONFIG, 3, 0);
+ if (enable)
+ reg = SET_BQ_FIELD_BY_NAME(BQ25720, CHARGE_OPTION_1,
+ PSYS_CONFIG, PBUS_PBAT, reg);
+ else
+ reg = SET_BQ_FIELD_BY_NAME(BQ25720, CHARGE_OPTION_1,
+ PSYS_CONFIG, OFF, reg);
} else if (IS_ENABLED(CONFIG_CHARGER_BQ25710)) {
- mask = BQ_FIELD_MASK(BQ25710, CHARGE_OPTION_1, EN_PSYS);
- on = SET_BQ_FIELD(BQ25710, CHARGE_OPTION_1, EN_PSYS, 1, 0);
- off = SET_BQ_FIELD(BQ25710, CHARGE_OPTION_1, EN_PSYS, 0, 0);
+ reg = SET_BQ_FIELD(BQ25710, CHARGE_OPTION_1, EN_PSYS, enable,
+ reg);
}
- reg &= ~mask;
- if (enable)
- reg |= on;
- else
- reg |= off;
-
rv = raw_write16(chgnum, BQ25710_REG_CHARGE_OPTION_1, reg);
if (rv)
return rv;