mbox series

[v2,00/14] net: ldpaa_eth: transition to CONFIG_DM_ETH

Message ID 20200318144749.25509-1-ioana.ciornei@nxp.com
Headers show
Series net: ldpaa_eth: transition to CONFIG_DM_ETH | expand

Message

Ioana Ciornei March 18, 2020, 2:47 p.m. UTC
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 at 80c000000
 simple_bus    1  [ + ]   generic_simple_bus    |   `-- dpmacs
 eth           0  [ + ]   ldpaa_eth             |       |-- DPMAC1 at xfi
 eth           1  [ + ]   ldpaa_eth             |       |-- DPMAC2 at xfi
 eth           2  [ + ]   ldpaa_eth             |       |-- DPMAC3 at xfi
 eth           3  [ + ]   ldpaa_eth             |       |-- DPMAC4 at xfi
 eth           4  [ + ]   ldpaa_eth             |       |-- DPMAC5 at xfi
 eth           5  [ + ]   ldpaa_eth             |       |-- DPMAC6 at xfi
 eth           6  [ + ]   ldpaa_eth             |       |-- DPMAC7 at xfi
 eth           7  [ + ]   ldpaa_eth             |       `-- DPMAC8 at xfi
 mdio          0  [ + ]   fsl_ls_mdio           |-- mdio at 8B96000
 mdio          1  [ + ]   fsl_ls_mdio           `-- mdio at 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

Comments

Ioana Ciornei March 27, 2020, 11:14 a.m. UTC | #1
> Subject: [PATCH v2 00/14] net: ldpaa_eth: transition to CONFIG_DM_ETH
> 
> 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.
> 

Hi Priyanka,

Any feedback regarding this series that I can act on?

Ioana

> 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 at 80c000000
>  simple_bus    1  [ + ]   generic_simple_bus    |   `-- dpmacs
>  eth           0  [ + ]   ldpaa_eth             |       |-- DPMAC1 at xfi
>  eth           1  [ + ]   ldpaa_eth             |       |-- DPMAC2 at xfi
>  eth           2  [ + ]   ldpaa_eth             |       |-- DPMAC3 at xfi
>  eth           3  [ + ]   ldpaa_eth             |       |-- DPMAC4 at xfi
>  eth           4  [ + ]   ldpaa_eth             |       |-- DPMAC5 at xfi
>  eth           5  [ + ]   ldpaa_eth             |       |-- DPMAC6 at xfi
>  eth           6  [ + ]   ldpaa_eth             |       |-- DPMAC7 at xfi
>  eth           7  [ + ]   ldpaa_eth             |       `-- DPMAC8 at xfi
>  mdio          0  [ + ]   fsl_ls_mdio           |-- mdio at 8B96000
>  mdio          1  [ + ]   fsl_ls_mdio           `-- mdio at 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
> 
> --
> 2.17.1