[PATCH net-next v4 00/14] Add ETHSW support for Renesas RZ/T2H and RZ/N2H SoCs

From: Prabhakar

Date: Wed Nov 04 2026 - 13:35:59 EST


From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>

Hi all,

The RZ/T2H and RZ/N2H SoCs integrate an Ethernet switch derived from the
RZ/N1 A5PSW, but with a different port topology, additional clock and
reset resources, and different tag control-data semantics.

This series extends the existing A5PSW DSA driver to support the ETHSW
variant while preserving RZ/N1 behavior. It adds a distinct DSA tag
protocol for ETHSW, selects switch topology and tag protocol through
SoC match data, handles the ETHSW clock and reset resources, and applies
a management-port frame-length workaround for an ETHSW hardware issue.
The binding and Kconfig entries are updated to describe and enable the
new variants.

v3->v4:
- Added new patch to DT binding to restrict to use only ethernet ports
- Added restriction to validate the reg property in ethernet ports
- Restricted the reg property for ethernet-ports to maximum 3 for RZ/T2H
- Added RB tag from Rob for the DT binding changes
- Added return value check for of_device_get_match_data()

v2->v3:
- Added new patch to restrict ports beyond port@4
- Added a restriction to disallow port@4 on T2H SoC
- Updated commit message for patch #5
- Fixed typo in commit message: swicth -> switch
- Marked of_data as const pointer to avoid build warning

v1->v2:
- Added RB tag
- Fixed review comments from Vladimir.
- Added info about the IP issue and the workaround

v3: https://lore.kernel.org/all/20261014131906.990077-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/
v2: https://lore.kernel.org/all/20261001154326.754314-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/
v1: https://lore.kernel.org/all/20251121113553.2955854-1-prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx/

Cheers,
Prabhakar

Lad Prabhakar (14):
net: dsa: tag_rzn1_a5psw: Drop redundant ETH_P_DSA_A5PSW definition
net: dsa: tag_rzn1_a5psw: Add RZ/T2H ETHSW tag protocol support
net: dsa: Kconfig: Expand config description to cover RZ/T2H and
RZ/N2H ETHSW
dt-bindings: net: dsa: renesas,rzn1-a5psw: Reject the "ports" node
dt-bindings: net: dsa: renesas,rzn1-a5psw: Disallow ports beyond
port@4
dt-bindings: net: dsa: renesas,rzn1-a5psw: Add RZ/T2H and RZ/N2H ETHSW
support
net: dsa: rzn1-a5psw: Add support for optional reset control
net: dsa: rzn1-a5psw: Add support for optional timestamp clock
net: dsa: rzn1-a5psw: Make use dev_err_probe()
net: dsa: rzn1-a5psw: Get switch info via OF data
net: dsa: rzn1-a5psw: Choose tagging protocol based on compatible
string
net: dsa: rzn1-a5psw: Add fixed frame length workaround for management
port
net: dsa: rzn1-a5psw: Add support for RZ/T2H Ethernet switch
net: dsa: Kconfig: Enable support for RZ/T2H and RZ/N2H SoCs

.../bindings/net/dsa/renesas,rzn1-a5psw.yaml | 175 +++++++++++++++---
drivers/net/dsa/Kconfig | 9 +-
drivers/net/dsa/rzn1_a5psw.c | 83 +++++++--
drivers/net/dsa/rzn1_a5psw.h | 25 ++-
include/net/dsa.h | 2 +
include/uapi/linux/if_ether.h | 2 +-
net/dsa/Kconfig | 9 +-
net/dsa/tag_rzn1_a5psw.c | 22 ++-
8 files changed, 275 insertions(+), 52 deletions(-)

--
2.56.0