From 093b5dc9920fcca69635e96098467be382d66238 Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 23 Sep 2016 16:06:14 -0500 Subject: [PATCH] UPSTREAM: ec/google/chromeec: provide optional ASL lid switch implementation Instead of relying on the mainboards to provide their own LID0 ACPI device, provide the infrastructure so that the mainboards can signal to the EC ASL code to provide the default lid switch implementation. BUG=chrome-os-partner:56677 BRANCH=None TEST=None Signed-off-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/16732 Reviewed-by: Duncan Laurie Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) Change-Id: Ie43b1c4f8522db1245f1f479bfdb685d3066121d Reviewed-on: https://chromium-review.googlesource.com/390397 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- src/ec/google/chromeec/acpi/ec.asl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl index db3fff723f..b182766947 100644 --- a/src/ec/google/chromeec/acpi/ec.asl +++ b/src/ec/google/chromeec/acpi/ec.asl @@ -68,6 +68,22 @@ Device (EC0) #include "emem.asl" } +#ifdef EC_ENABLE_LID_SWITCH + /* LID Switch */ + Device (LID0) + { + Name (_HID, EisaId ("PNP0C0D")) + Method (_LID, 0) + { + Return (^^LIDS) + } + +#ifdef EC_ENABLE_WAKE_PIN + Name (_PRW, Package () { EC_ENABLE_WAKE_PIN, 0x5 }) +#endif + } +#endif + Method (TINS, 1, Serialized) { Switch (ToInteger (Arg0)) @@ -150,7 +166,11 @@ Device (EC0) { Store ("EC: LID CLOSE", Debug) Store (LIDS, \LIDS) +#ifdef EC_ENABLE_LID_SWITCH + Notify (LID0, 0x80) +#else Notify (\_SB.LID0, 0x80) +#endif } // Lid Open Event @@ -158,7 +178,11 @@ Device (EC0) { Store ("EC: LID OPEN", Debug) Store (LIDS, \LIDS) +#ifdef EC_ENABLE_LID_SWITCH + Notify (LID0, 0x80) +#else Notify (\_SB.LID0, 0x80) +#endif } // Power Button