From: Suraj Gupta <suraj.gupta2@amd.com>
To: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S . Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Michal Simek <michal.simek@amd.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Brian Masney <bmasney@redhat.com>,
Russell King <linux@armlinux.org.uk>
Cc: Shyam Pandey <radhey.shyam.pandey@xilinx.com>,
<netdev@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-clk@vger.kernel.org>, <linux-doc@vger.kernel.org>,
<driver-core@lists.linux.dev>, <linux-kernel@vger.kernel.org>,
<harini.katakam@amd.com>
Subject: [PATCH net-next 3/7] dt-bindings: net: xlnx,axi-ethernet: Add 10G/25G (XXV) ethernet
Date: Thu, 23 Jul 2026 18:08:34 +0530 [thread overview]
Message-ID: <20260723123838.125145-4-suraj.gupta2@amd.com> (raw)
In-Reply-To: <20260723123838.125145-1-suraj.gupta2@amd.com>
The XXV Ethernet IP integrates a 10G/25G Ethernet MAC with an in-core
PCS/PMA driving a high-speed serial transceiver. Extend the existing
xlnx,axi-ethernet binding to describe it.
Add the "xlnx,xxv-ethernet-1.0" compatible and make the resource
requirements conditional based on the XXV compatible string:
- "dmas", "dma-names", and "phy-mode" are required.
- Interrupt properties are not required as it does not have a dedicated
Ethernet core interrupt.
- "phy-handle" is not required as it has internal PCS and PMA.
- Add the 10gbase-r and 25gbase-r phy-mode values used by XXV.
Annotate the existing compatibles, generalise the title to cover both
variants, and add an example node for XXV.
Define properties at top level per binding style and use if/then to
constrain requirements and phy-mode per compatible. Forbid 1G-only and
unused ethernet-controller properties on XXV nodes.
Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com>
---
.../bindings/net/xlnx,axi-ethernet.yaml | 144 ++++++++++++++----
1 file changed, 117 insertions(+), 27 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
index fb02e579463c..23b1a27c04e5 100644
--- a/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
+++ b/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
@@ -4,36 +4,46 @@
$id: http://devicetree.org/schemas/net/xlnx,axi-ethernet.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: AXI 1G/2.5G Ethernet Subsystem
+title: Xilinx AXI Ethernet Subsystem
description: |
- Also called AXI 1G/2.5G Ethernet Subsystem, the xilinx axi ethernet IP core
- provides connectivity to an external ethernet PHY supporting different
- interfaces: MII, GMII, RGMII, SGMII, 1000BaseX. It also includes two
- segments of memory for buffering TX and RX, as well as the capability of
- offloading TX/RX checksum calculation off the processor.
+ This binding describes Xilinx AXI Ethernet subsystem IPs, including the
+ AXI 1G/2.5G Ethernet Subsystem and the 10G/25G (XXV) Ethernet Subsystem.
+
+ The AXI 1G/2.5G Ethernet Subsystem provides connectivity to an external
+ ethernet PHY supporting different interfaces: MII, GMII, RGMII, SGMII,
+ 1000BaseX. It also includes two segments of memory for buffering TX and RX,
+ as well as the capability of offloading TX/RX checksum calculation off the
+ processor.
Management configuration is done through the AXI interface, while payload is
sent and received through means of an AXI DMA controller. This driver
includes the DMA driver code, so this driver is incompatible with AXI DMA
driver.
+ The XXV Ethernet Subsystem integrates a 10G/25G Ethernet MAC and PCS/PMA
+ connected to a high-speed serial transceiver. It supports the 10GBASE-R and
+ 25GBASE-R line rates, with 25G operation following the 25G Ethernet
+ Consortium specification. Its payload is moved by an external AXI DMA
+ controller rather than a DMA engine integrated into the MAC.
+
maintainers:
- Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
properties:
compatible:
enum:
- - xlnx,axi-ethernet-1.00.a
- - xlnx,axi-ethernet-1.01.a
- - xlnx,axi-ethernet-2.01.a
+ - xlnx,axi-ethernet-1.00.a # AXI 1G/2.5G Ethernet Subsystem
+ - xlnx,axi-ethernet-1.01.a # AXI 1G/2.5G Ethernet Subsystem
+ - xlnx,axi-ethernet-2.01.a # AXI 1G/2.5G Ethernet Subsystem
+ - xlnx,xxv-ethernet-1.0 # 10G/25G Ethernet Subsystem
reg:
description:
- Address and length of the IO space, as well as the address
- and length of the AXI DMA controller IO space, unless
- axistream-connected is specified, in which case the reg
- attribute of the node referenced by it is used.
+ Address and length of the IO space. For AXI 1G/2.5G using the legacy
+ embedded DMA, this also covers the AXI DMA controller IO space, unless
+ axistream-connected is specified, in which case the reg attribute of
+ the node referenced by it is used.
minItems: 1
maxItems: 2
@@ -62,6 +72,8 @@ properties:
- rgmii
- sgmii
- 1000base-x
+ - 10gbase-r
+ - 25gbase-r
xlnx,phy-type:
description:
@@ -93,19 +105,12 @@ properties:
selected on core reset (i.e. by the basex_or_sgmii core input line).
clocks:
- items:
- - description: Clock for AXI register slave interface.
- - description: AXI4-Stream clock for TXD RXD TXC and RXS interfaces.
- - description: Ethernet reference clock, used by signal delay primitives
- and transceivers.
- - description: MGT reference clock (used by optional internal PCS/PMA PHY)
+ minItems: 3
+ maxItems: 4
clock-names:
- items:
- - const: s_axi_lite_clk
- - const: axis_clk
- - const: ref_clk
- - const: mgt_clk
+ minItems: 3
+ maxItems: 4
axistream-connected:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -139,15 +144,88 @@ properties:
required:
- compatible
- - interrupts
- reg
- xlnx,rxmem
- - phy-handle
allOf:
- $ref: /schemas/net/ethernet-controller.yaml#
-additionalProperties: false
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - xlnx,axi-ethernet-1.00.a
+ - xlnx,axi-ethernet-1.01.a
+ - xlnx,axi-ethernet-2.01.a
+ then:
+ required:
+ - interrupts
+ - phy-handle
+ properties:
+ phy-mode:
+ enum:
+ - mii
+ - gmii
+ - rgmii
+ - sgmii
+ - 1000base-x
+ clocks:
+ items:
+ - description: Clock for AXI register slave interface.
+ - description: AXI4-Stream clock for TXD RXD TXC and RXS
+ interfaces.
+ - description: Ethernet reference clock, used by signal delay
+ primitives and transceivers.
+ - description: MGT reference clock (used by optional internal
+ PCS/PMA PHY)
+ clock-names:
+ items:
+ - const: s_axi_lite_clk
+ - const: axis_clk
+ - const: ref_clk
+ - const: mgt_clk
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: xlnx,xxv-ethernet-1.0
+ then:
+ required:
+ - dmas
+ - dma-names
+ - phy-mode
+ - clocks
+ - clock-names
+ properties:
+ phy-mode:
+ enum:
+ - 10gbase-r
+ - 25gbase-r
+ interrupts: false
+ phy-handle: false
+ pcs-handle: false
+ axistream-connected: false
+ xlnx,phy-type: false
+ xlnx,txcsum: false
+ xlnx,rxcsum: false
+ xlnx,switch-x-sgmii: false
+ mdio: false
+ clocks:
+ maxItems: 3
+ items:
+ - description: RX AXI4-Stream clock (rx_core_clk).
+ - description: GT DRP clock (dclk).
+ - description: AXI4-Lite register clock (s_axi_aclk).
+ clock-names:
+ maxItems: 3
+ items:
+ - const: rx_core_clk
+ - const: dclk
+ - const: s_axi_aclk
+
+unevaluatedProperties: false
examples:
- |
@@ -198,3 +276,15 @@ examples:
};
};
};
+
+ - |
+ ethernet@80000000 {
+ compatible = "xlnx,xxv-ethernet-1.0";
+ reg = <0x80000000 0x10000>;
+ clock-names = "rx_core_clk", "dclk", "s_axi_aclk";
+ clocks = <&rx_clk>, <&drp_clk>, <&axi_clk>;
+ dma-names = "tx_chan0", "rx_chan0";
+ dmas = <&axi_dma 0>, <&axi_dma 1>;
+ phy-mode = "25gbase-r";
+ xlnx,rxmem = <0x8000>;
+ };
--
2.25.1
next prev parent reply other threads:[~2026-07-23 12:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 12:38 [PATCH net-next 0/7] net: xilinx: axienet: Add 10G/25G (XXV) ethernet support Suraj Gupta
2026-07-23 12:38 ` [PATCH net-next 1/7] clk: Add devm_clk_bulk_get_enable() Suraj Gupta
2026-07-23 15:04 ` Brian Masney
2026-07-23 12:38 ` [PATCH net-next 2/7] net: xilinx: axienet: Introduce axienet_config for MAC-specific ops Suraj Gupta
2026-07-23 12:38 ` Suraj Gupta [this message]
2026-07-23 12:38 ` [PATCH net-next 4/7] net: xilinx: axienet: Add 10G/25G (XXV) ethernet support Suraj Gupta
2026-07-23 12:38 ` [PATCH net-next 5/7] net: xilinx: axienet: Make axienet_rmon_ranges non-static for reuse Suraj Gupta
2026-07-23 12:38 ` [PATCH net-next 6/7] net: xilinx: axienet: Dispatch statistics through axienet_config ops Suraj Gupta
2026-07-23 12:38 ` [PATCH net-next 7/7] net: xilinx: axienet: Add statistics support for XXV ethernet Suraj Gupta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260723123838.125145-4-suraj.gupta2@amd.com \
--to=suraj.gupta2@amd.com \
--cc=andrew+netdev@lunn.ch \
--cc=bmasney@redhat.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=dakr@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=edumazet@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=harini.katakam@amd.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=michal.simek@amd.com \
--cc=mturquette@baylibre.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=radhey.shyam.pandey@amd.com \
--cc=radhey.shyam.pandey@xilinx.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox