summaryrefslogtreecommitdiff
path: root/common/usb_pd_protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usb_pd_protocol.c')
-rw-r--r--common/usb_pd_protocol.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index 84186ed754..75c38b1d08 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -2135,6 +2135,16 @@ void pd_task(void)
}
if (pd_is_vbus_present(port) &&
snk_hard_reset_vbus_off) {
+#ifdef CONFIG_USB_PD_TCPM_TCPCI
+ /*
+ * After transmitting hard reset, TCPM writes
+ * to RECEIVE_MESSAGE register to enable
+ * PD message passing.
+ */
+ if (pd_comm_enabled)
+ tcpm_set_rx_enable(port, 1);
+#endif /* CONFIG_USB_PD_TCPM_TCPCI */
+
/* VBUS went high again */
set_state(port, PD_STATE_SNK_DISCOVERY);
timeout = 10*MSEC;