From 675bdc2e2c58cd36161dcec98a5240eb22b43fda Mon Sep 17 00:00:00 2001 From: Philip Chen Date: Sun, 26 Nov 2017 00:11:49 -0800 Subject: [PATCH] Separate VBUS detection and measurement mechanisms For now we guard charger-based VBUS voltage measurement behind CONFIG_USB_PD_VBUS_DETECT_CHARGER. But we should be able to measure VBUS voltage by charger while detecting VBUS presence by other methods. BUG=b:67991345 BRANCH=none TEST=plug in guppy on Scarlet rev2, 'ectool usbpdpower' on console, and see VBUS is measured as 4975mV Change-Id: I94cada81159ea4b097001997e2444873ec2d8763 Signed-off-by: Philip Chen Reviewed-on: https://chromium-review.googlesource.com/789910 Commit-Ready: Philip Chen Tested-by: Philip Chen Reviewed-by: Aseda Aboagye --- common/charge_manager.c | 2 +- include/config.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/common/charge_manager.c b/common/charge_manager.c index 4a6808b50f..dbf97f000b 100644 --- a/common/charge_manager.c +++ b/common/charge_manager.c @@ -370,7 +370,7 @@ 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_DETECT_CHARGER +#ifdef CONFIG_USB_PD_VBUS_MEASURE_CHARGER r->meas.voltage_now = charger_get_vbus_voltage(port); #else if (ADC_VBUS >= 0) diff --git a/include/config.h b/include/config.h index 45e144484d..4d3f401070 100644 --- a/include/config.h +++ b/include/config.h @@ -3094,6 +3094,17 @@ #define CONFIG_BATTERY #endif +/*****************************************************************************/ +/* + * Define CONFIG_USB_PD_VBUS_MEASURE_CHARGER if the charger on the board + * supports VBUS measurement. + */ +#if defined(CONFIG_CHARGER_BD9995X) || \ + defined(CONFIG_CHARGER_RT9466) || \ + defined(CONFIG_CHARGER_RT9467) +#define CONFIG_USB_PD_VBUS_MEASURE_CHARGER +#endif + /*****************************************************************************/ /* * Handle task-dependent configs.