summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2020-04-03 16:11:58 -0700
committerCommit Bot <commit-bot@chromium.org>2020-04-15 02:11:15 +0000
commit2daf48c4146649729e6a369608a52168e0849764 (patch)
tree63b3a0144984e65888280c71d7bd0db181996040
parentbe61a53ffa746143eaf3817bff4bf66ae42babf6 (diff)
downloadchrome-ec-2daf48c4146649729e6a369608a52168e0849764.tar.gz
raa489000: Fix get_input_current()
The RAA489000 has an ADC register for retrieving the instantaneous input current. This commit fixes a bug where we were simply returning our input current limit instead of what the actual input current was. BUG=b:148980034 BRANCH=None TEST=Build and flash waddledoo, verify that the instantaneous input current is returned. Signed-off-by: Aseda Aboagye <aaboagye@google.com> Change-Id: I392ba8a4180fda5fb03e98a08f3c5bbfa51d6186 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135962 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
-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 {