diff options
author | Michał Żygowski <michal.zygowski@3mdeb.com> | 2024-02-14 12:30:32 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-03-01 15:37:48 +0000 |
commit | 5ad8a5fa47275cb7de5b096aa0273c83481c4aa6 (patch) | |
tree | 474a1ea1a952bdc6825d26c19b0ee489c59a1a1e /src/superio/ite | |
parent | 53f26e400db0a739941fdbebc215ea5fb177f9d8 (diff) |
superio/acpi: Add SUPERIO_PNP_NO_DIS to support always active LDNs
Some LDNs do not implement the activate bit at all, e.g. ITE GPIO LDNs
are an example where the LDN is always active. The pnp_generic.asl can
be used to describe the GPIO LDN resources configured by the platform,
however the register 0x30 is always 0 for these LDNs, so OS will not
claim the reported resource for the GPIO device, because _STA will
return inactive LDN.
Add SUPERIO_PNP_NO_DIS macro to generate _STA method returning an
always active LDN and skip _DIS generation. Define the SUPERIO_PNP_NO_DIS
for SIOs which use the pnp_generic.asl preserving the previous states,
except the ITE GPIO LDNs.
Change-Id: Ieb827fdffe7660b875cba6ca99b0560b4cab66b4
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80496
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/superio/ite')
-rw-r--r-- | src/superio/ite/it8720f/acpi/superio.asl | 4 | ||||
-rw-r--r-- | src/superio/ite/it8721f/acpi/superio.asl | 1 | ||||
-rw-r--r-- | src/superio/ite/it8784e/acpi/superio.asl | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/superio/ite/it8720f/acpi/superio.asl b/src/superio/ite/it8720f/acpi/superio.asl index fdd8f7ea3b..95b09e17a8 100644 --- a/src/superio/ite/it8720f/acpi/superio.asl +++ b/src/superio/ite/it8720f/acpi/superio.asl @@ -127,6 +127,7 @@ Device(SUPERIO_DEV) { #undef SUPERIO_PNP_HID #undef SUPERIO_PNP_LDN #undef SUPERIO_PNP_DDN + #undef SUPERIO_PNP_NO_DIS #undef SUPERIO_PNP_PM_REG #undef SUPERIO_PNP_PM_VAL #undef SUPERIO_PNP_PM_LDN @@ -158,6 +159,7 @@ Device(SUPERIO_DEV) { #undef SUPERIO_PNP_HID #undef SUPERIO_PNP_LDN #undef SUPERIO_PNP_DDN + #undef SUPERIO_PNP_NO_DIS #undef SUPERIO_PNP_PM_REG #undef SUPERIO_PNP_PM_VAL #undef SUPERIO_PNP_PM_LDN @@ -167,6 +169,7 @@ Device(SUPERIO_DEV) { #undef SUPERIO_PNP_IRQ0 #undef SUPERIO_PNP_IRQ1 #undef SUPERIO_PNP_DMA + #define SUPERIO_PNP_NO_DIS #define SUPERIO_PNP_LDN 7 #define SUPERIO_PNP_IO0 0x08, 0x08 #define SUPERIO_PNP_IO1 0x08, 0x08 @@ -178,6 +181,7 @@ Device(SUPERIO_DEV) { #undef SUPERIO_PNP_HID #undef SUPERIO_PNP_LDN #undef SUPERIO_PNP_DDN + #undef SUPERIO_PNP_NO_DIS #undef SUPERIO_PNP_PM_REG #undef SUPERIO_PNP_PM_VAL #undef SUPERIO_PNP_PM_LDN diff --git a/src/superio/ite/it8721f/acpi/superio.asl b/src/superio/ite/it8721f/acpi/superio.asl index 065ec52a47..22746ede03 100644 --- a/src/superio/ite/it8721f/acpi/superio.asl +++ b/src/superio/ite/it8721f/acpi/superio.asl @@ -127,6 +127,7 @@ Device(SUPERIO_DEV) { #undef SUPERIO_PNP_HID #undef SUPERIO_PNP_LDN #undef SUPERIO_PNP_DDN + #undef SUPERIO_PNP_NO_DIS #undef SUPERIO_PNP_PM_REG #undef SUPERIO_PNP_PM_VAL #undef SUPERIO_PNP_PM_LDN diff --git a/src/superio/ite/it8784e/acpi/superio.asl b/src/superio/ite/it8784e/acpi/superio.asl index c145a2b5ba..f79fc32d19 100644 --- a/src/superio/ite/it8784e/acpi/superio.asl +++ b/src/superio/ite/it8784e/acpi/superio.asl @@ -122,6 +122,7 @@ Device (SUPERIO_DEV) { #undef SUPERIO_PNP_HID #undef SUPERIO_PNP_LDN #undef SUPERIO_PNP_DDN + #undef SUPERIO_PNP_NO_DIS #undef SUPERIO_PNP_PM_REG #undef SUPERIO_PNP_PM_VAL #undef SUPERIO_PNP_PM_LDN |