summaryrefslogtreecommitdiff
path: root/src/ec
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2019-12-05 17:35:00 -0600
committerPatrick Georgi <pgeorgi@google.com>2019-12-16 09:42:32 +0000
commit45d05d08237e5c262312453a2f272ef32d9366fb (patch)
tree54edce2a66f1d69272539c72f8afce0463c9555f /src/ec
parentbf15b2f7c3474c9811516d16f40a3533da5108c7 (diff)
ec/google/chromeec/acpi: move PS2K under PCI0
Commit 77ad581ce [chromeec: PS2K node can't be under SIO node] moved the PS2K ACPI device from under the SIO device to under the LPCB, and while this fixed the keyboard under Windows for Skylake devices, it was insufficient for Baytrail and Braswell devices (and likely Apollo Lake/Gemini Lake too). Moving the PS2K device under PCI0 allows the PS2K to be functional under Windows for all Chrome-EC platforms. Test: build/boot various Chrome-EC devices from IVB, HSW, BDW, BYT, SKL, BSW, and KBL platforms, verify keyboard functional under both Linux (4.x and 5.x) and Windows 10. Change-Id: If773eea69dc46030b6db9d64c3855be49951d4c0 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37542 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/ec')
-rw-r--r--src/ec/google/chromeec/acpi/superio.asl51
1 files changed, 27 insertions, 24 deletions
diff --git a/src/ec/google/chromeec/acpi/superio.asl b/src/ec/google/chromeec/acpi/superio.asl
index 9c0fa68141..fc5fc8c266 100644
--- a/src/ec/google/chromeec/acpi/superio.asl
+++ b/src/ec/google/chromeec/acpi/superio.asl
@@ -131,30 +131,20 @@ Device (SIO) {
}
#ifdef SIO_EC_ENABLE_PS2K
-Device (PS2K) // Keyboard
+Scope (\_SB.PCI0)
{
- Name (_UID, 0)
- Name (_HID, "GOOG000A")
- Name (_CID, Package() { EISAID("PNP0303"), EISAID("PNP030B") } )
-
- Method (_STA, 0, NotSerialized) {
- Return (0x0F)
- }
-
- Name (_CRS, ResourceTemplate()
+ Device (PS2K) // Keyboard
{
- IO (Decode16, 0x60, 0x60, 0x01, 0x01)
- IO (Decode16, 0x64, 0x64, 0x01, 0x01)
-#ifdef SIO_EC_PS2K_IRQ
- SIO_EC_PS2K_IRQ
-#else
- IRQ (Edge, ActiveHigh, Exclusive) {1}
-#endif
- })
+ Name (_UID, 0)
+ Name (_HID, "GOOG000A")
+ Name (_CID, Package() { EISAID("PNP0303"), EISAID("PNP030B") } )
- Name (_PRS, ResourceTemplate()
- {
- StartDependentFn (0, 0) {
+ Method (_STA, 0, NotSerialized) {
+ Return (0x0F)
+ }
+
+ Name (_CRS, ResourceTemplate()
+ {
IO (Decode16, 0x60, 0x60, 0x01, 0x01)
IO (Decode16, 0x64, 0x64, 0x01, 0x01)
#ifdef SIO_EC_PS2K_IRQ
@@ -162,8 +152,21 @@ Device (PS2K) // Keyboard
#else
IRQ (Edge, ActiveHigh, Exclusive) {1}
#endif
- }
- EndDependentFn ()
- })
+ })
+
+ Name (_PRS, ResourceTemplate()
+ {
+ StartDependentFn (0, 0) {
+ IO (Decode16, 0x60, 0x60, 0x01, 0x01)
+ IO (Decode16, 0x64, 0x64, 0x01, 0x01)
+#ifdef SIO_EC_PS2K_IRQ
+ SIO_EC_PS2K_IRQ
+#else
+ IRQ (Edge, ActiveHigh, Exclusive) {1}
+#endif
+ }
+ EndDependentFn ()
+ })
+ }
}
#endif