diff options
author | Sam Hurst <shurst@google.com> | 2020-05-26 10:34:02 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-01 01:36:57 +0000 |
commit | 5e62b34f19a0d8a93d82990e7327491ca4ee6a1d (patch) | |
tree | d91cce13f8edc3546fa90575309c2a15d537fb72 /board/servo_v4p1/ina231s.c | |
parent | a057167851e63be53e2de757361dc2e303b737e2 (diff) | |
download | chrome-ec-5e62b34f19a0d8a93d82990e7327491ca4ee6a1d.tar.gz |
servo_v4p1: Add INA231S functionality
This functionality is only available in RO
BRANCH=none
BUG=b:146793000
TEST=make -j buildall
Signed-off-by: Sam Hurst <shurst@google.com>
Change-Id: I37f97e8e882a8a5948aeeb669ca39cc930e32d31
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2216406
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Diffstat (limited to 'board/servo_v4p1/ina231s.c')
-rw-r--r-- | board/servo_v4p1/ina231s.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/board/servo_v4p1/ina231s.c b/board/servo_v4p1/ina231s.c new file mode 100644 index 0000000000..3382686f3f --- /dev/null +++ b/board/servo_v4p1/ina231s.c @@ -0,0 +1,69 @@ +/* Copyright 2020 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "common.h" +#include "ina2xx.h" +#include "util.h" + +#define PP_DUT_IDX 0 +#define PP_CHG_IDX 1 +#define SR_CHG_IDX 2 + +void init_ina231s(void) +{ + /* Calibrate INA0 (PP DUT) with 1mA/LSB scale */ + ina2xx_init(PP_DUT_IDX, 0x8000, INA2XX_CALIB_1MA(5 /*mOhm*/)); + + /* Calibrate INA1 (PP CHG) with 1mA/LSB scale */ + ina2xx_init(PP_CHG_IDX, 0x8000, INA2XX_CALIB_1MA(5 /*mOhm*/)); + + /* Calibrate INA2 (SR CHG) with 1mA/LSB scale*/ + ina2xx_init(SR_CHG_IDX, 0x8000, INA2XX_CALIB_1MA(5 /*mOhm*/)); +} + +int pp_dut_voltage(void) +{ + return ina2xx_get_voltage(PP_DUT_IDX); +} + +int pp_dut_current(void) +{ + return ina2xx_get_current(PP_DUT_IDX); +} + +int pp_dut_power(void) +{ + return ina2xx_get_power(PP_DUT_IDX); +} + +int pp_chg_voltage(void) +{ + return ina2xx_get_voltage(PP_CHG_IDX); +} + +int pp_chg_current(void) +{ + return ina2xx_get_current(PP_CHG_IDX); +} + +int pp_chg_power(void) +{ + return ina2xx_get_power(PP_CHG_IDX); +} + +int sr_chg_voltage(void) +{ + return ina2xx_get_voltage(SR_CHG_IDX); +} + +int sr_chg_current(void) +{ + return ina2xx_get_current(SR_CHG_IDX); +} + +int sr_chg_power(void) +{ + return ina2xx_get_power(SR_CHG_IDX); +} |