
This patch set targets to add support for CONFIG_DM_ETH in DPAA2 based SoCs. We start by adding a DM MDIO driver for the MDIO interface found on the mEMAC. The next two patches start the transition of the ldpaa_eth and fsl-mc drivers towards using the 'struct udevice' and probing on DTS nodes.
Any unnecessary configurations made for the DPAA2 ethernet devices are compiled out when CONFIG_DM_ETH. This is because any information necessary is available in its associated DTS node.
For the moment, only configs of RDB boards are transitioned to CONFIG_DM_ETH since its more of a straightforward move than for the QDS ones.
As an example, the 'dm tree' output for a LS2088ARDB board looks something like the following:
=> dm tree Class Index Probed Driver Name ----------------------------------------------------------- (...) simple_bus 0 [ + ] generic_simple_bus |-- fsl-mc@80c000000 simple_bus 1 [ + ] generic_simple_bus | `-- dpmacs eth 0 [ + ] ldpaa_eth | |-- DPMAC1@xfi eth 1 [ + ] ldpaa_eth | |-- DPMAC2@xfi eth 2 [ + ] ldpaa_eth | |-- DPMAC3@xfi eth 3 [ + ] ldpaa_eth | |-- DPMAC4@xfi eth 4 [ + ] ldpaa_eth | |-- DPMAC5@xfi eth 5 [ + ] ldpaa_eth | |-- DPMAC6@xfi eth 6 [ + ] ldpaa_eth | |-- DPMAC7@xfi eth 7 [ + ] ldpaa_eth | `-- DPMAC8@xfi mdio 0 [ + ] fsl_ls_mdio |-- mdio@8B96000 mdio 1 [ + ] fsl_ls_mdio `-- mdio@8B97000
Changes in v2: - used the positive logic (ifdef CONFIG_DM_ETH instead of ifndef) - refactor the mdio read/write code for code reuse
Ioana Ciornei (14): drivers: net: add Layerscape mEMAC MDIO driver drivers: net: ldpaa: add support for probing based on the DTS drivers: net: fsl-mc: add support for CONFIG_DM_ETH board: ls1088ardb: transition to DM_ETH board: ls2088ardb: transition to DM_ETH arm: dts: lx2160a: add external MDIO nodes arm: dts: ls2088a: add external MDIO nodes arm: dts: ls1088a: add external MDIO nodes arm: dts: lx2160ardb: add DPMAC and PHY nodes arm: dts: ls2088ardb: add DPMAC and PHY nodes arm: dts: ls1088ardb: add DPMAC and PHY nodes configs: ls1088ardb: enable CONFIG_DM_ETH and related configs: ls2088ardb: enable CONFIG_DM_ETH and related configs: lx2160ardb: enable CONFIG_DM_ETH and related
arch/arm/dts/fsl-ls1088a-rdb.dts | 102 ++++++++ arch/arm/dts/fsl-ls1088a.dtsi | 102 +++++++- arch/arm/dts/fsl-ls2080a.dtsi | 90 ++++++- arch/arm/dts/fsl-ls2088a-rdb-qspi.dts | 88 +++++++ arch/arm/dts/fsl-lx2160a-rdb.dts | 52 ++++ arch/arm/dts/fsl-lx2160a.dtsi | 65 +++++ board/freescale/ls1088a/eth_ls1088ardb.c | 2 + board/freescale/ls1088a/ls1088a.c | 5 + board/freescale/ls2080ardb/eth_ls2080rdb.c | 7 + board/freescale/ls2080ardb/ls2080ardb.c | 4 + configs/ls1088ardb_qspi_SECURE_BOOT_defconfig | 5 + configs/ls1088ardb_qspi_defconfig | 5 + ...1088ardb_sdcard_qspi_SECURE_BOOT_defconfig | 5 + configs/ls1088ardb_sdcard_qspi_defconfig | 5 + configs/ls1088ardb_tfa_SECURE_BOOT_defconfig | 5 + configs/ls1088ardb_tfa_defconfig | 5 + configs/ls2088ardb_qspi_SECURE_BOOT_defconfig | 4 + configs/ls2088ardb_qspi_defconfig | 4 + configs/ls2088ardb_tfa_SECURE_BOOT_defconfig | 4 + configs/ls2088ardb_tfa_defconfig | 4 + configs/lx2160ardb_tfa_SECURE_BOOT_defconfig | 4 + configs/lx2160ardb_tfa_defconfig | 4 + drivers/net/Kconfig | 7 + drivers/net/Makefile | 1 + drivers/net/fsl-mc/mc.c | 48 +++- drivers/net/fsl_ls_mdio.c | 146 +++++++++++ drivers/net/ldpaa_eth/ldpaa_eth.c | 231 +++++++++++++++--- drivers/net/ldpaa_eth/ldpaa_eth.h | 6 + include/configs/ls1088ardb.h | 2 + 29 files changed, 956 insertions(+), 56 deletions(-) create mode 100644 drivers/net/fsl_ls_mdio.c