[edk2-devel] [PATCH edk2-platforms v3 0/8] Add Broadcom GENET driver for RPi4

Ard Biesheuvel posted 8 patches 3 years, 10 months ago
Failed in applying to current master (apply log)
Silicon/Broadcom/Bcm27xx/Bcm27xx.dec          |   2 +
Silicon/Broadcom/Drivers/Net/BcmNet.dec       |   8 +-
Platform/RaspberryPi/RPi4/RPi4.dsc            |   8 +-
Platform/RaspberryPi/RPi4/RPi4.fdf            |   1 -
.../RaspberryPi/AcpiTables/AcpiTables.inf     |   2 +-
.../Drivers/ConfigDxe/ConfigDxe.inf           |  29 +-
.../Library/PlatformPcdLib/PlatformPcdLib.inf |  43 -
.../Drivers/Net/BcmGenetDxe/BcmGenetDxe.inf   |  46 +-
.../Include/IndustryStandard/Bcm2711.h        |   3 +
.../Drivers/Net/BcmGenetDxe/BcmGenetDxe.h     | 363 ++++++++
.../Drivers/Net/BcmGenetDxe/GenericPhy.h      | 133 +++
.../Broadcom/Drivers/Net/Include/Net/Genet.h  |  21 -
.../Include/Protocol/BcmGenetPlatformDevice.h |  24 +
.../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 108 ++-
.../Library/PlatformPcdLib/PlatformPcdLib.c   |  45 -
.../Drivers/Net/BcmGenetDxe/ComponentName.c   | 202 +++++
.../Drivers/Net/BcmGenetDxe/DriverBinding.c   | 408 +++++++++
.../Drivers/Net/BcmGenetDxe/GenericPhy.c      | 404 +++++++++
.../Broadcom/Drivers/Net/BcmGenetDxe/Genet.c  | 114 ---
.../Drivers/Net/BcmGenetDxe/GenetUtil.c       | 814 +++++++++++++++++
.../Drivers/Net/BcmGenetDxe/SimpleNetwork.c   | 838 ++++++++++++++++++
Platform/RaspberryPi/AcpiTables/Dsdt.asl      |   2 +-
22 files changed, 3350 insertions(+), 268 deletions(-)
delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.inf
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/BcmGenetDxe.h
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.h
delete mode 100644 Silicon/Broadcom/Drivers/Net/Include/Net/Genet.h
create mode 100644 Silicon/Broadcom/Drivers/Net/Include/Protocol/BcmGenetPlatformDevice.h
delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.c
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/ComponentName.c
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.c
delete mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/Genet.c
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenetUtil.c
create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/SimpleNetwork.c
[edk2-devel] [PATCH edk2-platforms v3 0/8] Add Broadcom GENET driver for RPi4
Posted by Ard Biesheuvel 3 years, 10 months ago
This is a followup to Samer's v1 [0], and incorporates all the delta
changes posted for review over the past couple of days. This is a
roundup of all that work, and therefore supersedes it.

It provides an implementation of the SimpleNetworkProtocol for the
Raspberry Pi4's GENET network controller, in a way that adheres to the
UEFI driver model.

The original submission was provided by Jared, based on Jeremy's MAC
programming-only driver and the existing BSD driver for the GENET IP.
Cumulative changes and fixes as well as review feedback were provided
by all of the below.

Changes since v2:
- replace 'master' include with per C file includes of the required
  headers
- add comments describing the PHY registers to GenericPhy.h
- split off patch #5 from subsequent ConfigDxe change
- other minor style fixes suggested by Leif
- add Leif's ack where given

https://github.com/ardbiesheuvel/edk2-platforms/tree/rpi4_genet_combi_v2
https://github.com/ardbiesheuvel/edk2-platforms/tree/rpi4_genet_combi_v3

Cc: Pete Batard <pete@akeo.ie>
Cc: Jared McNeill <jmcneill@invisible.ca>
Cc: Andrei Warkentin <awarkentin@vmware.com>
Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Cc: Jeremy Linton <jeremy.linton@arm.com>

[0] https://edk2.groups.io/g/devel/message/58903

Andrei Warkentin (1):
  Platform/RaspberryPi4: Remove PlatformPcdLib

