[PATCH net-next 00/10] net: renesas: rswitch: R-Car S4 add HW offloading for layer 3 routing

From: Michael Dege

Date: Thu Nov 06 2025 - 07:55:48 EST


Hello!

The current R-Car S4 rswitch driver only supports port based fowarding
and L2 switching/bridgeing.
This patch set adds HW offloading for simple L3 routing.

1. Clean up MII settings.

2. enable Phy link status pin

3. renesas,r8a779f0-ether-switch.yaml: add optional property "link-pin"

4. r8a779f4-s4sk.dts add link-pin property

5. r8a779f0-spider-ethernet.dtsi add link-pin property

6. Add MAC address filtering.

7. Fix FWPCx register names in macros

8. Add bit access macros for forwarding engine.

9. Add the L3 driver extension in a separate file. The HW offloading
is automatically configured when a port is configured with an IP
address and set to up state.

10: Update error handling of probe function.

Usage example:
ip addr add 192.168.1.22/24 dev tsn0
ip addr add 192.168.10.22/24 dev tsn1
ip link set tsn0 up
ip link set tsn1 up
echo 1 > /proc/sys/net/ipv4/ip_forward

Layer 3 traffic is now routed by HW from port TSN0 to port TSN1.

Signed-off-by: Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
Signed-off-by: Michael Dege <michael.dege@xxxxxxxxxxx>
---
Christophe JAILLET (1):
net: renesas: rswitch: update error handling of probe

Michael Dege (9):
net: renesas: rswitch: cleanup MII settings
net: renesas: rswitch: enable Phy link status pin
dt-bindings: net: renesas,r8a779f0-ether-switch.yaml: add optional property link-pin
arm64: dts: renesas: r8a779f4-s4sk.dts add link-pin property
arm64: dts: renesas: r8a779f0-spider-ethernet.dtsi add link-pin property
net: renesas: rswitch: add MAC address filtering
net: renesas: rswitch: fix FWPCx register names
net: renesas: rswitch: add bit access macros for forwarding engine
net: renesas: rswitch: add simple l3 routing

.../net/renesas,r8a779f0-ether-switch.yaml | 3 +
.../boot/dts/renesas/r8a779f0-spider-ethernet.dtsi | 3 +
arch/arm64/boot/dts/renesas/r8a779f4-s4sk.dts | 2 +
drivers/net/ethernet/renesas/Makefile | 2 +-
drivers/net/ethernet/renesas/rswitch.h | 230 ++++++-
drivers/net/ethernet/renesas/rswitch_l2.c | 2 +-
drivers/net/ethernet/renesas/rswitch_l3.c | 751 +++++++++++++++++++++
drivers/net/ethernet/renesas/rswitch_l3.h | 24 +
drivers/net/ethernet/renesas/rswitch_main.c | 156 ++++-
9 files changed, 1124 insertions(+), 49 deletions(-)
---
base-commit: 575742822dceb5c57ef25f5cd715e7d0a7b39e9c
change-id: 20250925-add_l3_routing-3cd5c02a499e

Best regards,
--
Michael Dege <michael.dege@xxxxxxxxxxx>