summaryrefslogtreecommitdiff
path: root/board/nautilus/usb_pd_policy.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/nautilus/usb_pd_policy.c')
-rw-r--r--board/nautilus/usb_pd_policy.c9
1 files changed, 8 insertions, 1 deletions
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)