summaryrefslogtreecommitdiff
path: root/baseboard/kukui/usb_pd_policy.c
diff options
context:
space:
mode:
Diffstat (limited to 'baseboard/kukui/usb_pd_policy.c')
-rw-r--r--baseboard/kukui/usb_pd_policy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/baseboard/kukui/usb_pd_policy.c b/baseboard/kukui/usb_pd_policy.c
index 238ec4b1bf..54f4db0836 100644
--- a/baseboard/kukui/usb_pd_policy.c
+++ b/baseboard/kukui/usb_pd_policy.c
@@ -317,8 +317,10 @@ static void svdm_dp_post_config(int port)
return;
gpio_set_level(GPIO_USB_C0_HPD_OD, 1);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 0);
gpio_set_level(GPIO_USB_C0_DP_POLARITY, board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
@@ -354,9 +356,11 @@ static int svdm_dp_attention(int port, uint32_t *payload)
usleep(HPD_DSTREAM_DEBOUNCE_IRQ);
gpio_set_level(GPIO_USB_C0_HPD_OD, 1);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 0);
gpio_set_level(GPIO_USB_C0_DP_POLARITY,
board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
@@ -365,9 +369,11 @@ static int svdm_dp_attention(int port, uint32_t *payload)
return 0; /* nak */
} else {
gpio_set_level(GPIO_USB_C0_HPD_OD, lvl);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, !lvl);
gpio_set_level(GPIO_USB_C0_DP_POLARITY,
board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
}
@@ -382,7 +388,9 @@ static void svdm_exit_dp_mode(int port)
svdm_safe_dp_mode(port);
gpio_set_level(GPIO_USB_C0_HPD_OD, 0);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 1);
+#endif
mux->hpd_update(port, 0, 0);
}