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>
This commit is contained in:
Matt DeVillier 2019-12-05 17:35:00 -06:00 committed by Patrick Georgi
parent bf15b2f7c3
commit 45d05d0823
1 changed files with 27 additions and 24 deletions

View File

@ -131,30 +131,20 @@ Device (SIO) {
} }
#ifdef SIO_EC_ENABLE_PS2K #ifdef SIO_EC_ENABLE_PS2K
Device (PS2K) // Keyboard Scope (\_SB.PCI0)
{ {
Name (_UID, 0) Device (PS2K) // Keyboard
Name (_HID, "GOOG000A")
Name (_CID, Package() { EISAID("PNP0303"), EISAID("PNP030B") } )
Method (_STA, 0, NotSerialized) {
Return (0x0F)
}
Name (_CRS, ResourceTemplate()
{ {
IO (Decode16, 0x60, 0x60, 0x01, 0x01) Name (_UID, 0)
IO (Decode16, 0x64, 0x64, 0x01, 0x01) Name (_HID, "GOOG000A")
#ifdef SIO_EC_PS2K_IRQ Name (_CID, Package() { EISAID("PNP0303"), EISAID("PNP030B") } )
SIO_EC_PS2K_IRQ
#else
IRQ (Edge, ActiveHigh, Exclusive) {1}
#endif
})
Name (_PRS, ResourceTemplate() Method (_STA, 0, NotSerialized) {
{ Return (0x0F)
StartDependentFn (0, 0) { }
Name (_CRS, ResourceTemplate()
{
IO (Decode16, 0x60, 0x60, 0x01, 0x01) IO (Decode16, 0x60, 0x60, 0x01, 0x01)
IO (Decode16, 0x64, 0x64, 0x01, 0x01) IO (Decode16, 0x64, 0x64, 0x01, 0x01)
#ifdef SIO_EC_PS2K_IRQ #ifdef SIO_EC_PS2K_IRQ
@ -162,8 +152,21 @@ Device (PS2K) // Keyboard
#else #else
IRQ (Edge, ActiveHigh, Exclusive) {1} IRQ (Edge, ActiveHigh, Exclusive) {1}
#endif #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 #endif