diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2013-08-09 10:12:51 -0700 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-12-21 12:02:46 +0100 |
commit | 4fb3a61fc6e11686a95c09f63e194fba0cb899f6 (patch) | |
tree | af96bab3e649e690453611c22abbbbee3a49c79f /src/mainboard/google | |
parent | 727b5455fbdd3003005da83039f92c96354b53a2 (diff) | |
download | coreboot-4fb3a61fc6e11686a95c09f63e194fba0cb899f6.tar.xz |
slippy/falco/peppy: Fix EC wake events in S5
The SMI handler code was setting S3 wake events when going
into S5 and enabling a key press to wake the system.
Change-Id: I6413ef1341e0149187df9f4f7e0c314d4c9e9c6e
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/65323
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4459
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r-- | src/mainboard/google/falco/smihandler.c | 9 | ||||
-rw-r--r-- | src/mainboard/google/peppy/smihandler.c | 9 | ||||
-rw-r--r-- | src/mainboard/google/slippy/smihandler.c | 7 |
3 files changed, 16 insertions, 9 deletions
diff --git a/src/mainboard/google/falco/smihandler.c b/src/mainboard/google/falco/smihandler.c index ee56987d02..bf2165f7ea 100644 --- a/src/mainboard/google/falco/smihandler.c +++ b/src/mainboard/google/falco/smihandler.c @@ -107,6 +107,9 @@ void mainboard_smi_sleep(u8 slp_typ) set_gpio(GPIO_WLAN_DISABLE_L, 0); /* Disable LTE */ set_gpio(GPIO_LTE_DISABLE_L, 0); + + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); break; case 5: if (smm_get_gnvs()->s5u0 == 0) @@ -120,6 +123,9 @@ void mainboard_smi_sleep(u8 slp_typ) set_gpio(GPIO_WLAN_DISABLE_L, 0); /* Disable LTE */ set_gpio(GPIO_LTE_DISABLE_L, 0); + + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S5_WAKE_EVENTS); break; } @@ -129,9 +135,6 @@ void mainboard_smi_sleep(u8 slp_typ) /* Clear pending events that may trigger immediate wake */ while (google_chromeec_get_event() != 0); - - /* Enable wake events */ - google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); } #define APMC_FINALIZE 0xcb diff --git a/src/mainboard/google/peppy/smihandler.c b/src/mainboard/google/peppy/smihandler.c index 07cfee320d..f2254683a2 100644 --- a/src/mainboard/google/peppy/smihandler.c +++ b/src/mainboard/google/peppy/smihandler.c @@ -106,6 +106,9 @@ void mainboard_smi_sleep(u8 slp_typ) set_gpio(GPIO_PP3300_CODEC_EN, 0); set_gpio(GPIO_WLAN_DISABLE_L, 0); + + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); break; case 5: if (smm_get_gnvs()->s5u0 == 0) @@ -117,6 +120,9 @@ void mainboard_smi_sleep(u8 slp_typ) set_gpio(GPIO_PP3300_CODEC_EN, 0); set_gpio(GPIO_WLAN_DISABLE_L, 0); + + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S5_WAKE_EVENTS); break; } @@ -126,9 +132,6 @@ void mainboard_smi_sleep(u8 slp_typ) /* Clear pending events that may trigger immediate wake */ while (google_chromeec_get_event() != 0); - - /* Enable wake events */ - google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); } #define APMC_FINALIZE 0xcb diff --git a/src/mainboard/google/slippy/smihandler.c b/src/mainboard/google/slippy/smihandler.c index 7b7dd69beb..dd0a60528a 100644 --- a/src/mainboard/google/slippy/smihandler.c +++ b/src/mainboard/google/slippy/smihandler.c @@ -98,6 +98,8 @@ void mainboard_smi_sleep(u8 slp_typ) if (smm_get_gnvs()->s3u1 == 0) google_chromeec_set_usb_charge_mode( 1, USB_CHARGE_MODE_DISABLED); + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); break; case 5: if (smm_get_gnvs()->s5u0 == 0) @@ -106,6 +108,8 @@ void mainboard_smi_sleep(u8 slp_typ) if (smm_get_gnvs()->s5u1 == 0) google_chromeec_set_usb_charge_mode( 1, USB_CHARGE_MODE_DISABLED); + /* Enable wake events */ + google_chromeec_set_wake_mask(MAINBOARD_EC_S5_WAKE_EVENTS); break; } @@ -115,9 +119,6 @@ void mainboard_smi_sleep(u8 slp_typ) /* Clear pending events that may trigger immediate wake */ while (google_chromeec_get_event() != 0); - - /* Enable wake events */ - google_chromeec_set_wake_mask(MAINBOARD_EC_S3_WAKE_EVENTS); } #define APMC_FINALIZE 0xcb |