Aaron Durbin (adurbin@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@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@chromium.org Original-Reviewed-on: https://chromium-review.googlesource.com/291934 Original-Reviewed-by: Duncan Laurie dlaurie@chromium.org
Change-Id: Ic16ea8e8d6ff564977ed2081d2353c82af71adea Signed-off-by: Aaron Durbin adurbin@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) ;