diff options
Diffstat (limited to 'chip/npcx/gpio.c')
-rw-r--r-- | chip/npcx/gpio.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/chip/npcx/gpio.c b/chip/npcx/gpio.c index 51e3d844c8..7192403e82 100644 --- a/chip/npcx/gpio.c +++ b/chip/npcx/gpio.c @@ -17,6 +17,7 @@ #include "util.h" #include "system.h" #include "system_chip.h" +#include "lpc_chip.h" /* Marco functions for GPIO WUI/ALT table */ #define NPCX_GPIO(grp, pin) \ @@ -683,10 +684,18 @@ void _irq_func(void) \ gpio_interrupt(int_no); \ } +/* If we need to handle the other type interrupts except GPIO, add code here */ +void __gpio_wk0efgh_interrupt(void) +{ + if (IS_BIT_SET(NPCX_WKPND(MIWU_TABLE_0 , MIWU_GROUP_5),7)) + lpc_lreset_pltrst_handler(); + else + gpio_interrupt(NPCX_IRQ_WKINTEFGH_0); +} + GPIO_IRQ_FUNC(__gpio_wk0ad_interrupt , NPCX_IRQ_MTC_WKINTAD_0); GPIO_IRQ_FUNC(__gpio_wk0b_interrupt , NPCX_IRQ_TWD_WKINTB_0); GPIO_IRQ_FUNC(__gpio_wk0c_interrupt , NPCX_IRQ_WKINTC_0); -GPIO_IRQ_FUNC(__gpio_wk0efgh_interrupt, NPCX_IRQ_WKINTEFGH_0); GPIO_IRQ_FUNC(__gpio_wk1a_interrupt , NPCX_IRQ_WKINTA_1); GPIO_IRQ_FUNC(__gpio_wk1b_interrupt , NPCX_IRQ_WKINTB_1); GPIO_IRQ_FUNC(__gpio_wk1d_interrupt , NPCX_IRQ_WKINTD_1); |