From b032f73b24a0d3501a1202aa7b060e0bb0747162 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Thu, 26 Apr 2018 18:32:46 -0700 Subject: nautilus: Enable usb device mode BUG=b:78649985 BRANCH=poppy TEST=Verified following: 1. ectool usbpd 0 dr_swap 2. ectool usbpd 0 --> Role: SNK UFP Change-Id: I10addb4936eab169655c1d11f115740da139a14e Signed-off-by: Furquan Shaikh Reviewed-on: https://chromium-review.googlesource.com/1031109 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Duncan Laurie (cherry picked from commit a26cdd08128a33a7cd39ce59d89e6e79d88e4260) Reviewed-on: https://chromium-review.googlesource.com/1087520 Reviewed-by: Furquan Shaikh Commit-Queue: Furquan Shaikh Trybot-Ready: Furquan Shaikh --- board/nautilus/usb_pd_policy.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/board/nautilus/usb_pd_policy.c b/board/nautilus/usb_pd_policy.c index 749eaff051..f30882f475 100644 --- a/board/nautilus/usb_pd_policy.c +++ b/board/nautilus/usb_pd_policy.c @@ -189,7 +189,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) -- cgit v1.2.1