aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/google/glados/smihandler.c
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-08-08 01:25:21 -0500
committerAaron Durbin <adurbin@chromium.org>2015-08-14 15:21:33 +0200
commit50ed38feba58ff59248015285bfdbe1c37cc4136 (patch)
tree13621315ebe0003deb9c645f2c6ad54134ce252b /src/mainboard/google/glados/smihandler.c
parentaf030503e8037f8147196290ea681192ab6b7732 (diff)
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> Reviewed-on: http://review.coreboot.org/11209 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/mainboard/google/glados/smihandler.c')
-rw-r--r--src/mainboard/google/glados/smihandler.c5
1 files changed, 2 insertions, 3 deletions
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)
;