diff options
Diffstat (limited to 'board/tigertail')
-rw-r--r-- | board/tigertail/board.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/board/tigertail/board.c b/board/tigertail/board.c index 7db4618fcd..058e15c4a8 100644 --- a/board/tigertail/board.c +++ b/board/tigertail/board.c @@ -310,10 +310,16 @@ void set_mux_state(int state) gpio_set_level(GPIO_SEL_RELAY_A, 0); gpio_set_level(GPIO_SEL_RELAY_B, 0); - /* Reconnect in the requested direction. */ + /* Let USB disconnect. */ + msleep(100); + + /* Reconnect VBUS/CC in the requested direction. */ gpio_set_level(GPIO_SEL_RELAY_A, !dir && enabled); gpio_set_level(GPIO_SEL_RELAY_B, dir && enabled); + /* Reconnect data. */ + msleep(10); + gpio_set_level(GPIO_USB_C_SEL_B, dir); gpio_set_level(GPIO_USB_C_OE_N, !enabled); |