diff options
Diffstat (limited to 'board/poppy/board.c')
-rw-r--r-- | board/poppy/board.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/board/poppy/board.c b/board/poppy/board.c index c2cb27390d..bb548dafd5 100644 --- a/board/poppy/board.c +++ b/board/poppy/board.c @@ -345,10 +345,17 @@ BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) == /* called from anx74xx_set_power_mode() */ void board_set_tcpc_power_mode(int port, int mode) { - if (port == 0) { - gpio_set_level(GPIO_USB_C0_PD_RST_L, mode); - msleep(mode ? 10 : 1); - gpio_set_level(GPIO_USB_C0_TCPC_PWR, mode); + if (port != 0) + return; + + if (mode) { + gpio_set_level(GPIO_USB_C0_TCPC_PWR, 1); + msleep(10); + gpio_set_level(GPIO_USB_C0_PD_RST_L, 1); + } else { + gpio_set_level(GPIO_USB_C0_PD_RST_L, 0); + msleep(1); + gpio_set_level(GPIO_USB_C0_TCPC_PWR, 0); } } |