Ard Biesheuvel (7):
  Platform/RaspberryPi4: set DMA translation for BCM Genet driver
  Silicon/Broadcom: Add BcmGenetPlatformDevice protocol
  Silicon/Broadcom/BcmGenetDxe: Add GENET driver
  Platform/RaspberryPi4: Clean up PCDs out of the GENET driver
  Platform/RaspberryPi/ConfigDxe: preliminary cleanup
  Platform/RaspberryPi4: Register GENET platform device protocol
  Platform/RaspberryPi4: remove ASIX 88772b driver

 Silicon/Broadcom/Bcm27xx/Bcm27xx.dec          |   2 +
 Silicon/Broadcom/Drivers/Net/BcmNet.dec       |   8 +-
 Platform/RaspberryPi/RPi4/RPi4.dsc            |   8 +-
 Platform/RaspberryPi/RPi4/RPi4.fdf            |   1 -
 .../RaspberryPi/AcpiTables/AcpiTables.inf     |   2 +-
 .../Drivers/ConfigDxe/ConfigDxe.inf           |  29 +-
 .../Library/PlatformPcdLib/PlatformPcdLib.inf |  43 -
 .../Drivers/Net/BcmGenetDxe/BcmGenetDxe.inf   |  46 +-
 .../Include/IndustryStandard/Bcm2711.h        |   3 +
 .../Drivers/Net/BcmGenetDxe/BcmGenetDxe.h     | 363 ++++++++
 .../Drivers/Net/BcmGenetDxe/GenericPhy.h      | 133 +++
 .../Broadcom/Drivers/Net/Include/Net/Genet.h  |  21 -
 .../Include/Protocol/BcmGenetPlatformDevice.h |  24 +
 .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 108 ++-
 .../Library/PlatformPcdLib/PlatformPcdLib.c   |  45 -
 .../Drivers/Net/BcmGenetDxe/ComponentName.c   | 202 +++++
 .../Drivers/Net/BcmGenetDxe/DriverBinding.c   | 408 +++++++++
 .../Drivers/Net/BcmGenetDxe/GenericPhy.c      | 404 +++++++++
 .../Broadcom/Drivers/Net/BcmGenetDxe/Genet.c  | 114 ---
 .../Drivers/Net/BcmGenetDxe/GenetUtil.c       | 814 +++++++++++++++++
 .../Drivers/Net/BcmGenetDxe/SimpleNetwork.c   | 838 ++++++++++++++++++
 Platform/RaspberryPi/AcpiTables/Dsdt.asl      |   2 +-
 22 files changed, 3350 insertions(+), 268 deletions(-)
 delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.inf
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/BcmGenetDxe.h
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.h
 delete mode 100644 Silicon/Broadcom/Drivers/Net/Include/Net/Genet.h
 create mode 100644 Silicon/Broadcom/Drivers/Net/Include/Protocol/BcmGenetPlatformDevice.h
 delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.c
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/ComponentName.c
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.c
 delete mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/Genet.c
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenetUtil.c
 create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/SimpleNetwork.c

-- 
2.17.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#59298): https://edk2.groups.io/g/devel/message/59298
Mute This Topic: https://groups.io/mt/74162663/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH edk2-platforms v3 0/8] Add Broadcom GENET driver for RPi4
Posted by Leif Lindholm 3 years, 10 months ago
On Tue, May 12, 2020 at 18:41:17 +0200, Ard Biesheuvel wrote:
> This is a followup to Samer's v1 [0], and incorporates all the delta
> changes posted for review over the past couple of days. This is a
> roundup of all that work, and therefore supersedes it.
> 
> It provides an implementation of the SimpleNetworkProtocol for the
> Raspberry Pi4's GENET network controller, in a way that adheres to the
> UEFI driver model.
> 
> The original submission was provided by Jared, based on Jeremy's MAC
> programming-only driver and the existing BSD driver for the GENET IP.
> Cumulative changes and fixes as well as review feedback were provided
> by all of the below.
> 
> Changes since v2:
> - replace 'master' include with per C file includes of the required
>   headers
> - add comments describing the PHY registers to GenericPhy.h
> - split off patch #5 from subsequent ConfigDxe change
> - other minor style fixes suggested by Leif
> - add Leif's ack where given

Thanks!
For remaining patches in set:
Reviewed-by: Leif Lindholm <leif@nuviainc.com>

