diff options
author | Furquan Shaikh <furquan@google.com> | 2018-04-25 19:25:01 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-04-26 13:01:47 -0700 |
commit | 664339e6f20ddedb4e3dc88715b586cc31616e85 (patch) | |
tree | 69652c664e87c9a18405a864b883ebfba9e83bdf /board/poppy | |
parent | f3de6cf48de8be0fe1ba208ce182f1730dec420e (diff) | |
download | chrome-ec-664339e6f20ddedb4e3dc88715b586cc31616e85.tar.gz |
poppy: Enable usb device mode
BUG=b:78577893
BRANCH=poppy
TEST=Verified following:
1. ectool usbpd 0 dr_swap
2. ectool usbpd 0
--> Role: SNK UFP
Change-Id: Ie1130eba3da4352e2a3e09eaad20886a1bea81a3
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1029539
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@google.com>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board/poppy')
-rw-r--r-- | board/poppy/board.h | 1 | ||||
-rw-r--r-- | board/poppy/gpio.inc | 2 | ||||
-rw-r--r-- | board/poppy/usb_pd_policy.c | 9 |
3 files changed, 9 insertions, 3 deletions
diff --git a/board/poppy/board.h b/board/poppy/board.h index 033e6388e4..1c53018bd4 100644 --- a/board/poppy/board.h +++ b/board/poppy/board.h @@ -161,7 +161,6 @@ #define CONFIG_USB_PD_TRY_SRC #define CONFIG_USB_POWER_DELIVERY #define CONFIG_USBC_SS_MUX -#define CONFIG_USBC_SS_MUX_DFP_ONLY #define CONFIG_USBC_VCONN #define CONFIG_USBC_VCONN_SWAP diff --git a/board/poppy/gpio.inc b/board/poppy/gpio.inc index dab91d4741..f771ef9161 100644 --- a/board/poppy/gpio.inc +++ b/board/poppy/gpio.inc @@ -147,7 +147,7 @@ GPIO(USB_C1_PD_RST_L, PIN(7, 4), GPIO_ODR_HIGH) /* C1 PD Reset */ GPIO(USB_C0_DP_HPD, PIN(9, 4), GPIO_INPUT) /* C0 DP Hotplug Detect */ GPIO(USB_C1_DP_HPD, PIN(A, 5), GPIO_INPUT) /* C1 DP Hotplug Detect */ GPIO(USB_C0_TCPC_PWR, PIN(8, 4), GPIO_OUT_LOW) /* Enable C0 TCPC Power */ -GPIO(USB2_OTG_ID, PIN(A, 1), GPIO_ODR_LOW) /* OTG ID */ +GPIO(USB2_OTG_ID, PIN(A, 1), GPIO_OUT_LOW) /* OTG ID */ GPIO(USB2_OTG_VBUSSENSE, PIN(9, 5), GPIO_OUT_LOW) /* OTG VBUS Sense */ /* LEDs (2 colors on each port) */ diff --git a/board/poppy/usb_pd_policy.c b/board/poppy/usb_pd_policy.c index bb1920c6db..c351febb85 100644 --- a/board/poppy/usb_pd_policy.c +++ b/board/poppy/usb_pd_policy.c @@ -190,7 +190,14 @@ int pd_check_vconn_swap(int port) void pd_execute_data_swap(int port, int data_role) { - /* Do nothing */ + /* Only port 0 supports device mode. */ + if (port != 0) + return; + + gpio_set_level(GPIO_USB2_OTG_ID, + (data_role == PD_ROLE_UFP) ? 1 : 0); + gpio_set_level(GPIO_USB2_OTG_VBUSSENSE, + (data_role == PD_ROLE_UFP) ? 1 : 0); } void pd_check_pr_role(int port, int pr_role, int flags) |