summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2018-04-25 19:25:01 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-04-26 13:01:47 -0700
commit664339e6f20ddedb4e3dc88715b586cc31616e85 (patch)
tree69652c664e87c9a18405a864b883ebfba9e83bdf /board
parentf3de6cf48de8be0fe1ba208ce182f1730dec420e (diff)
downloadchrome-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')
-rw-r--r--board/poppy/board.h1
-rw-r--r--board/poppy/gpio.inc2
-rw-r--r--board/poppy/usb_pd_policy.c9
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)