aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/glados/ec.h4
-rw-r--r--src/mainboard/google/glados/gpio.h2
-rw-r--r--src/mainboard/google/glados/smihandler.c5
3 files changed, 5 insertions, 6 deletions
diff --git a/src/mainboard/google/glados/ec.h b/src/mainboard/google/glados/ec.h
index 9da9d9f0b2..f42e4c725a 100644
--- a/src/mainboard/google/glados/ec.h
+++ b/src/mainboard/google/glados/ec.h
@@ -22,11 +22,11 @@
#define MAINBOARD_EC_H
#include <ec/google/chromeec/ec_commands.h>
+#include <soc/gpio.h>
/* GPP_E16 is EC_SCI_L */
#define EC_SCI_GPI 16 /* TODO: Update this */
-/* GPP_E15 is EC_SMI_L */
-#define EC_SMI_GPI 15 /* TODO: Update this */
+#define EC_SMI_GPI GPP_E15
#define MAINBOARD_EC_SCI_EVENTS \
(EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED) |\
diff --git a/src/mainboard/google/glados/gpio.h b/src/mainboard/google/glados/gpio.h
index dc58e9aeca..ebbee20233 100644
--- a/src/mainboard/google/glados/gpio.h
+++ b/src/mainboard/google/glados/gpio.h
@@ -134,7 +134,7 @@ static const struct pad_config gpio_table[] = {
/* USB2_OC3# */ PAD_CFG_NF(GPP_E12, NONE, DEEP, NF1),
/* DDPB_HPD0 */ PAD_CFG_NF(GPP_E13, NONE, DEEP, NF1),
/* DDPC_HPD1 */ PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1),
-/* DDPD_HPD2 */ PAD_CFG_NF(GPP_E15, NONE, DEEP, NF1),
+/* DDPD_HPD2 */ PAD_CFG_GPI_ACPI_SMI(GPP_E15, NONE, DEEP, YES), /* EC_SMI_L */
/* DDPE_HPD3 */ PAD_CFG_NF(GPP_E16, NONE, DEEP, NF1),
/* EDP_HPD */ PAD_CFG_NF(GPP_E17, NONE, DEEP, NF1),
/* DDPB_CTRLCLK */ /* GPP_E18 */
diff --git a/src/mainboard/google/glados/smihandler.c b/src/mainboard/google/glados/smihandler.c
index 164bd8e465..f9f4707973 100644
--- a/src/mainboard/google/glados/smihandler.c
+++ b/src/mainboard/google/glados/smihandler.c
@@ -74,10 +74,9 @@ static u8 mainboard_smi_ec(void)
return cmd;
}
-/* gpi_sts is GPIO 47:32 */
-void mainboard_smi_gpi(u32 gpi_sts)
+void mainboard_smi_gpi_handler(const struct gpi_status *sts)
{
- if (gpi_sts & (1 << EC_SMI_GPI)) {
+ if (gpi_status_get(sts, EC_SMI_GPI)) {
/* Process all pending events */
while (mainboard_smi_ec() != 0)
;