From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.9738.1589301692521652954 for ; Tue, 12 May 2020 09:41:32 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ard.biesheuvel@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3D3571FB; Tue, 12 May 2020 09:41:31 -0700 (PDT) Received: from e123331-lin.nice.arm.com (unknown [10.37.8.255]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5573A3F305; Tue, 12 May 2020 09:41:29 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: leif@nuviainc.com, philmd@redhat.com, Ard Biesheuvel , Pete Batard , Jared McNeill , Andrei Warkentin , Samer El-Haj-Mahmoud , Jeremy Linton Subject: [PATCH edk2-platforms v3 0/8] Add Broadcom GENET driver for RPi4 Date: Tue, 12 May 2020 18:41:17 +0200 Message-Id: <20200512164125.28139-1-ard.biesheuvel@arm.com> X-Mailer: git-send-email 2.17.1 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 Cc: Jared McNeill Cc: Andrei Warkentin Cc: Samer El-Haj-Mahmoud Cc: Jeremy Linton [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