diff options
author | Jett Rink <jettrink@chromium.org> | 2018-03-08 15:02:17 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-03-09 20:05:13 -0800 |
commit | ef4e70174ac2797f0c02753685b35d038a317a6a (patch) | |
tree | 9edd3ebb8ae1da806a874835c11e13a119b31de1 /common/charge_manager.c | |
parent | b593d1c05b150fdad68c474ef0e521d5d9c3acea (diff) | |
download | chrome-ec-ef4e70174ac2797f0c02753685b35d038a317a6a.tar.gz |
usbc: add config support for multiple (and no) vbus adc channels
yorp measures each port's vbus separately on a deticated ADC.
Also, add config to take care of ADV_VBUS -1 case too.
BRANCH=none
BUG=b:74127309
TEST=none
Change-Id: I6f4df96caffc3b527b69e67358631dd448172cde
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/956555
Reviewed-by: Edward Hill <ecgh@chromium.org>
Diffstat (limited to 'common/charge_manager.c')
-rw-r--r-- | common/charge_manager.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c index 2a97e66235..b5fdfa7af9 100644 --- a/common/charge_manager.c +++ b/common/charge_manager.c @@ -370,15 +370,17 @@ static void charge_manager_fill_power_info(int port, if (r->role == USB_PD_PORT_POWER_SINK_NOT_CHARGING) r->meas.voltage_now = 5000; else { -#ifdef CONFIG_USB_PD_VBUS_MEASURE_CHARGER +#if defined(CONFIG_USB_PD_VBUS_MEASURE_CHARGER) r->meas.voltage_now = charger_get_vbus_voltage(port); +#elif defined(CONFIG_USB_PD_VBUS_MEASURE_ADC_EACH_PORT) + r->meas.voltage_now = + adc_read_channel(board_get_vbus_adc(port)); +#elif defined(CONFIG_USB_PD_VBUS_MEASURE_NOT_PRESENT) + /* No VBUS ADC channel - voltage is unknown */ + r->meas.voltage_now = 0; #else - if (ADC_VBUS >= 0) - r->meas.voltage_now = - adc_read_channel(ADC_VBUS); - else - /* No VBUS ADC channel - voltage is unknown */ - r->meas.voltage_now = 0; + /* There is a single ADC that measures joint Vbus */ + r->meas.voltage_now = adc_read_channel(ADC_VBUS); #endif } } |