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

Reply via email to