summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/reef/ec.h3
-rw-r--r--src/mainboard/google/reef/smihandler.c7
2 files changed, 10 insertions, 0 deletions
diff --git a/src/mainboard/google/reef/ec.h b/src/mainboard/google/reef/ec.h
index f76c5a8876..c4b1505c2c 100644
--- a/src/mainboard/google/reef/ec.h
+++ b/src/mainboard/google/reef/ec.h
@@ -24,6 +24,9 @@
*/
#define EC_SCI_GPI GPE0_DW1_11
+/* EC SMI */
+#define EC_SMI_GPI GPIO_49
+
/*
* On lidopen/lidclose GPIO_22 from North Community gets toggled and
* is used in _PRW to wake up device from sleep. GPIO_22 maps to
diff --git a/src/mainboard/google/reef/smihandler.c b/src/mainboard/google/reef/smihandler.c
index 05d363f876..e26c176b1b 100644
--- a/src/mainboard/google/reef/smihandler.c
+++ b/src/mainboard/google/reef/smihandler.c
@@ -18,8 +18,15 @@
#include <cpu/x86/smm.h>
#include <ec/google/chromeec/smm.h>
#include <soc/pm.h>
+#include <soc/smm.h>
#include "ec.h"
+void mainboard_smi_gpi_handler(const struct gpi_status *sts)
+{
+ if (gpi_status_get(sts, EC_SMI_GPI))
+ chromeec_smi_process_events();
+}
+
void mainboard_smi_sleep(u8 slp_typ)
{
if (slp_typ == ACPI_S3)