[PATCH v3 0/5] ARM: Add GXP UMAC Support

From: nick . hawkins
Date: Wed Aug 16 2023 - 17:57:24 EST


From: Nick Hawkins <nick.hawkins@xxxxxxx>

The GXP contains two Ethernet MACs that can be
connected externally to several physical devices. From an external
interface perspective the BMC provides two SERDES interface connections
capable of either SGMII or 1000Base-X operation. The BMC also provides
a RMII interface for sideband connections to external Ethernet controllers.

The primary MAC (umac0) can be mapped to either SGMII/1000-BaseX
SERDES interface. The secondary MAC (umac1) can be mapped to only
the second SGMII/1000-Base X Serdes interface or it can be mapped for
RMII sideband.

The MDIO(mdio0) interface from the primary MAC (umac0) is used for
external PHY status. The MDIO(mdio1) interface from
the secondary MAC (umac1) is routed to the SGMII/100Base-X IP blocks
on the two SERDES interface connections. In most cases the internal
phy connects directly to the external phy.

---

Changes since v2:
*Removed PHY Configuration from MAC driver to Bootloader
*Fixed several issues with the Kconfig and Makefile for both
the mdio and umac driver.
*Fixed code alignment where applicable
*Removed MDIO from MAC yaml.
*Added description to explain the use-ncsi use case.
*Removed multiple unecessary functions and function calls
from MAC driver

Changes since v1:
*Corrected improper descriptions and use of | in yaml files
*Used reverse christmas tree format for network drivers
*Moved gxp-umac-mdio.c to /mdio/
*Fixed dependencies on both Kconfigs
*Added COMPILE_TEST to both Kconfigs
*Used devm_ functions where possible in both drivers
*Moved mac-address to inside of port in yaml files
*Exchanged listing individual yaml files for hpe,gxp*
*Restricted use of le32

Nick Hawkins (5):
dt-bindings: net: Add HPE GXP UMAC MDIO
net: hpe: Add GXP UMAC MDIO
dt-bindings: net: Add HPE GXP UMAC
net: hpe: Add GXP UMAC Driver
MAINTAINERS: HPE: Add GXP UMAC Networking Files

.../bindings/net/hpe,gxp-umac-mdio.yaml | 50 ++
.../devicetree/bindings/net/hpe,gxp-umac.yaml | 97 +++
MAINTAINERS | 2 +
drivers/net/ethernet/Kconfig | 1 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/hpe/Kconfig | 32 +
drivers/net/ethernet/hpe/Makefile | 1 +
drivers/net/ethernet/hpe/gxp-umac.c | 759 ++++++++++++++++++
drivers/net/ethernet/hpe/gxp-umac.h | 89 ++
drivers/net/mdio/Kconfig | 13 +
drivers/net/mdio/Makefile | 1 +
drivers/net/mdio/mdio-gxp-umac.c | 142 ++++
12 files changed, 1188 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/hpe,gxp-umac-mdio.yaml
create mode 100644 Documentation/devicetree/bindings/net/hpe,gxp-umac.yaml
create mode 100644 drivers/net/ethernet/hpe/Kconfig
create mode 100644 drivers/net/ethernet/hpe/Makefile
create mode 100644 drivers/net/ethernet/hpe/gxp-umac.c
create mode 100644 drivers/net/ethernet/hpe/gxp-umac.h
create mode 100644 drivers/net/mdio/mdio-gxp-umac.c

--
2.17.1