public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface
@ 2020-02-03 13:40 Pete Batard
  2020-02-08  8:52 ` Ard Biesheuvel
  2020-02-14  8:55 ` Ard Biesheuvel
  0 siblings, 2 replies; 5+ messages in thread
From: Pete Batard @ 2020-02-03 13:40 UTC (permalink / raw)
  To: devel; +Cc: ard.biesheuvel, leif, philmd, lintonrjeremy

The Raspberry Pi 4 platforms uses a Broadcom Genet network interface, for
which we need ACPI entries in order to make it usable under Linux.

This patch adds these entries, including a max-dma-burst-size DSD attribute
aimed at simplifying support for Genet on distros that use older kernels,
such as Debian.

Note that we ran these settings through someone working for Broadcom, who
okayed the proposed values including ownership of max-dma-burst-size (which
we expect to also require for Device Tree usage on older kernels, hence the
requirement for a designated owner).

Signed-off-by: Pete Batard <pete@akeo.ie>
---
 Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl | 29 ++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
index b2f1d3439211..12c3967fa9e1 100644
--- a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
+++ b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
@@ -267,6 +267,35 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "MSFT", "EDK2", 2)
       }
     }
 
+    Device (ETH0)
+    {
+      Name (_HID, "BCM6E4E")
+      Name (_CID, "BCM6E4E")
+      Name (_UID, 0x0)
+      Name (_CCA, 0x0)
+      Method (_STA)
+      {
+        Return (0xf)
+      }
+      Method (_CRS, 0x0, Serialized)
+      {
+        Name (RBUF, ResourceTemplate ()
+        {
+          Memory32Fixed (ReadWrite, 0xfd580000, 0x10000, )
+          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
+          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }
+        })
+        Return (RBUF)
+      }
+      Name (_DSD, Package () {
+        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
+        Package () {
+          Package () { "brcm,max-dma-burst-size", 0x08 },
+          Package () { "phy-mode", "rgmii" },
+        }
+      })
+    }
+
     // Description: I2C
     Device (I2C1)
     {
-- 
2.21.0.windows.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface
  2020-02-03 13:40 [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface Pete Batard
@ 2020-02-08  8:52 ` Ard Biesheuvel
  2020-02-08 14:19   ` Pete Batard
  2020-02-14  8:55 ` Ard Biesheuvel
  1 sibling, 1 reply; 5+ messages in thread
From: Ard Biesheuvel @ 2020-02-08  8:52 UTC (permalink / raw)
  To: Pete Batard
  Cc: edk2-devel-groups-io, Leif Lindholm, Philippe Mathieu-Daudé,
	Jeremy Linton

On Mon, 3 Feb 2020 at 13:40, Pete Batard <pete@akeo.ie> wrote:
>
> The Raspberry Pi 4 platforms uses a Broadcom Genet network interface, for
> which we need ACPI entries in order to make it usable under Linux.
>
> This patch adds these entries, including a max-dma-burst-size DSD attribute
> aimed at simplifying support for Genet on distros that use older kernels,
> such as Debian.
>
> Note that we ran these settings through someone working for Broadcom, who
> okayed the proposed values including ownership of max-dma-burst-size (which
> we expect to also require for Device Tree usage on older kernels, hence the
> requirement for a designated owner).
>
> Signed-off-by: Pete Batard <pete@akeo.ie>
> ---
>  Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl | 29 ++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> index b2f1d3439211..12c3967fa9e1 100644
> --- a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> +++ b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> @@ -267,6 +267,35 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "MSFT", "EDK2", 2)
>        }
>      }
>
> +    Device (ETH0)
> +    {
> +      Name (_HID, "BCM6E4E")
> +      Name (_CID, "BCM6E4E")

What is the point of having identical _HID and _CID? Is that a Windows thing?

> +      Name (_UID, 0x0)
> +      Name (_CCA, 0x0)
> +      Method (_STA)
> +      {
> +        Return (0xf)
> +      }
> +      Method (_CRS, 0x0, Serialized)
> +      {
> +        Name (RBUF, ResourceTemplate ()
> +        {
> +          Memory32Fixed (ReadWrite, 0xfd580000, 0x10000, )

We could grab that base address from a PCD as well, no?

> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }

Why not

Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD, 0xBE }

?

> +        })
> +        Return (RBUF)
> +      }
> +      Name (_DSD, Package () {
> +        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
> +        Package () {
> +          Package () { "brcm,max-dma-burst-size", 0x08 },
> +          Package () { "phy-mode", "rgmii" },
> +        }
> +      })
> +    }
> +
>      // Description: I2C
>      Device (I2C1)
>      {
> --
> 2.21.0.windows.1
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface
  2020-02-08  8:52 ` Ard Biesheuvel
@ 2020-02-08 14:19   ` Pete Batard
  2020-02-08 17:24     ` Ard Biesheuvel
  0 siblings, 1 reply; 5+ messages in thread
From: Pete Batard @ 2020-02-08 14:19 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-groups-io, Leif Lindholm, Philippe Mathieu-Daudé,
	Jeremy Linton

On 2020.02.08 08:52, Ard Biesheuvel wrote:
> On Mon, 3 Feb 2020 at 13:40, Pete Batard <pete@akeo.ie> wrote:
>>
>> The Raspberry Pi 4 platforms uses a Broadcom Genet network interface, for
>> which we need ACPI entries in order to make it usable under Linux.
>>
>> This patch adds these entries, including a max-dma-burst-size DSD attribute
>> aimed at simplifying support for Genet on distros that use older kernels,
>> such as Debian.
>>
>> Note that we ran these settings through someone working for Broadcom, who
>> okayed the proposed values including ownership of max-dma-burst-size (which
>> we expect to also require for Device Tree usage on older kernels, hence the
>> requirement for a designated owner).
>>
>> Signed-off-by: Pete Batard <pete@akeo.ie>
>> ---
>>   Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl | 29 ++++++++++++++++++++
>>   1 file changed, 29 insertions(+)
>>
>> diff --git a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
>> index b2f1d3439211..12c3967fa9e1 100644
>> --- a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
>> +++ b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
>> @@ -267,6 +267,35 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "MSFT", "EDK2", 2)
>>         }
>>       }
>>
>> +    Device (ETH0)
>> +    {
>> +      Name (_HID, "BCM6E4E")
>> +      Name (_CID, "BCM6E4E")
> 
> What is the point of having identical _HID and _CID? Is that a Windows thing?
> 
>> +      Name (_UID, 0x0)
>> +      Name (_CCA, 0x0)
>> +      Method (_STA)
>> +      {
>> +        Return (0xf)
>> +      }
>> +      Method (_CRS, 0x0, Serialized)
>> +      {
>> +        Name (RBUF, ResourceTemplate ()
>> +        {
>> +          Memory32Fixed (ReadWrite, 0xfd580000, 0x10000, )
> 
> We could grab that base address from a PCD as well, no?

Well, we don't seem to be using PCDs in any of the .asl's we have (we 
only do so on .aslc) and, also, that couldn't really be done without the 
previous series having been integrated.

I don't mind going for a PCD here, but do you really want to do that 
just for ETH0? It'll just look weird because it's going to be the only 
.asl address that we'll pick from a PCD.

If we're going to move to using PCDs in .asl's, I'd rather do that 
across the board and craft a patch that addresses all, including 
Uart.asl and so on... Else, it's a bit inconsistent as far as I'm concerned.

>> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
>> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }
> 
> Why not
> 
> Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD, 0xBE }

Likewise: Consistency (be it ill placed or not).

We've simply followed what GPIO had here.

Again, I don't mind making the .asl cleaner, but if we're going to do 
so, I'd rather not be piecemeal about it, and do that in a separate 
patch that harmonises the whole thing.

If you're okay with that approach, and not require a v2 for this, I can 
send a separate patch that cleans up the .asl's and uses PCDs early next 
week.

Regards,

/Pete

> 
> ?
> 
>> +        })
>> +        Return (RBUF)
>> +      }
>> +      Name (_DSD, Package () {
>> +        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
>> +        Package () {
>> +          Package () { "brcm,max-dma-burst-size", 0x08 },
>> +          Package () { "phy-mode", "rgmii" },
>> +        }
>> +      })
>> +    }
>> +
>>       // Description: I2C
>>       Device (I2C1)
>>       {
>> --
>> 2.21.0.windows.1
>>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface
  2020-02-08 14:19   ` Pete Batard
@ 2020-02-08 17:24     ` Ard Biesheuvel
  0 siblings, 0 replies; 5+ messages in thread
From: Ard Biesheuvel @ 2020-02-08 17:24 UTC (permalink / raw)
  To: Pete Batard
  Cc: edk2-devel-groups-io, Leif Lindholm, Philippe Mathieu-Daudé,
	Jeremy Linton

On Sat, 8 Feb 2020 at 15:19, Pete Batard <pete@akeo.ie> wrote:
>
> On 2020.02.08 08:52, Ard Biesheuvel wrote:
> > On Mon, 3 Feb 2020 at 13:40, Pete Batard <pete@akeo.ie> wrote:
> >>
> >> The Raspberry Pi 4 platforms uses a Broadcom Genet network interface, for
> >> which we need ACPI entries in order to make it usable under Linux.
> >>
> >> This patch adds these entries, including a max-dma-burst-size DSD attribute
> >> aimed at simplifying support for Genet on distros that use older kernels,
> >> such as Debian.
> >>
> >> Note that we ran these settings through someone working for Broadcom, who
> >> okayed the proposed values including ownership of max-dma-burst-size (which
> >> we expect to also require for Device Tree usage on older kernels, hence the
> >> requirement for a designated owner).
> >>
> >> Signed-off-by: Pete Batard <pete@akeo.ie>
> >> ---
> >>   Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl | 29 ++++++++++++++++++++
> >>   1 file changed, 29 insertions(+)
> >>
> >> diff --git a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> >> index b2f1d3439211..12c3967fa9e1 100644
> >> --- a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> >> +++ b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> >> @@ -267,6 +267,35 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "MSFT", "EDK2", 2)
> >>         }
> >>       }
> >>
> >> +    Device (ETH0)
> >> +    {
> >> +      Name (_HID, "BCM6E4E")
> >> +      Name (_CID, "BCM6E4E")
> >
> > What is the point of having identical _HID and _CID? Is that a Windows thing?
> >
> >> +      Name (_UID, 0x0)
> >> +      Name (_CCA, 0x0)
> >> +      Method (_STA)
> >> +      {
> >> +        Return (0xf)
> >> +      }
> >> +      Method (_CRS, 0x0, Serialized)
> >> +      {
> >> +        Name (RBUF, ResourceTemplate ()
> >> +        {
> >> +          Memory32Fixed (ReadWrite, 0xfd580000, 0x10000, )
> >
> > We could grab that base address from a PCD as well, no?
>
> Well, we don't seem to be using PCDs in any of the .asl's we have (we
> only do so on .aslc) and, also, that couldn't really be done without the
> previous series having been integrated.
>
> I don't mind going for a PCD here, but do you really want to do that
> just for ETH0? It'll just look weird because it's going to be the only
> .asl address that we'll pick from a PCD.
>
> If we're going to move to using PCDs in .asl's, I'd rather do that
> across the board and craft a patch that addresses all, including
> Uart.asl and so on... Else, it's a bit inconsistent as far as I'm concerned.
>

That's a fair point. Let's leave it for now.

> >> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
> >> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }
> >
> > Why not
> >
> > Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD, 0xBE }
>
> Likewise: Consistency (be it ill placed or not).
>
> We've simply followed what GPIO had here.
>
> Again, I don't mind making the .asl cleaner, but if we're going to do
> so, I'd rather not be piecemeal about it, and do that in a separate
> patch that harmonises the whole thing.
>
> If you're okay with that approach, and not require a v2 for this, I can
> send a separate patch that cleans up the .asl's and uses PCDs early next
> week.
>

I'll just merge the patch as-is. These are mostly nitpicks anyway, and
the current version has been tested and is know to work (right?) so no
point in doing a  respin.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface
  2020-02-03 13:40 [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface Pete Batard
  2020-02-08  8:52 ` Ard Biesheuvel
@ 2020-02-14  8:55 ` Ard Biesheuvel
  1 sibling, 0 replies; 5+ messages in thread
From: Ard Biesheuvel @ 2020-02-14  8:55 UTC (permalink / raw)
  To: Pete Batard
  Cc: edk2-devel-groups-io, Leif Lindholm, Philippe Mathieu-Daudé,
	Jeremy Linton

On Mon, 3 Feb 2020 at 14:40, Pete Batard <pete@akeo.ie> wrote:
>
> The Raspberry Pi 4 platforms uses a Broadcom Genet network interface, for
> which we need ACPI entries in order to make it usable under Linux.
>
> This patch adds these entries, including a max-dma-burst-size DSD attribute
> aimed at simplifying support for Genet on distros that use older kernels,
> such as Debian.
>
> Note that we ran these settings through someone working for Broadcom, who
> okayed the proposed values including ownership of max-dma-burst-size (which
> we expect to also require for Device Tree usage on older kernels, hence the
> requirement for a designated owner).
>
> Signed-off-by: Pete Batard <pete@akeo.ie>

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Pushed as 2f1cb7447690..cc7a0c68618c


> ---
>  Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl | 29 ++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> index b2f1d3439211..12c3967fa9e1 100644
> --- a/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> +++ b/Platform/RaspberryPi/RPi4/AcpiTables/Dsdt.asl
> @@ -267,6 +267,35 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 5, "MSFT", "EDK2", 2)
>        }
>      }
>
> +    Device (ETH0)
> +    {
> +      Name (_HID, "BCM6E4E")
> +      Name (_CID, "BCM6E4E")
> +      Name (_UID, 0x0)
> +      Name (_CCA, 0x0)
> +      Method (_STA)
> +      {
> +        Return (0xf)
> +      }
> +      Method (_CRS, 0x0, Serialized)
> +      {
> +        Name (RBUF, ResourceTemplate ()
> +        {
> +          Memory32Fixed (ReadWrite, 0xfd580000, 0x10000, )
> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBD }
> +          Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 0xBE }
> +        })
> +        Return (RBUF)
> +      }
> +      Name (_DSD, Package () {
> +        ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
> +        Package () {
> +          Package () { "brcm,max-dma-burst-size", 0x08 },
> +          Package () { "phy-mode", "rgmii" },
> +        }
> +      })
> +    }
> +
>      // Description: I2C
>      Device (I2C1)
>      {
> --
> 2.21.0.windows.1
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-02-14  8:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-03 13:40 [edk2-platforms][PATCH 1/1] Platform/RPi4: Add ACPI entry for Genet network interface Pete Batard
2020-02-08  8:52 ` Ard Biesheuvel
2020-02-08 14:19   ` Pete Batard
2020-02-08 17:24     ` Ard Biesheuvel
2020-02-14  8:55 ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox