[PATCH net-next v2 0/4] net: dsa: Add SoC-e DSA driver

From: Vasilij Strassheim

Date: Thu Sep 03 2026 - 14:16:38 EST


Add support for SoC-e Ethernet switch IP cores synthesized for and
implemented in FPGAs.

The series introduces the SoC-e vendor prefix and device tree binding,
an EtherType-based SDSA tagger, and an initial DSA switch driver.

The driver uses a memory-mapped control interface. During probe, it
detects the core version and the licensed and implemented port counts,
and verifies that the synthesized core provides DSA support. Port
counts from 1 through 31 are supported.

The initial implementation supports Ethernet switching using MII, GMII,
RMII, and RGMII port interfaces. Offloading features are not
implemented.

External MDIO outputs are exposed as separate logical MDIO buses sharing
the integrated MDIO controller.

The driver was tested with a SoC-e MRS 25.01 IP core on a Xilinx ZynqMP
platform.

Signed-off-by: Vasilij Strassheim <v.strassheim@xxxxxxxxxxxxx>
---
Changes in v2:
- Correctly use net-next prefix
- Rework the binding into a single MMIO-based switch node
- Model hardware MDIO outputs as separate logical MDIO buses
- Detect the switch version, features, and port count from hardware
- Drop incomplete STP, bridge, and FDB offloading
- Derive phylink capabilities from each port's phy-mode
- Harden MDIO access and SDSA receive validation
- Address binding, naming, and coding style review comments

Link to v1: https://patch.msgid.link/20260729-devel-vstrassheim-soce-dsa-ml-v1-0-be569dae1b20@xxxxxxxxxxxxx

To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Andrew Lunn <andrew@xxxxxxx>
To: Vladimir Oltean <olteanv@xxxxxxxxx>
To: "David S. Miller" <davem@xxxxxxxxxxxxx>
To: Eric Dumazet <edumazet@xxxxxxxxxx>
To: Jakub Kicinski <kuba@xxxxxxxxxx>
To: Paolo Abeni <pabeni@xxxxxxxxxx>
To: Vasilij Strassheim <v.strassheim@xxxxxxxxxxxxx>
To: Simon Horman <horms@xxxxxxxxxx>
To: Russell King <linux@xxxxxxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx

---
Vasilij Strassheim (4):
dt-bindings: vendor-prefixes: Add soce
dt-bindings: net: dsa: Add SoC-e SWIP switch
net: dsa: Add tag handling for SoC-e switches
net: dsa: soce: Add basic support for SoC-e switch IP cores

.../devicetree/bindings/net/dsa/soce,swip.yaml | 161 ++++++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
drivers/net/dsa/Kconfig | 2 +
drivers/net/dsa/Makefile | 1 +
drivers/net/dsa/soce/Kconfig | 12 +
drivers/net/dsa/soce/Makefile | 4 +
drivers/net/dsa/soce/soce_dsa.h | 44 +++
drivers/net/dsa/soce/soce_dsa_core.c | 297 +++++++++++++++
drivers/net/dsa/soce/soce_mdio.c | 411 +++++++++++++++++++++
drivers/net/dsa/soce/soce_mdio.h | 38 ++
include/net/dsa.h | 2 +
net/dsa/Kconfig | 6 +
net/dsa/Makefile | 1 +
net/dsa/tag_sdsa.c | 123 ++++++
14 files changed, 1104 insertions(+)
---
base-commit: 7042c8c193e5d634198b7c766bb3a01c8e3ee0e2
change-id: 20260729-devel-vstrassheim-soce-dsa-ml-20d6a5adb838

Best regards,
--
Vasilij Strassheim <v.strassheim@xxxxxxxxxxxxx>