diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-09-23 16:06:14 -0500 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2016-09-26 23:52:41 +0200 |
commit | 05201d778336f474e3f9df55431340fa95521aee (patch) | |
tree | 110d08ebc4015cbb7c460ab5070d02265a7f1790 /src | |
parent | c64a6d63ed9cbd20d8acd8d50ce76af275cca526 (diff) |
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
Change-Id: Ie43b1c4f8522db1245f1f479bfdb685d3066121d
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/16732
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/google/chromeec/acpi/ec.asl | 24 |
1 files changed, 24 insertions, 0 deletions
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 |