[coreboot-gerrit] Patch set updated for coreboot: 1ab29e1 slippy/falco/peppy: Fix EC wake events in S5

Patrick Georgi (patrick@georgi-clan.de) gerrit at coreboot.org
Sat Dec 21 10:55:00 CET 2013


Patrick Georgi (patrick at georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4459

-gerrit

commit 1ab29e1d38744e26d926eae61063de6894445fa0
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Fri Aug 9 10:12:51 2013 -0700

    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 at chromium.org>
    Reviewed-on: https://gerrit.chromium.org/gerrit/65323
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/google/falco/smihandler.c  | 9 ++++++---
 src/mainboard/google/peppy/smihandler.c  | 9 ++++++---
 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 ee56987..bf2165f 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 07cfee3..f225468 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 7b7dd69..dd0a605 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



More information about the coreboot-gerrit mailing list