Revision: 18628 http://sourceforge.net/p/edk2/code/18628 Author: leiflindholm Date: 2015-10-19 15:14:13 +0000 (Mon, 19 Oct 2015) Log Message: ----------- Update the ACPI device information for ARM Juno.
These patches correct a number of problems with the JUNO ACPI tables. First, put CCA attributes on the devices which can do DMA. This is because the linux kernel now requires ARM64 devices specify a coherency model. Without CCA the devices are unable to perform DMA. Update the EHCI window to a full 64k as documented in the Juno Platform SoC TRM. This makes it match the values used in some other places. Finally, add some _DSD entries for the SMSC ethernet chip. The latter changes are required for the mainline kernels to use the adapter. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.lin...@arm.com> Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org> Modified Paths: -------------- trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl Modified: trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl =================================================================== --- trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl 2015-10-19 15:14:04 UTC (rev 18627) +++ trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl 2015-10-19 15:14:13 UTC (rev 18628) @@ -51,6 +51,7 @@ Name(_CID, EISAID("PNP0A03")) // Compatible PCI Root Bridge Name(_SEG, Zero) // PCI Segment Group number Name(_BBN, Zero) // PCI Base Bus Number + Name(_CCA, 1) // Initially mark the PCI coherent (for JunoR1) // Root Complex 0 Device (RP0) { Modified: trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl =================================================================== --- trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl 2015-10-19 15:14:04 UTC (rev 18627) +++ trunk/edk2/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl 2015-10-19 15:14:13 UTC (rev 18628) @@ -68,6 +68,15 @@ Memory32Fixed(ReadWrite, 0x1A000000, 0x1000) Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 192 } }) + Name(_DSD, Package() { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package() { + Package(2) {"phy-mode", "mii"}, + Package(2) {"reg-io-width", 4 }, + Package(2) {"smsc,irq-active-high",1}, + Package(2) {"smsc,irq-push-pull",1} + } + }) // _DSD() } // UART PL011 @@ -82,16 +91,17 @@ } // - // USB Host Controller + // USB EHCI Host Controller // Device(USB0){ Name(_HID, "ARMH0D20") Name(_CID, "PNP0D20") Name(_UID, 2) + Name(_CCA, 0) //EHCI on this platform is not coherent! Method(_CRS, 0x0, Serialized){ Name(RBUF, ResourceTemplate(){ - Memory32Fixed(ReadWrite, 0x7FFC0000, 0x000000B0) + Memory32Fixed(ReadWrite, 0x7FFC0000, 0x10000) Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) {149} // INT ID=149 GIC IRQ ID=117 for Juno SoC USB EHCI Controller }) Return(RBUF) ------------------------------------------------------------------------------ _______________________________________________ edk2-commits mailing list edk2-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-commits