summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/charger/isl923x.c15
-rw-r--r--driver/charger/isl923x.h2
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, &reg);
+ if (IS_ENABLED(CONFIG_CHARGER_RAA489000))
+ reg = RAA489000_REG_ADC_INPUT_CURRENT;
+ else
+ reg = ISL923X_REG_ADAPTER_CURRENT1;
+
+ rv = raw_read16(chgnum, reg, &regval);
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 {