diff options
-rw-r--r-- | board/samus_pd/board.c | 6 | ||||
-rw-r--r-- | common/usb_pd_protocol.c | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/board/samus_pd/board.c b/board/samus_pd/board.c index 561563a6e5..9105c9322e 100644 --- a/board/samus_pd/board.c +++ b/board/samus_pd/board.c @@ -18,7 +18,8 @@ void vbus_evt(enum gpio_signal signal) { - ccprintf("VBUS %d!\n", signal); + ccprintf("VBUS %d, %d!\n", signal, gpio_get_level(signal)); + task_wake(TASK_ID_PD); } void bc12_evt(enum gpio_signal signal) @@ -176,6 +177,9 @@ static void board_init(void) * to specify device mode. */ gpio_set_level(GPIO_USB_C_CC_EN, 1); + + /* Enable interrupts on VBUS transitions. */ + gpio_enable_interrupt(GPIO_USB_C0_VBUS_WAKE); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 48e2763712..55a5c97334 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -784,6 +784,7 @@ void pd_task(void) pd_task_state = PD_STATE_SNK_DISCONNECTED; /* set timeout small to reconnect fast */ timeout = 5*MSEC; + break; } /* check vital parameters from time to time */ |