summaryrefslogtreecommitdiff
path: root/board/oak
diff options
context:
space:
mode:
authorBen Lok <ben.lok@mediatek.com>2015-11-24 20:29:34 +0800
committerchrome-bot <chrome-bot@chromium.org>2015-11-25 20:08:07 -0800
commitcefe19e08fa065c1bfb240aec82403f55da85116 (patch)
tree296ea8e52c8323752d47cecc11b74266551b2d35 /board/oak
parente24ac972e21d60a65d15e957605e8b78bd25e039 (diff)
downloadchrome-ec-cefe19e08fa065c1bfb240aec82403f55da85116.tar.gz
oak: add VCONN swap ability
refer to commit 776bedc3, enable VCONN swap option for oak. BUG=chrome-os-partner:41838 BRANCH=none TEST=test on oak. ask for vconn swap and make sure vconn swap is successful. Change-Id: I2afa68e073d088302c2c6ba2315a6c9f4551ef87 Signed-off-by: Ben Lok <ben.lok@mediatek.com> Reviewed-on: https://chromium-review.googlesource.com/313913 Reviewed-by: Alec Berg <alecaberg@chromium.org>
Diffstat (limited to 'board/oak')
-rw-r--r--board/oak/board.h4
-rw-r--r--board/oak/usb_pd_policy.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/board/oak/board.h b/board/oak/board.h
index 8e8f68d983..4e74091721 100644
--- a/board/oak/board.h
+++ b/board/oak/board.h
@@ -69,6 +69,7 @@
#define CONFIG_USBC_SS_MUX
#define CONFIG_USBC_SS_MUX_DFP_ONLY
#define CONFIG_USBC_VCONN
+#define CONFIG_USBC_VCONN_SWAP
#define CONFIG_USB_POWER_DELIVERY
#define CONFIG_USB_PD_ALT_MODE
#define CONFIG_USB_PD_ALT_MODE_DFP
@@ -191,6 +192,9 @@ enum temp_sensor_id {
#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */
+/* delay to turn on/off vconn */
+#define PD_VCONN_SWAP_DELAY 5000 /* us */
+
/* Define typical operating power and max power */
#define PD_OPERATING_POWER_MW 15000
#define PD_MAX_POWER_MW 60000
diff --git a/board/oak/usb_pd_policy.c b/board/oak/usb_pd_policy.c
index 23f661d07b..33009e763e 100644
--- a/board/oak/usb_pd_policy.c
+++ b/board/oak/usb_pd_policy.c
@@ -118,6 +118,12 @@ int pd_check_data_swap(int port, int data_role)
return (data_role == PD_ROLE_UFP) ? 1 : 0;
}
+int pd_check_vconn_swap(int port)
+{
+ /* in G3, do not allow vconn swap since 5V power source is off */
+ return gpio_get_level(GPIO_5V_POWER_GOOD);
+}
+
void pd_execute_data_swap(int port, int data_role)
{
}