Hi Jeremy,

Thanks for this.

On Wed, Oct 14, 2015 at 10:10:06AM -0500, Jeremy Linton wrote:
> 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
> other places.
> 
> Finally, add the MALI GPU resources to the tables, and add some _DSD
> entries for the SMSC ethernet chip. The latter changes are required
> for the mainline kernels to use the adapter.

So ... I'm not sure there are any ACPI-aware drivers for the Mali bits
yet - I would be happier to leave that out until we've verified it
works.

Could you resubmit with that single change please?

> Signed-off-by: Jeremy Linton <[email protected]>
> ---
>  .../ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl      |  1 +
>  ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl      | 27 
> ++++++++++++++++++++--
>  2 files changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl 
> b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl
> index 7d50a5f..645ba93 100644
> --- a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl
> +++ b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/AcpiSsdtRootPci.asl
> @@ -51,6 +51,7 @@ DefinitionBlock("SsdtPci.aml", "SSDT", 1, "ARMLTD", 
> "ARM-JUNO", EFI_ACPI_ARM_OEM
>               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) {
> diff --git a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl 
> b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl
> index 7a56f00..987186f 100644
> --- a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl
> +++ b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Dsdt.asl
> @@ -68,6 +68,15 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 1, "ARMLTD", 
> "ARM-JUNO", EFI_ACPI_ARM_O
>                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,30 @@ DefinitionBlock("DsdtTable.aml", "DSDT", 1, "ARMLTD", 
> "ARM-JUNO", EFI_ACPI_ARM_O
>      }
>  
>      //
> -    // USB Host Controller
> +    // Mali GPU
> +    //
> +    Device(GPU0){
> +        Name(_HID, "ARMH0624")
> +        Name(_UID, Zero)
> +        Name(_CCA, 1)
> +        Name(_CRS, ResourceTemplate() {
> +                   Memory32Fixed(ReadWrite, 0x2D000000, 0x10000)
> +                   Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) 
> { 64 } // GPU interrupt 64, job interrupt 65, MMU interrupt 66
> +      })
> +    }
> +
> +    //
> +    // 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)
> -- 
> 2.4.3
> 
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to