> https://github.com/ardbiesheuvel/edk2-platforms/tree/rpi4_genet_combi_v2
> https://github.com/ardbiesheuvel/edk2-platforms/tree/rpi4_genet_combi_v3
> 
> Cc: Pete Batard <pete@akeo.ie>
> Cc: Jared McNeill <jmcneill@invisible.ca>
> Cc: Andrei Warkentin <awarkentin@vmware.com>
> Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
> Cc: Jeremy Linton <jeremy.linton@arm.com>
> 
> [0] https://edk2.groups.io/g/devel/message/58903
> 
> Andrei Warkentin (1):
>   Platform/RaspberryPi4: Remove PlatformPcdLib
> 
> Ard Biesheuvel (7):
>   Platform/RaspberryPi4: set DMA translation for BCM Genet driver
>   Silicon/Broadcom: Add BcmGenetPlatformDevice protocol
>   Silicon/Broadcom/BcmGenetDxe: Add GENET driver
>   Platform/RaspberryPi4: Clean up PCDs out of the GENET driver
>   Platform/RaspberryPi/ConfigDxe: preliminary cleanup
>   Platform/RaspberryPi4: Register GENET platform device protocol
>   Platform/RaspberryPi4: remove ASIX 88772b driver
> 
>  Silicon/Broadcom/Bcm27xx/Bcm27xx.dec          |   2 +
>  Silicon/Broadcom/Drivers/Net/BcmNet.dec       |   8 +-
>  Platform/RaspberryPi/RPi4/RPi4.dsc            |   8 +-
>  Platform/RaspberryPi/RPi4/RPi4.fdf            |   1 -
>  .../RaspberryPi/AcpiTables/AcpiTables.inf     |   2 +-
>  .../Drivers/ConfigDxe/ConfigDxe.inf           |  29 +-
>  .../Library/PlatformPcdLib/PlatformPcdLib.inf |  43 -
>  .../Drivers/Net/BcmGenetDxe/BcmGenetDxe.inf   |  46 +-
>  .../Include/IndustryStandard/Bcm2711.h        |   3 +
>  .../Drivers/Net/BcmGenetDxe/BcmGenetDxe.h     | 363 ++++++++
>  .../Drivers/Net/BcmGenetDxe/GenericPhy.h      | 133 +++
>  .../Broadcom/Drivers/Net/Include/Net/Genet.h  |  21 -
>  .../Include/Protocol/BcmGenetPlatformDevice.h |  24 +
>  .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 108 ++-
>  .../Library/PlatformPcdLib/PlatformPcdLib.c   |  45 -
>  .../Drivers/Net/BcmGenetDxe/ComponentName.c   | 202 +++++
>  .../Drivers/Net/BcmGenetDxe/DriverBinding.c   | 408 +++++++++
>  .../Drivers/Net/BcmGenetDxe/GenericPhy.c      | 404 +++++++++
>  .../Broadcom/Drivers/Net/BcmGenetDxe/Genet.c  | 114 ---
>  .../Drivers/Net/BcmGenetDxe/GenetUtil.c       | 814 +++++++++++++++++
>  .../Drivers/Net/BcmGenetDxe/SimpleNetwork.c   | 838 ++++++++++++++++++
>  Platform/RaspberryPi/AcpiTables/Dsdt.asl      |   2 +-
>  22 files changed, 3350 insertions(+), 268 deletions(-)
>  delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.inf
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/BcmGenetDxe.h
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.h
>  delete mode 100644 Silicon/Broadcom/Drivers/Net/Include/Net/Genet.h
>  create mode 100644 Silicon/Broadcom/Drivers/Net/Include/Protocol/BcmGenetPlatformDevice.h
>  delete mode 100644 Platform/RaspberryPi/Library/PlatformPcdLib/PlatformPcdLib.c
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/ComponentName.c
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenericPhy.c
>  delete mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/Genet.c
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/GenetUtil.c
>  create mode 100644 Silicon/Broadcom/Drivers/Net/BcmGenetDxe/SimpleNetwork.c
> 
> -- 
> 2.17.1
> 
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#59344): https://edk2.groups.io/g/devel/message/59344
Mute This Topic: https://groups.io/mt/74162663/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH edk2-platforms v3 0/8] Add Broadcom GENET driver for RPi4
Posted by Ard Biesheuvel 3 years, 10 months ago
On 5/12/20 7:15 PM, Leif Lindholm wrote:
> On Tue, May 12, 2020 at 18:41:17 +0200, Ard Biesheuvel wrote:
>> This is a followup to Samer's v1 [0], and incorporates all the delta
>> changes posted for review over the past couple of days. This is a
>> roundup of all that work, and therefore supersedes it.
>>
>> It provides an implementation of the SimpleNetworkProtocol for the
>> Raspberry Pi4's GENET network controller, in a way that adheres to the
>> UEFI driver model.
>>
>> The original submission was provided by Jared, based on Jeremy's MAC
>> programming-only driver and the existing BSD driver for the GENET IP.
>> Cumulative changes and fixes as well as review feedback were provided
>> by all of the below.
>>
>> Changes since v2:
>> - replace 'master' include with per C file includes of the required
>>    headers
>> - add comments describing the PHY registers to GenericPhy.h
>> - split off patch #5 from subsequent ConfigDxe change
>> - other minor style fixes suggested by Leif
>> - add Leif's ack where given
> 
> Thanks!
> For remaining patches in set:
> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
> 

Pushed as bfa32ac70a75..8977ff44a573

Thanks all!

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#59347): https://edk2.groups.io/g/devel/message/59347
Mute This Topic: https://groups.io/mt/74162663/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-