summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Yilun Lin <yllin@chromium.org>2022-07-28 14:07:36 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-07-29 06:24:04 +0000
commit7e4677a8cd50e29b0f2a965802765dc26adc3289 (patch)
treecd49047849ffc0d9838be72ccc1308d4fe38184b
parentbb4f797a23863aaed5c2a0322e3c9c831c99b923 (diff)
downloadchrome-ec-7e4677a8cd50e29b0f2a965802765dc26adc3289.tar.gz
rt9490: fix IBUS ADC
REG_IBUS_ADC reports 16-bit signed integer with 1mA LSB. BUG=b:240370407 TEST=input current report correct value BRANCH=none Change-Id: I7e15159366190eba3e8d3c8f55effc003487fd2b Signed-off-by: Eric Yilun Lin <yllin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3789205 Commit-Queue: Eric Yilun Lin <yllin@google.com> Tested-by: Eric Yilun Lin <yllin@google.com> Reviewed-by: Sung-Chi Li <lschyi@chromium.org>
-rw-r--r--driver/charger/rt9490.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/driver/charger/rt9490.c b/driver/charger/rt9490.c
index 2d3ce2ed19..d3210341e6 100644
--- a/driver/charger/rt9490.c
+++ b/driver/charger/rt9490.c
@@ -463,10 +463,11 @@ static enum ec_error_list rt9490_get_input_current_limit(int chgnum,
static enum ec_error_list rt9490_get_input_current(int chgnum,
int *input_current)
{
- uint16_t reg_val;
+ int16_t reg_val;
- RETURN_ERROR(rt9490_read16(chgnum, RT9490_REG_IBUS_ADC, &reg_val));
- *input_current = (int)reg_val * 1000;
+ RETURN_ERROR(rt9490_read16(chgnum, RT9490_REG_IBUS_ADC,
+ (uint16_t *)&reg_val));
+ *input_current = reg_val;
return EC_SUCCESS;
}