[coreboot-gerrit] New patch to review for coreboot: glados: make EC_SMI_L functional

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Wed Aug 12 17:52:34 CEST 2015


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11209

-gerrit

commit 0317609d6692fa2277c33cbe4adabc20519500c3
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Sat Aug 8 01:25:21 2015 -0500

    glados: make EC_SMI_L functional
    
    Set the EC_SMI_GPI define to be GPP_E15 and route that
    GPIO for SMI generation. Also, the mainboard_smi_gpi_handler()
    was introduced on skylake in order to process any GPI that could
    generate an SMI. Switch to this handler so one can process the
    appropriate events.
    
    BUG=chrome-os-partner:43778
    BRANCH=None
    TEST=Used 'lidclose' on EC command line during depthcharge
         to confirm EC_SMI_L generates SMI and shutdown happens.
    
    Original-Change-Id: Ia365b86161670a809e3fa99dde38fccc612d5e77
    Original-Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/291934
    Original-Reviewed-by: Duncan Laurie <dlaurie at chromium.org>
    
    Change-Id: Ic16ea8e8d6ff564977ed2081d2353c82af71adea
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/mainboard/google/glados/ec.h         | 4 ++--
 src/mainboard/google/glados/gpio.h       | 2 +-
 src/mainboard/google/glados/smihandler.c | 5 ++---
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/mainboard/google/glados/ec.h b/src/mainboard/google/glados/ec.h
index 9da9d9f..f42e4c7 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 dc58e9a..ebbee20 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 164bd8e..f9f4707 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)
 			;



More information about the coreboot-gerrit mailing list