diff options
author | elthanhuang <elthan_huang@compal.corp-partner.google.com> | 2018-08-16 20:15:46 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-08-17 11:17:49 -0700 |
commit | 06da274d74afc02e4d65cb9e843aa809ffea9931 (patch) | |
tree | e3d1250da4a673e6a22a1df058548127bfb472fe /board/fleex | |
parent | 986a7f2288ff8fee458013d4b96fe0323d9e2d90 (diff) | |
download | chrome-ec-06da274d74afc02e4d65cb9e843aa809ffea9931.tar.gz |
Fleex: Enable adc vbus sensing
Enable adc vbus sensing
ADC CH9 read real USB_PD_PORT_ANX7447 input voltage
ADC CH4 read real USB_PD_PORT_PS8751 input voltage
BUG=b:112576391
BRANCH=none
TEST=Excute "ectool usbpdpower" to check
SNK Charger PD voltage.
Change-Id: Ia7ef58905219e0392e4ca4fba4694c144741b0a8
Signed-off-by: elthanhuang <elthan_huang@compal.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1177528
Commit-Ready: Elthan Huang <elthan_huang@compal.corp-partner.google.com>
Tested-by: Elthan Huang <elthan_huang@compal.corp-partner.google.com>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'board/fleex')
-rw-r--r-- | board/fleex/board.c | 14 | ||||
-rw-r--r-- | board/fleex/board.h | 6 |
2 files changed, 20 insertions, 0 deletions
diff --git a/board/fleex/board.c b/board/fleex/board.c index ab770aa8ad..9a794c518a 100644 --- a/board/fleex/board.c +++ b/board/fleex/board.c @@ -45,6 +45,9 @@ #define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args) #define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ## args) +#define USB_PD_PORT_ANX7447 0 +#define USB_PD_PORT_PS8751 1 + static void tcpc_alert_event(enum gpio_signal signal) { if ((signal == GPIO_USB_C1_MUX_INT_ODL) && @@ -82,9 +85,20 @@ const struct adc_t adc_channels[] = { "TEMP_AMB", NPCX_ADC_CH0, ADC_MAX_VOLT, ADC_READ_MAX+1, 0}, [ADC_TEMP_SENSOR_CHARGER] = { "TEMP_CHARGER", NPCX_ADC_CH1, ADC_MAX_VOLT, ADC_READ_MAX+1, 0}, + [ADC_VBUS_C0] = {"VBUS_C0", NPCX_ADC_CH9, ADC_MAX_VOLT*10, ADC_READ_MAX+1, 0}, + [ADC_VBUS_C1] = {"VBUS_C1", NPCX_ADC_CH4, ADC_MAX_VOLT*10, ADC_READ_MAX+1, 0}, }; BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); +enum adc_channel board_get_vbus_adc(int port) +{ + if (port == USB_PD_PORT_ANX7447) + return ADC_VBUS_C0; + if (port == USB_PD_PORT_PS8751) + return ADC_VBUS_C1; + return ADC_VBUS_C0; +} + const struct temp_sensor_t temp_sensors[] = { [TEMP_SENSOR_BATTERY] = {.name = "Battery", .type = TEMP_SENSOR_TYPE_BATTERY, diff --git a/board/fleex/board.h b/board/fleex/board.h index 40a620296e..1d3dee6fd5 100644 --- a/board/fleex/board.h +++ b/board/fleex/board.h @@ -28,6 +28,10 @@ /* Sensors without hardware FIFO are in forced mode */ #define CONFIG_ACCEL_FORCE_MODE_MASK (1 << LID_ACCEL) +/* USB PD */ +#define CONFIG_USB_PD_VBUS_MEASURE_ADC_EACH_PORT +#undef CONFIG_USB_PD_VBUS_MEASURE_NOT_PRESENT + /* Volume button */ #define CONFIG_VOLUME_BUTTONS #define GPIO_VOLUME_UP_L GPIO_EC_VOLUP_BTN_ODL @@ -65,6 +69,8 @@ enum adc_channel { ADC_TEMP_SENSOR_AMB, /* ADC0 */ ADC_TEMP_SENSOR_CHARGER, /* ADC1 */ + ADC_VBUS_C1, /* ADC4 */ + ADC_VBUS_C0, /* ADC9 */ ADC_CH_COUNT }; |