[PATCH net-next v5 0/5] enetc: Add mdio bus driver for the PCIe MDIO endpoint

From: Claudiu Manoil
Date: Thu Aug 01 2019 - 07:53:01 EST

First patch fixes a sparse issue and cleans up accessors to avoid
casting to __iomem. The second one cleans up the Makefile, to make
it easier to add new entries.

Third patch just registers the PCIe endpoint device containing
the MDIO registers as a standalone MDIO bus driver, to provide
an alternative way to control the MDIO bus. The same code used
by the ENETC ports (eth controllers) to manage MDIO via local
registers applies and is reused.

Bindings are provided for the new MDIO node, similarly to ENETC
port nodes bindings.

Last patch enables the ENETC port 1 and its RGMII PHY on the
LS1028A QDS board, where the MDIO muxing configuration relies
on the MDIO support provided in the first patch.

Changes since v0:
v1 - fixed mdio bus allocation
v2 - cleaned up accessors to avoid casting
v3 - fixed spelling (mostly commit message)
v4 - fixed err path check blunder
v5 - fixed loadble module build, provided separate kbuild module
for the driver

Claudiu Manoil (5):
enetc: Clean up local mdio bus allocation
enetc: Clean up makefile
enetc: Add mdio bus driver for the PCIe MDIO endpoint
dt-bindings: net: fsl: enetc: Add bindings for the central MDIO PCIe
arm64: dts: fsl: ls1028a: Enable eth port1 on the ls1028a QDS board

.../devicetree/bindings/net/fsl-enetc.txt | 42 +++++++-
.../boot/dts/freescale/fsl-ls1028a-qds.dts | 40 +++++++
.../arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 6 ++
drivers/net/ethernet/freescale/enetc/Kconfig | 9 ++
drivers/net/ethernet/freescale/enetc/Makefile | 19 ++--
.../net/ethernet/freescale/enetc/enetc_mdio.c | 97 ++++++++---------
.../net/ethernet/freescale/enetc/enetc_mdio.h | 12 +++
.../ethernet/freescale/enetc/enetc_pci_mdio.c | 101 ++++++++++++++++++
.../net/ethernet/freescale/enetc/enetc_pf.c | 5 +-
9 files changed, 264 insertions(+), 67 deletions(-)
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_mdio.h
create mode 100644 drivers/net/ethernet/freescale/enetc/enetc_pci_mdio.c