diff options
Diffstat (limited to 'board/reef_mchp')
-rw-r--r-- | board/reef_mchp/board.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/board/reef_mchp/board.c b/board/reef_mchp/board.c index 733c345359..c0fb36d5d8 100644 --- a/board/reef_mchp/board.c +++ b/board/reef_mchp/board.c @@ -100,18 +100,20 @@ void board_config_pre_init(void) */ static void tcpc_alert_event(enum gpio_signal signal) { - if ((signal == GPIO_USB_C0_PD_INT_ODL) && - !gpio_get_level(GPIO_USB_C0_PD_RST_L)) - return; + int port = -1; - if ((signal == GPIO_USB_C1_PD_INT_ODL) && - !gpio_get_level(GPIO_USB_C1_PD_RST_ODL)) + switch (signal) { + case GPIO_USB_C0_PD_INT_ODL: + port = 0; + break; + case GPIO_USB_C1_PD_INT_ODL: + port = 1; + break; + default: return; + } -#ifdef HAS_TASK_PDCMD - /* Exchange status with TCPCs */ - host_command_pd_send_status(PD_CHARGE_NO_CHANGE); -#endif + schedule_deferred_pd_interrupt(port); } #ifdef CONFIG_USB_PD_TCPC_LOW_POWER |