diff options
-rw-r--r-- | driver/charger/isl923x.c | 15 | ||||
-rw-r--r-- | driver/charger/isl923x.h | 2 |
2 files changed, 15 insertions, 2 deletions
diff --git a/driver/charger/isl923x.c b/driver/charger/isl923x.c index 15475f9616..82bf972f89 100644 --- a/driver/charger/isl923x.c +++ b/driver/charger/isl923x.c @@ -110,13 +110,24 @@ static enum ec_error_list isl923x_get_input_current(int chgnum, int *input_current) { int rv; + int regval; int reg; - rv = raw_read16(chgnum, ISL923X_REG_ADAPTER_CURRENT1, ®); + if (IS_ENABLED(CONFIG_CHARGER_RAA489000)) + reg = RAA489000_REG_ADC_INPUT_CURRENT; + else + reg = ISL923X_REG_ADAPTER_CURRENT1; + + rv = raw_read16(chgnum, reg, ®val); if (rv) return rv; - *input_current = AC_REG_TO_CURRENT(reg); + if (IS_ENABLED(CONFIG_CHARGER_RAA489000)) { + /* LSB is 22.2mA */ + regval *= 22; + } + + *input_current = AC_REG_TO_CURRENT(regval); return EC_SUCCESS; } diff --git a/driver/charger/isl923x.h b/driver/charger/isl923x.h index ff57dba1e8..3ff0de9d69 100644 --- a/driver/charger/isl923x.h +++ b/driver/charger/isl923x.h @@ -264,6 +264,8 @@ #define ISL9237_INFO_PSTATE_MASK 3 /* ADC registers */ +#define RAA489000_REG_ADC_INPUT_CURRENT 0x83 +#define RAA489000_REG_ADC_VSYS 0x86 #define RAA489000_REG_ADC_VBUS 0x88 enum isl9237_power_stage { |