superio/smsc/sch5147/acpi/superio: use IO instead of FixedIO resource

The fixed I/O resource descriptor macro implies that the device will
only decode 10 of the 16 IO port bits causing aliasing. Use an I/O port
descriptor instead and use Decode16 to tell the OS that this I/O
resource will decode all I/O address bits.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I2df260cea6f12f5a3a6cbae3c7b99bab244a556b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/77066
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin L Roth <gaumless@gmail.com>
This commit is contained in:
Felix Held
2023-08-07 20:12:36 +02:00
parent e566e1547b
commit d53137a536

View File

@@ -74,7 +74,7 @@ Device(SUPERIO_DEV) {
{ {
/* Announce the used i/o ports to the OS */ /* Announce the used i/o ports to the OS */
Return (ResourceTemplate () { Return (ResourceTemplate () {
FixedIO (SUPERIO_PNP_BASE, 0x02) IO (Decode16, SUPERIO_PNP_BASE, SUPERIO_PNP_BASE, 0x01, 0x02)
}) })
} }
@@ -140,8 +140,8 @@ Device (SUPERIO_ID(KBD, SUPERIO_KBC_LDN)) {
Method (_CRS, 0, Serialized) Method (_CRS, 0, Serialized)
{ {
Name (CRS, ResourceTemplate () { Name (CRS, ResourceTemplate () {
FixedIO (0x0060, 0x01) IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
FixedIO (0x0064, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQNoFlags (IR0) {} IRQNoFlags (IR0) {}
}) })
ENTER_CONFIG_MODE (SUPERIO_KBC_LDN) ENTER_CONFIG_MODE (SUPERIO_KBC_LDN)
@@ -153,8 +153,8 @@ Device (SUPERIO_ID(KBD, SUPERIO_KBC_LDN)) {
Name (_PRS, ResourceTemplate () Name (_PRS, ResourceTemplate ()
{ {
StartDependentFn (0,0) { StartDependentFn (0,0) {
FixedIO (0x0060, 0x01) IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
FixedIO (0x0064, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQNoFlags () {1} IRQNoFlags () {1}
} }
EndDependentFn() EndDependentFn()
@@ -163,8 +163,8 @@ Device (SUPERIO_ID(KBD, SUPERIO_KBC_LDN)) {
Method (_SRS, 1, Serialized) Method (_SRS, 1, Serialized)
{ {
Name (TMPL, ResourceTemplate () { Name (TMPL, ResourceTemplate () {
FixedIO (0x0060, 0x01) IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
FixedIO (0x0064, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQNoFlags (IR0) {} IRQNoFlags (IR0) {}
}) })
ENTER_CONFIG_MODE (SUPERIO_KBC_LDN) ENTER_CONFIG_MODE (SUPERIO_KBC_LDN)