diff options
-rw-r--r-- | board/chell/board.c | 4 | ||||
-rw-r--r-- | board/coral/board.c | 4 | ||||
-rw-r--r-- | board/glkrvp/board.c | 4 | ||||
-rw-r--r-- | board/poppy/board.c | 4 | ||||
-rw-r--r-- | board/reef/board.c | 4 | ||||
-rw-r--r-- | board/reef_it8320/board.c | 4 | ||||
-rw-r--r-- | board/zoombini/board.c | 4 | ||||
-rw-r--r-- | power/intel_x86.c | 7 |
8 files changed, 28 insertions, 7 deletions
diff --git a/board/chell/board.c b/board/chell/board.c index e02513548a..ca0ed3d276 100644 --- a/board/chell/board.c +++ b/board/chell/board.c @@ -82,7 +82,9 @@ void usb1_evt(enum gpio_signal signal) /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { #ifdef CONFIG_POWER_S0IX - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #endif {GPIO_RSMRST_L_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "RSMRST_N_PWRGD"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, diff --git a/board/coral/board.c b/board/coral/board.c index ee5db6d899..e8d7ad537d 100644 --- a/board/coral/board.c +++ b/board/coral/board.c @@ -127,7 +127,9 @@ void tablet_mode_interrupt(enum gpio_signal signal) /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { #ifdef CONFIG_POWER_S0IX - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #endif {GPIO_RSMRST_L_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "RSMRST_L"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, diff --git a/board/glkrvp/board.c b/board/glkrvp/board.c index 5517371894..9c5f22eb58 100644 --- a/board/glkrvp/board.c +++ b/board/glkrvp/board.c @@ -46,7 +46,9 @@ /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { {GPIO_RSMRST_L_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "RSMRST_L"}, - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, {GPIO_PCH_SLP_S4_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S4_DEASSERTED"}, diff --git a/board/poppy/board.c b/board/poppy/board.c index 53870f76a3..de1cb0ed24 100644 --- a/board/poppy/board.c +++ b/board/poppy/board.c @@ -330,7 +330,9 @@ static void base_disable(void) /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { #ifdef CONFIG_POWER_S0IX - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #endif #ifdef CONFIG_ESPI_VW_SIGNALS {VW_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, diff --git a/board/reef/board.c b/board/reef/board.c index 206e725af8..53918cd416 100644 --- a/board/reef/board.c +++ b/board/reef/board.c @@ -126,7 +126,9 @@ void tablet_mode_interrupt(enum gpio_signal signal) /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { #ifdef CONFIG_POWER_S0IX - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #endif {GPIO_RSMRST_L_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "RSMRST_L"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, diff --git a/board/reef_it8320/board.c b/board/reef_it8320/board.c index ba48b29d0a..a33431dcca 100644 --- a/board/reef_it8320/board.c +++ b/board/reef_it8320/board.c @@ -61,7 +61,9 @@ /* power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { #ifdef CONFIG_POWER_S0IX - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #endif {GPIO_RSMRST_L_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "RSMRST_L"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, diff --git a/board/zoombini/board.c b/board/zoombini/board.c index 8ffcd5f5cb..f2671ff84b 100644 --- a/board/zoombini/board.c +++ b/board/zoombini/board.c @@ -75,7 +75,9 @@ BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); /* Power signal list. Must match order of enum power_signal. */ const struct power_signal_info power_signal_list[] = { - {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"}, + {GPIO_PCH_SLP_S0_L, + POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT, + "SLP_S0_DEASSERTED"}, #ifdef CONFIG_ESPI_VW_SIGNALS {VW_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, {VW_SLP_S4_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S4_DEASSERTED"}, diff --git a/power/intel_x86.c b/power/intel_x86.c index 6c182344c4..c1f49353fd 100644 --- a/power/intel_x86.c +++ b/power/intel_x86.c @@ -464,6 +464,13 @@ power_board_handle_host_sleep_event(enum host_sleep_event state) void power_chipset_handle_host_sleep_event(enum host_sleep_event state) { power_board_handle_host_sleep_event(state); + +#ifdef CONFIG_POWER_S0IX + if (state == HOST_SLEEP_EVENT_S0IX_SUSPEND) + power_signal_enable_interrupt(sleep_sig[SYS_SLEEP_S0IX]); + else + power_signal_disable_interrupt(sleep_sig[SYS_SLEEP_S0IX]); +#endif } #endif |