From 36f8a8339d6f7f3acf314e1015aafbf143edea2d Mon Sep 17 00:00:00 2001 From: Virendra Kakade Date: Thu, 22 Aug 2019 17:07:10 -0500 Subject: driver: fix ina219 shunt voltage calculation Currently shunt voltage register value is multiplied by 2 instead of 10 resulting in a shunt voltage value which is 5 times less. Fix this by using the correct multiplier (10) value. example: Refer http://www.ti.com/lit/ds/symlink/ina219.pdf table 7 for shunt voltage register format. Notice that 40.00 mV (40,000uV) <=> 4000 reg value giving us the *10 multiplication factor. BRANCH=none BUG=none TEST=make -j4 buildall TEST=verified that the shunt voltage reported by "ina" console command looks correct on my hardware. Signed-off-by: Virendra Kakade Change-Id: I76a21ae3b56336236826785ae6addc1982cc4885 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2094742 Reviewed-by: Nicolas Boichat Tested-by: Nicolas Boichat Commit-Queue: Nicolas Boichat --- driver/ina2xx.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'driver/ina2xx.h') diff --git a/driver/ina2xx.h b/driver/ina2xx.h index 792cbe96a6..69d602abba 100644 --- a/driver/ina2xx.h +++ b/driver/ina2xx.h @@ -82,8 +82,8 @@ enum ina2xx_conv_time { #define INA2XX_CALIB_1MA(rsense_mohm) (40960/(rsense_mohm)) /* Bus voltage: mV per LSB */ #define INA2XX_BUS_MV(reg) ((reg) / 2) -/* Shunt voltage: uV per LSB */ -#define INA2XX_SHUNT_UV(reg) ((reg) * 2) +/* Shunt voltage: uV */ +#define INA2XX_SHUNT_UV(reg) ((reg) * 10) /* Power LSB: mW per current LSB */ #define INA2XX_POW_MW(reg) ((reg) * 20 * 1/*Current mA/LSB*/) -- cgit v1.2.1