diff options
author | Wai-Hong Tam <waihong@google.com> | 2018-10-30 17:14:32 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-11-02 14:50:41 -0700 |
commit | 88a949d292d60e28c1bc548ef5cff402a18c9224 (patch) | |
tree | 1ed9a82f8f58649e2f3ca849e6bfc8924fa84bb1 /board/cheza | |
parent | 6e0525e592bd7406439904f4ce7caaaf865575b9 (diff) | |
download | chrome-ec-88a949d292d60e28c1bc548ef5cff402a18c9224.tar.gz |
cheza: Correct the PSYS ADC multiplier
The resistor on the PSYS output is actually 5.6K Ohm, instead of 12.4K
Ohm. Correct the ADC multiplier to reflect the impedance value.
The worst-case anaylsis:
ADC multipler: 2816 * 124000 * 2 / (1023 + 1) = 682000
max ADC register value: 1023 (10-bit)
upper bound: 1023 * 682000 < 2^30
BRANCH=none
BUG=b:118343126
TEST=Checked the "adc" console command.
Change-Id: I6c96c60f08c6f50b53fd69d3aa0ee8f86c069545
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1309049
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Diffstat (limited to 'board/cheza')
-rw-r--r-- | board/cheza/board.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/board/cheza/board.c b/board/cheza/board.c index 4bf71eab01..c8126790c0 100644 --- a/board/cheza/board.c +++ b/board/cheza/board.c @@ -164,15 +164,15 @@ const struct adc_t adc_channels[] = { 0 }, /* - * ISL9238 PSYS output is 1.44 uA/W over 12.4K resistor, to read - * 0.8V @ 45 W, i.e. 56250 uW/mV. Using ADC_MAX_VOLT*56250 and + * ISL9238 PSYS output is 1.44 uA/W over 5.6K resistor, to read + * 0.8V @ 99 W, i.e. 124000 uW/mV. Using ADC_MAX_VOLT*124000 and * ADC_READ_MAX+1 as multiplier/divider leads to overflows, so we * only divide by 2 (enough to avoid precision issues). */ [ADC_PSYS] = { "PSYS", NPCX_ADC_CH3, - ADC_MAX_VOLT * 56250 * 2 / (ADC_READ_MAX + 1), + ADC_MAX_VOLT * 124000 * 2 / (ADC_READ_MAX + 1), 2, 0 }, |