diff options
-rw-r--r-- | baseboard/kukui/base_detect_kukui.c | 18 | ||||
-rw-r--r-- | board/kodama/board.c | 3 |
2 files changed, 16 insertions, 5 deletions
diff --git a/baseboard/kukui/base_detect_kukui.c b/baseboard/kukui/base_detect_kukui.c index f72988543f..12c0090a52 100644 --- a/baseboard/kukui/base_detect_kukui.c +++ b/baseboard/kukui/base_detect_kukui.c @@ -166,11 +166,25 @@ void pogo_adc_interrupt(enum gpio_signal signal) base_detect_debounce_time = time_now + BASE_DETECT_DEBOUNCE_US; } -static void base_init(void) +/* Called on AP S5 -> S3 transition */ +static void pogo_chipset_startup(void) { + /* Enable pogo interrupt */ + gpio_enable_interrupt(GPIO_POGO_ADC_INT_L); + hook_call_deferred(&base_detect_deferred_data, 0); } -DECLARE_HOOK(HOOK_INIT, base_init, HOOK_PRIO_INIT_ADC + 1); +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, pogo_chipset_startup, HOOK_PRIO_DEFAULT); + +/* Called on AP S3 -> S5 transition */ +static void pogo_chipset_shutdown(void) +{ + /* Disable pogo interrupt */ + gpio_disable_interrupt(GPIO_POGO_ADC_INT_L); + + enable_power_supply(0); +} +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, pogo_chipset_shutdown, HOOK_PRIO_DEFAULT); #ifdef VARIANT_KUKUI_POGO_DOCK static void board_pogo_charge_init(void) diff --git a/board/kodama/board.c b/board/kodama/board.c index 721242c240..0650301731 100644 --- a/board/kodama/board.c +++ b/board/kodama/board.c @@ -224,9 +224,6 @@ static void board_init(void) /* Enable interrupt from PMIC. */ gpio_enable_interrupt(GPIO_PMIC_EC_RESETB); - /* Enable pogo interrupt */ - gpio_enable_interrupt(GPIO_POGO_ADC_INT_L); - /* Display bias settings. */ mt6370_db_set_voltages(6000, 5800, 5800); |