diff options
-rw-r--r-- | board/flapjack/usb_pd_policy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/board/flapjack/usb_pd_policy.c b/board/flapjack/usb_pd_policy.c index 249237734b..02919e56b6 100644 --- a/board/flapjack/usb_pd_policy.c +++ b/board/flapjack/usb_pd_policy.c @@ -315,6 +315,11 @@ static int svdm_dp_attention(int port, uint32_t *payload) return 1; } + usb_mux_set(port, lvl ? TYPEC_MUX_DP : TYPEC_MUX_NONE, + USB_SWITCH_CONNECT, pd_get_polarity(port)); + + mux->hpd_update(port, lvl, irq); + if (irq & cur_lvl) { uint64_t now = get_time().val; /* wait for the minimum spacing between IRQ_HPD if needed */ @@ -342,7 +347,6 @@ static int svdm_dp_attention(int port, uint32_t *payload) hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL; } - mux->hpd_update(port, lvl, irq); /* ack */ return 1; } |