ArmPlatformPkg: Fixes for Juno ACPI
authorSupreeth Venkatesh <supreeth.venkatesh@arm.com>
Wed, 7 Oct 2015 08:18:00 +0000 (08:18 +0000)
committerleiflindholm <leiflindholm@Edk2>
Wed, 7 Oct 2015 08:18:00 +0000 (08:18 +0000)
1. Change Interrupt for Juno PCI Routing table
Interrupt Number Reference:
http://www.arm.com/files/pdf/DDI0515D1a_juno_arm_development_platform_soc_trm.pdf
table 3-3 page 3-7
2. Support for PCI IO range with ACPI on JUNO

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18576 6f19259b-4bc3-4df7-8a09-765794883524

ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl

index c6d5a9a..7d50a5f 100644 (file)
@@ -57,13 +57,13 @@ DefinitionBlock("SsdtPci.aml", "SSDT", 1, "ARMLTD", "ARM-JUNO", EFI_ACPI_ARM_OEM
             Name(_ADR, 0xF0000000)    // Dev 0, Func 0
         }
 
-        // PCI Routing Table
-               Name(_PRT, Package() {
-               ROOT_PRT_ENTRY(0, 136),   // INTA
-               ROOT_PRT_ENTRY(1, 137),   // INTB
-               ROOT_PRT_ENTRY(2, 138),   // INTC
-               ROOT_PRT_ENTRY(3, 139),   // INTD
-       })
+               // PCI Routing Table
+               Name(_PRT, Package() {
+                       ROOT_PRT_ENTRY(0, 168),   // INTA
+                       ROOT_PRT_ENTRY(1, 169),   // INTB
+                       ROOT_PRT_ENTRY(2, 170),   // INTC
+                       ROOT_PRT_ENTRY(3, 171),   // INTD
+               })
         // Root complex resources
                Method (_CRS, 0, Serialized) {
                        Name (RBUF, ResourceTemplate () {
@@ -98,6 +98,19 @@ DefinitionBlock("SsdtPci.aml", "SSDT", 1, "ARMLTD", "ARM-JUNO", EFI_ACPI_ARM_OEM
                                        0x00000000,                                                     // Translate
                                        0x100000000                                                             // Length
                                )
+
+                               DWordIo ( // IO window
+                                       ResourceProducer,
+                                       MinFixed,
+                                       MaxFixed,
+                                       PosDecode,
+                                       EntireRange,
+                                       0x00000000,                                                     // Granularity
+                                       0x5f800000,                                                     // Min Base Address
+                                       0x5fffffff,                                                     // Max Base Address
+                                       0x5f800000,                                                     // Translate
+                                       0x00800000                                                      // Length
+                               )
                        }) // Name(RBUF)
                        
                        Return (RBUF)