summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelthanhuang <elthan_huang@compal.corp-partner.google.com>2018-08-16 20:15:46 +0800
committerchrome-bot <chrome-bot@chromium.org>2018-08-17 11:17:49 -0700
commit06da274d74afc02e4d65cb9e843aa809ffea9931 (patch)
treee3d1250da4a673e6a22a1df058548127bfb472fe
parent986a7f2288ff8fee458013d4b96fe0323d9e2d90 (diff)
downloadchrome-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>
-rw-r--r--board/fleex/board.c14
-rw-r--r--board/fleex/board.h6
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
};