summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2019-02-01 09:37:34 -0800
committerDuncan Laurie <dlaurie@chromium.org>2019-02-04 19:21:01 +0000
commitaaac678e800dd9a6c0b2ca63d3cebfb3005628f8 (patch)
tree856e790fd78ba3ff81cce95ee6352c696b3fbdb5
parent286a0ab143722a53f359e78e6df195b65105f87b (diff)
ec/google/wilco: Add ACPI device for event interface
Add a separate ACPI device for the Wilco EC event interface so that the OS drivers can bind to it separately. Since the event handling is all done with ACPI and not mailbox calls this will be implemented as a standard acpi_driver in the kernel. BUG=b:119046283 TEST=veriy device exists in DSDT Change-Id: I5259a926fb6d5faea835bcdefa12f0184c5adf4a Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://review.coreboot.org/c/31204 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/ec/google/wilco/acpi/ec_dev.asl28
-rw-r--r--src/ec/google/wilco/acpi/event.asl18
2 files changed, 29 insertions, 17 deletions
diff --git a/src/ec/google/wilco/acpi/ec_dev.asl b/src/ec/google/wilco/acpi/ec_dev.asl
index a3e8c48e1a..634e243075 100644
--- a/src/ec/google/wilco/acpi/ec_dev.asl
+++ b/src/ec/google/wilco/acpi/ec_dev.asl
@@ -62,3 +62,31 @@ Device (WLCO)
EndDependentFn ()
})
}
+
+Device (WEVT)
+{
+ Name (_HID, "GOOG000D")
+ Name (_UID, 1)
+ Name (_DDN, "Wilco EC Event Interface")
+
+ Method (_STA)
+ {
+ Return (0xB)
+ }
+
+ /* Get Event Buffer */
+ Method (QSET, 0, Serialized)
+ {
+ /* Get count of event bytes */
+ Local0 = R (QSEC)
+ Name (QBUF, Buffer (Local0) {})
+
+ /* Fill QS event buffer with Local0 bytes */
+ For (Local1 = 0, Local1 < Local0, Local1++) {
+ QBUF[Local1] = R (QSEB)
+ }
+
+ Printf ("QS = %o", QBUF)
+ Return (QBUF)
+ }
+}
diff --git a/src/ec/google/wilco/acpi/event.asl b/src/ec/google/wilco/acpi/event.asl
index 4a3394feec..d818d22ca2 100644
--- a/src/ec/google/wilco/acpi/event.asl
+++ b/src/ec/google/wilco/acpi/event.asl
@@ -79,7 +79,7 @@ Method (ECQ2, 1, Serialized)
If (EBIT (E2QS, Arg0)) {
Printf ("QS EVENT")
- Notify (^WLCO, 0x90)
+ Notify (^WEVT, 0x90)
}
}
@@ -125,19 +125,3 @@ Method (_Q66, 0, Serialized)
ECQ4 (Local0)
}
}
-
-/* Get Event Buffer */
-Method (QSET, 0, Serialized)
-{
- /* Get count of event bytes */
- Local0 = R (QSEC)
- Name (QBUF, Buffer (Local0) {})
-
- /* Fill QS event buffer with Local0 bytes */
- For (Local1 = 0, Local1 < Local0, Local1++) {
- QBUF[Local1] = R (QSEB)
- }
-
- Printf ("QS = %o", QBUF)
- Return (QBUF)
-}