Linux, for the time being has refused to support the Arm standard SMCCC for PCIe configuration. Instead they want to continue to maintain per device "quirks".
As the RPI isn't really ECAM this is a bit more involved because the MADT can't really describe the root port+config registers situation. Further platforms which support the SMCCC shouldn't have a MADT, so we need an additional way to tell linux what it needs to know about this platform. Signed-off-by: Jeremy Linton <jeremy.lin...@arm.com> --- Platform/RaspberryPi/AcpiTables/Pci.asl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Platform/RaspberryPi/AcpiTables/Pci.asl b/Platform/RaspberryPi/AcpiTables/Pci.asl index 34474f13ef..3e7fd0d5b7 100644 --- a/Platform/RaspberryPi/AcpiTables/Pci.asl +++ b/Platform/RaspberryPi/AcpiTables/Pci.asl @@ -123,6 +123,15 @@ DefinitionBlock (__FILE__, "SSDT", 5, "RPIFDN", "RPI4PCIE", 2) Name(_BBN, Zero) // PCI Base Bus Number Name(_CCA, 0) // Mark the PCI noncoherent + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () { "linux,pcie-quirk", "bcm2711" }, + Package () { "linux,pcie-nomsi", 1 }, + } + }) + + // Root Complex 0 Device (RP0) { Name(_ADR, 0xF0000000) // Dev 0, Func 0 @@ -176,6 +185,18 @@ DefinitionBlock (__FILE__, "SSDT", 5, "RPIFDN", "RPI4PCIE", 2) 2 // SANITIZED_PCIE_MMIO_LEN + 1 ,,,MMI1,,TypeTranslation ) + + QWordMemory ( // Root port registers, not to be used if SMCCC is utilized + ResourceConsumer, , + MinFixed, MaxFixed, + NonCacheable, ReadWrite, // cacheable? is that right? + 0x00000000, // Granularity + 0xFD500000, // Root port begin + 0xFD509FFF, // Root port end + 0x00000000, // no translation + 0x0000A000, // size + ,, + ) }) // end Name(RBUF) // Work around ASL's inability to add in a resource definition -- 2.13.7 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78746): https://edk2.groups.io/g/devel/message/78746 Mute This Topic: https://groups.io/mt/84688820/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-