diff options
Diffstat (limited to 'zephyr/program/skyrim/src/power_signals.c')
-rw-r--r-- | zephyr/program/skyrim/src/power_signals.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/zephyr/program/skyrim/src/power_signals.c b/zephyr/program/skyrim/src/power_signals.c index b0919ae5f4..8af2d6bbcf 100644 --- a/zephyr/program/skyrim/src/power_signals.c +++ b/zephyr/program/skyrim/src/power_signals.c @@ -60,9 +60,13 @@ static void baseboard_suspend_change(struct ap_power_ev_callback *cb, return; case AP_POWER_SUSPEND: - /* Disable display backlight and retimer */ + /* Disable display backlight */ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_disable_disp_bl), 1); + break; + + case AP_POWER_SHUTDOWN: + /* Retimer disable */ ioex_set_level(IOEX_USB_A1_RETIMER_EN, 0); break; @@ -70,6 +74,9 @@ static void baseboard_suspend_change(struct ap_power_ev_callback *cb, /* Enable retimer and display backlight */ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_disable_disp_bl), 0); + break; + + case AP_POWER_STARTUP: ioex_set_level(IOEX_USB_A1_RETIMER_EN, 1); /* Any retimer tuning can be done after the retimer turns on */ break; @@ -101,7 +108,8 @@ static void baseboard_init(void) /* Setup a suspend/resume callback */ ap_power_ev_init_callback(&cb, baseboard_suspend_change, - AP_POWER_RESUME | AP_POWER_SUSPEND); + AP_POWER_STARTUP | AP_POWER_SHUTDOWN | + AP_POWER_RESUME | AP_POWER_SUSPEND); ap_power_ev_add_callback(&cb); /* Enable Power Group interrupts. */ gpio_enable_dt_interrupt(GPIO_INT_FROM_NODELABEL(int_pg_groupc_s0)); |