First patch fixes a sparse issue and cleans up accessors to avoid casting to __iomem. Second patch just registers the PCIe endpoint device containing the MDIO registers as a standalone MDIO bus driver, to allow 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 Claudiu Manoil (4): enetc: Clean up local mdio bus allocation enetc: Add mdio bus driver for the PCIe MDIO endpoint dt-bindings: net: fsl: enetc: Add bindings for the central MDIO PCIe endpoint 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 + .../net/ethernet/freescale/enetc/enetc_mdio.c | 190 +++++++++++++----- .../net/ethernet/freescale/enetc/enetc_pf.c | 5 +- 5 files changed, 232 insertions(+), 51 deletions(-) -- 2.17.1