summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/chell/board.c4
-rw-r--r--board/coral/board.c4
-rw-r--r--board/glkrvp/board.c4
-rw-r--r--board/poppy/board.c4
-rw-r--r--board/reef/board.c4
-rw-r--r--board/reef_it8320/board.c4
-rw-r--r--board/zoombini/board.c4
-rw-r--r--power/intel_x86.c7
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