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/20260717090824.2364230-1-srinivas.neeli@amd.com/
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