[coreboot-gerrit] Change in coreboot[master]: mb/google/eve: Implement EC device events for S3 wake

Duncan Laurie (Code Review) gerrit at coreboot.org
Fri Jun 30 09:03:45 CEST 2017


Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/20428


Change subject: mb/google/eve: Implement EC device events for S3 wake
......................................................................

mb/google/eve: Implement EC device events for S3 wake

Add support for waking from and logging device events that
originate in the Embedded Controller.  As this device uses
Deep S3 it relies on the EC to wake the AP from the trackpad
and DSP wake sources.

BUG=b:30624430
TEST=manual testing on Eve: wake from Deep S3 via trackpad and
DSP and verify the event log contains the expected device event.

Change-Id: I0d6a9c5bfd4cea85e13446ffaa6fe3dab0db96a2
Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
---
M src/mainboard/google/eve/ec.c
M src/mainboard/google/eve/ec.h
M src/mainboard/google/eve/smihandler.c
3 files changed, 12 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/28/20428/1

diff --git a/src/mainboard/google/eve/ec.c b/src/mainboard/google/eve/ec.c
index 868714a..d5710f3 100644
--- a/src/mainboard/google/eve/ec.c
+++ b/src/mainboard/google/eve/ec.c
@@ -24,6 +24,10 @@
 		google_chromeec_log_events(MAINBOARD_EC_LOG_EVENTS |
 					   MAINBOARD_EC_S3_WAKE_EVENTS);
 
+		/* Log and clear device events that may wake the system */
+		google_chromeec_log_device_events(
+			MAINBOARD_EC_S3_DEVICE_EVENTS);
+
 		/* Disable SMI and wake events */
 		google_chromeec_set_smi_mask(0);
 
diff --git a/src/mainboard/google/eve/ec.h b/src/mainboard/google/eve/ec.h
index fa0dc21..81d591c 100644
--- a/src/mainboard/google/eve/ec.h
+++ b/src/mainboard/google/eve/ec.h
@@ -48,6 +48,7 @@
 /* EC can wake from S3 with lid or power button or key press */
 #define MAINBOARD_EC_S3_WAKE_EVENTS \
 	(MAINBOARD_EC_S5_WAKE_EVENTS |\
+	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_DEVICE) |\
 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_KEY_PRESSED))
 
 /* Log EC wake events plus EC shutdown events */
@@ -56,6 +57,11 @@
 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_BATTERY_SHUTDOWN) |\
 	 EC_HOST_EVENT_MASK(EC_HOST_EVENT_PANIC))
 
+/* EC device events to enable and log in S3 */
+#define MAINBOARD_EC_S3_DEVICE_EVENTS \
+	(EC_DEVICE_EVENT_MASK(EC_DEVICE_EVENT_TRACKPAD) |\
+	 EC_DEVICE_EVENT_MASK(EC_DEVICE_EVENT_DSP))
+
 /*
  * ACPI related definitions for ASL code.
  */
diff --git a/src/mainboard/google/eve/smihandler.c b/src/mainboard/google/eve/smihandler.c
index 493a334..f51248c 100644
--- a/src/mainboard/google/eve/smihandler.c
+++ b/src/mainboard/google/eve/smihandler.c
@@ -36,6 +36,8 @@
 {
 	chromeec_smi_sleep(slp_typ, MAINBOARD_EC_S3_WAKE_EVENTS,
 			   MAINBOARD_EC_S5_WAKE_EVENTS);
+	chromeec_smi_device_event_sleep(slp_typ,
+					MAINBOARD_EC_S3_DEVICE_EVENTS, 0);
 	mainboard_gpio_smi_sleep(slp_typ);
 }
 

-- 
To view, visit https://review.coreboot.org/20428
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0d6a9c5bfd4cea85e13446ffaa6fe3dab0db96a2
Gerrit-Change-Number: 20428
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170630/9119dbfa/attachment-0001.html>


More information about the coreboot-gerrit mailing list