mbox series

[net-next,00/12] add support for Renesas RZ/N1 ethernet subsystem devices

Message ID 20220414122250.158113-1-clement.leger@bootlin.com (mailing list archive)
Headers show
Series add support for Renesas RZ/N1 ethernet subsystem devices | expand

Message

Clément Léger April 14, 2022, 12:22 p.m. UTC
The Renesas RZ/N1 SoCs features an ethernet subsystem which contains
(most notably) a switch, two GMACs, and a MII converter [1]. This
series adds support for the switch and the MII converter.

The MII converter present on this SoC has been represented as a PCS
which sit between the MACs and the PHY. This PCS driver is probed from
the device-tree since it requires to be configured. Indeed the MII
converter also contains the registers that are handling the muxing of
ports (Switch, MAC, HSR, RTOS, etc) internally to the SoC.

The switch driver is based on DSA and exposes 4 ports + 1 CPU
management port. It include basic bridging support as well as FDB and
statistics support.

Link: [1] https://www.renesas.com/us/en/document/mah/rzn1d-group-rzn1s-group-rzn1l-group-users-manual-r-engine-and-ethernet-peripherals

Clément Léger (12):
  net: dsa: add support for Renesas RZ/N1 A5PSW switch tag code
  net: dsa: add Renesas RZ/N1 switch tag driver
  dt-bindings: net: pcs: add bindings for Renesas RZ/N1 MII converter
  net: pcs: add Renesas MII converter driver
  dt-bindings: net: dsa: add bindings for Renesas RZ/N1 Advanced 5 port
    switch
  net: dsa: rzn1-a5psw: add Renesas RZ/N1 advanced 5 port switch driver
  net: dsa: rzn1-a5psw: add statistics support
  net: dsa: rzn1-a5psw: add FDB support
  ARM: dts: r9a06g032: describe MII converter
  ARM: dts: r9a06g032: describe GMAC2
  ARM: dts: r9a06g032: describe switch
  MAINTAINERS: add Renesas RZ/N1 switch related driver entry

 .../bindings/net/dsa/renesas,rzn1-a5psw.yaml  | 128 +++
 .../bindings/net/pcs/renesas,rzn1-miic.yaml   |  95 ++
 MAINTAINERS                                   |  11 +
 arch/arm/boot/dts/r9a06g032.dtsi              |  61 ++
 drivers/net/dsa/Kconfig                       |   9 +
 drivers/net/dsa/Makefile                      |   2 +
 drivers/net/dsa/rzn1_a5psw.c                  | 940 ++++++++++++++++++
 drivers/net/dsa/rzn1_a5psw.h                  | 214 ++++
 drivers/net/pcs/Kconfig                       |   7 +
 drivers/net/pcs/Makefile                      |   1 +
 drivers/net/pcs/pcs-rzn1-miic.c               | 350 +++++++
 include/dt-bindings/net/pcs-rzn1-miic.h       |  19 +
 include/linux/pcs-rzn1-miic.h                 |  18 +
 include/net/dsa.h                             |   2 +
 net/dsa/Kconfig                               |   8 +
 net/dsa/Makefile                              |   1 +
 net/dsa/tag_rzn1_a5psw.c                      | 112 +++
 17 files changed, 1978 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/renesas,rzn1-a5psw.yaml
 create mode 100644 Documentation/devicetree/bindings/net/pcs/renesas,rzn1-miic.yaml
 create mode 100644 drivers/net/dsa/rzn1_a5psw.c
 create mode 100644 drivers/net/dsa/rzn1_a5psw.h
 create mode 100644 drivers/net/pcs/pcs-rzn1-miic.c
 create mode 100644 include/dt-bindings/net/pcs-rzn1-miic.h
 create mode 100644 include/linux/pcs-rzn1-miic.h
 create mode 100644 net/dsa/tag_rzn1_a5psw.c