Cliff Huang has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/86290?usp=email )
Change subject: soc/intel/pantherlake: Fix ACPI GPIO number ......................................................................
soc/intel/pantherlake: Fix ACPI GPIO number
When using SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES, ACPI GPIO number is the number from its community.
In Panther Lake, each GPIO community is an individual pincntrl device. When GPIO number is provided, the offset from its community should be used rather than the number from the first GPIO pad.
For instance, using vGPIO_3_11 ( i.e. GPP_VGPIO3_THC1) in community 3:
from GPIO community3, INTC10BC:02/pins: ... pin 82 (vGPIO_3_11) 82:INTC10BC:02 GPIO 0x40100102 0x0000003f 0x00000000 [ACPI]
-> 82 is the value the pin number/offset
GPP_VGPI3_THC1 in the SSDT:
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\_SB.PCI0.GPI3", 0x00, ResourceConsumer, , ) { // Pin list 0x0052 } }
Where "\_SB.PCI0.GPI3 is GPIO community 3. Where 0x0052 is 82 (decimal), the offset used as ACPI GPIO number.
BUG=none TEST=Check the number from _CRS GpinInt and GpIo objects from the SSDT and the GPIO number used should match with the community offset.
Signed-off-by: Cliff Huang cliff.huang@intel.com Change-Id: Ic2ba67518fa173e13975478ccae5f8a1772ebf08 --- M src/soc/intel/pantherlake/Kconfig 1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/90/86290/1
diff --git a/src/soc/intel/pantherlake/Kconfig b/src/soc/intel/pantherlake/Kconfig index dde401b..6fb87f9 100644 --- a/src/soc/intel/pantherlake/Kconfig +++ b/src/soc/intel/pantherlake/Kconfig @@ -75,6 +75,7 @@ select SOC_INTEL_COMMON_BLOCK_IPU select SOC_INTEL_COMMON_BLOCK_IRQ select SOC_INTEL_COMMON_BLOCK_ME_SPEC_21 + select SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES select SOC_INTEL_COMMON_BLOCK_MEMINIT select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC