diff options
author | Sue Chen <sue.chen@quanta.corp-partner.google.com> | 2021-08-10 15:32:17 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-27 15:06:11 +0000 |
commit | 8b25b53ed917fa93bd496e5839fc1c69d9ef4728 (patch) | |
tree | 7d4123c81f7472b6f42dcc65823fa45e00f37698 /common | |
parent | 3dfe1dc79a2d76630b8e9a8624a81ec5ca5d7986 (diff) | |
download | chrome-ec-8b25b53ed917fa93bd496e5839fc1c69d9ef4728.tar.gz |
charge_manager: board specific callback to get vbus voltage
Add board_get_vbus_voltage to get vbus voltage by board, for
ADC_VBUS maybe is only for one typec port when the DUT supports
multiple typec.
BUG=b:196001868
BRANCH=none
TEST=show correct C1 vbus voltage on tomato
Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com>
Change-Id: Ia567ec3bddf4f62a08c9902b4f0721783f2c07ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3084403
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/charge_manager.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c index a20ab33068..28fe109f1d 100644 --- a/common/charge_manager.c +++ b/common/charge_manager.c @@ -350,6 +350,11 @@ static enum usb_power_roles get_current_power_role(int port, return role; } +__overridable int board_get_vbus_voltage(int port) +{ + return 0; +} + static int get_vbus_voltage(int port, enum usb_power_roles current_role) { int voltage_mv; @@ -375,6 +380,8 @@ static int get_vbus_voltage(int port, enum usb_power_roles current_role) #elif defined(CONFIG_USB_PD_VBUS_MEASURE_NOT_PRESENT) /* No VBUS ADC channel - voltage is unknown */ voltage_mv = 0; +#elif defined(CONFIG_USB_PD_VBUS_MEASURE_BY_BOARD) + voltage_mv = board_get_vbus_voltage(port); #else /* There is a single ADC that measures joint Vbus */ voltage_mv = adc_read_channel(ADC_VBUS); |