[PATCH net-next 0/7] net: xilinx: axienet: Add 10G/25G (XXV) ethernet support

Suraj Gupta <[email protected]> Thu, 23 Jul 2026 18:08:31 +0530
Newsgroups dev.linux.lists.driver-core,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <[email protected]>
This patch series extends the AXI Ethernet driver to support the
XXV Ethernet subsystem

- Add a devm_clk_bulk_get_enable() helper for consumers that need a set
  of mandatory clocks enabled with device-managed cleanup.

- Refactor through struct axienet_config so per-MAC behaviour is
  expressed as capability flags and callbacks instead of runtime
  MAC-type checks in the shared code.

- Document the XXV IP in Devicetree.

- Add support for the XXV Ethernet subsystem.

- Add a preparatory RMON cleanup, a statistics-ops refactor of
  struct axienet_config, and ethtool / ndo_get_stats64 counter reporting
  for XXV.

Notes:
- This series depends on [1], which is sent as part of another series.
  That change is required for this series to compile and is not included
  here to avoid duplication.
- Due to phylink limitations, we aren't able to advertise both 10G and
  25G base-r interfaces and switch between them using ethtool.
  We are open to suggestions on how to handle this.

[1]: https://lore.kernel.org/all/[email protected]/

Suraj Gupta (7):
  clk: Add devm_clk_bulk_get_enable()
  net: xilinx: axienet: Introduce axienet_config for MAC-specific ops
  dt-bindings: net: xlnx,axi-ethernet: Add 10G/25G (XXV) ethernet
  net: xilinx: axienet: Add 10G/25G (XXV) ethernet support
  net: xilinx: axienet: Make axienet_rmon_ranges non-static for reuse
  net: xilinx: axienet: Dispatch statistics through axienet_config ops
  net: xilinx: axienet: Add statistics support for XXV ethernet

 .../bindings/net/xlnx,axi-ethernet.yaml       | 144 ++++-
 .../driver-api/driver-model/devres.rst        |   1 +
 drivers/clk/clk-devres.c                      |   7 +
 drivers/net/ethernet/xilinx/Makefile          |   3 +-
 drivers/net/ethernet/xilinx/xilinx_axienet.h  |  90 +++
 .../net/ethernet/xilinx/xilinx_axienet_main.c | 603 ++++++++++++------
 .../net/ethernet/xilinx/xilinx_axienet_xxv.c  | 594 +++++++++++++++++
 .../net/ethernet/xilinx/xilinx_axienet_xxv.h  | 141 ++++
 include/linux/clk.h                           |  23 +
 9 files changed, 1397 insertions(+), 209 deletions(-)
 create mode 100644 drivers/net/ethernet/xilinx/xilinx_axienet_xxv.c
 create mode 100644 drivers/net/ethernet/xilinx/xilinx_axienet_xxv.h


base-commit: 67ce33d8d0d166bc9e445d6e42a75b131ed23a7b
-- 
2.25.1