From: Rob Herring <robh@kernel.org>
To: Nagadheeraj Rottela <nagadheeraj.rottela@amd.com>
Cc: Srinivas Neeli <srinivas.neeli@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>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Richard Cochran <richardcochran@gmail.com>,
Michal Simek <michal.simek@amd.com>, Andrew Lunn <andrew@lunn.ch>,
Vladimir Oltean <olteanv@gmail.com>,
Simon Horman <horms@kernel.org>,
Russell King <linux@armlinux.org.uk>,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, git-dev@amd.com
Subject: Re: [PATCH 01/20] dt-bindings: net: add Xilinx TSN Endpoint Ethernet MAC
Date: Wed, 12 Aug 2026 16:16:05 -0500 [thread overview]
Message-ID: <20260812211605.GA984427-robh@kernel.org> (raw)
In-Reply-To: <20260807104431.157230-2-nagadheeraj.rottela@amd.com>
On Fri, Aug 07, 2026 at 04:14:12PM +0530, Nagadheeraj Rottela wrote:
> From: Srinivas Neeli <srinivas.neeli@amd.com>
>
> Add a binding for the Xilinx TSN Endpoint Ethernet MAC IP. The
> top-level node describes the IP wrapper, which owns the six shared
> IP clocks and the xlnx,num-priorities parameter, and has two
> children:
>
> - xlnx,tsn-ep-mac: the endpoint MAC, owning the host-side DMA
> channels (dmas / dma-names / tx-queues-config).
>
> - xlnx,tsn-switch: the three-port Ethernet switch covering the
> switch fabric and the two per-MAC register windows. The MDIO
> controllers and PTP register blocks sit at fixed offsets inside
> the per-MAC windows, accessed through the mdio-mac1 / mdio-mac2
> children and per-MAC interrupt-names entries. Each external
> port@N references its PHY through a phy-handle in the matching
> mdio-mac<N> child.
>
> Signed-off-by: Srinivas Neeli <srinivas.neeli@amd.com>
> Co-developed-by: Nagadheeraj Rottela <nagadheeraj.rottela@amd.com>
> Signed-off-by: Nagadheeraj Rottela <nagadheeraj.rottela@amd.com>
> ---
> .../net/xlnx,tsn-endpoint-ethernet-mac.yaml | 343 ++++++++++++++++++
> MAINTAINERS | 7 +
> 2 files changed, 350 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/xlnx,tsn-endpoint-ethernet-mac.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/xlnx,tsn-endpoint-ethernet-mac.yaml b/Documentation/devicetree/bindings/net/xlnx,tsn-endpoint-ethernet-mac.yaml
> new file mode 100644
> index 000000000000..00f52b7b623c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/xlnx,tsn-endpoint-ethernet-mac.yaml
> @@ -0,0 +1,343 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/xlnx,tsn-endpoint-ethernet-mac.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx TSN Endpoint Ethernet MAC
> +
> +description:
> + TSN Endpoint Ethernet MAC IP implements IEEE 802.1 Time-Sensitive
> + Networking (TSN) standards and provides low-latency network connectivity
> + in either Endpoint-only or Bridged Endpoint configurations. In the
> + Bridged Endpoint mode, the IP integrates a three-port switch, with two
> + ports connected to the external network and one port connected to an
> + internal endpoint. It also supports GMII/RGMII interfaces for connection
> + to an external PHY, enabling full-duplex operation at 100 Mb/s and
> + 1 Gb/s speeds.
> +
> +maintainers:
> + - Srinivas Neeli <srinivas.neeli@amd.com>
> + - Nagadheeraj Rottela <nagadheeraj.rottela@amd.com>
> +
> +properties:
> + compatible:
> + const: xlnx,tsn-endpoint-ethernet-mac-3.0
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: GTX clock for transmitter logic and RTC
> + - description: GTX 90-degree phase shifted clock for RGMII
> + - description: Host RX FIFO clock
> + - description: Host TX FIFO clock
> + - description: Reference clock for IDELAY control
> + - description: AXI-Lite register interface clock
> +
> + clock-names:
> + items:
> + - const: gtx
> + - const: gtx90
> + - const: host_rxfifo
> + - const: host_txfifo
> + - const: ref
> + - const: s_axi
> +
> + ranges: true
> +
> + xlnx,num-priorities:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 2
> + maximum: 8
> + description:
> + Number of traffic classes (priorities) configured in the IP.
> + This is an IP configuration parameter that determines the number of
> + priority queues available for QoS scheduling. Traffic classes map to
> + IEEE 802.1Q priority levels (0-7).
Vendor specific properties go after standard properties. See ordering
rules.
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 1
> +
> +patternProperties:
> + "^ep-mac@":
'^ethernet@[0-9a-f]+$'
> + type: object
> + $ref: /schemas/net/ethernet-controller.yaml#
Move unevaluatedProperties here.
> + description:
> + Endpoint MAC sub-node. Provides the host-side data path through the
> + DMA channels described by its dmas / dma-names.
> + properties:
> + compatible:
> + const: xlnx,tsn-ep-mac
> +
> + reg:
> + maxItems: 1
> +
> + dmas:
> + minItems: 2
> + maxItems: 32
> +
> + dma-names:
> + minItems: 2
> + maxItems: 32
> + items:
> + pattern: "^(tx|rx)_chan(1[0-5]|[0-9])$"
> + description: |
> + Names matching the entries in 'dmas', one per DMA channel and in
> + the same order. TX channel names use "tx_chan<N>" and RX channel
> + names use "rx_chan<N>", where N is 0..15. Example: "tx_chan0",
> + "tx_chan1", ..., "rx_chan0", "rx_chan1", ....
> +
> + tx-queues-config:
> + type: object
Move additionalProperties here.
> + description:
> + TX queue configuration node that maps IP priority queues to
> + DMA TX channels. The TSN IP supports multiple priority queues for
> + QoS scheduling, and each queue can be connected to a specific DMA
> + channel. This mapping defines which DMA TX channel is used to
> + transmit packets for each priority queue. For example, queue0
> + with xlnx,dma-channel-num set to 5 means priority queue 0 uses
> + tx_chan5 for data transfer.
> +
> + patternProperties:
> + "^queue[0-7]$":
> + description:
> + Each subnode represents a priority queue. The
> + xlnx,dma-channel-num property specifies which DMA TX channel
> + (tx_chan0 to tx_chan15) is connected to this queue for
> + transmitting packets.
> + type: object
Move additionalProperties here and then a blank line after.
> + properties:
> + xlnx,dma-channel-num:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description:
> + DMA TX channel number connected to this priority queue.
> + minimum: 0
> + maximum: 15
> +
> + required:
> + - xlnx,dma-channel-num
> +
> + additionalProperties: false
> +
> + additionalProperties: false
> +
> + required:
> + - compatible
> + - reg
> + - dmas
> + - dma-names
> + - tx-queues-config
> +
> + unevaluatedProperties: false
> +
> + "^switch@":
^switch@[0-9a-f]+$
> + type: object
> + $ref: /schemas/net/dsa/dsa.yaml#/$defs/ethernet-ports
> + description:
> + Three-port Ethernet switch sub-node. Contains the switch fabric
> + register window and the two per-MAC register windows; each per-MAC
> + window houses an MDIO controller and a PTP register block at fixed
> + offsets. The IP's per-MAC and PTP-timer interrupts are exposed here.
> +
> + properties:
> + compatible:
> + const: xlnx,tsn-switch
> +
> + reg:
> + items:
> + - description: Switch fabric register window
> + - description: MAC1 register window (includes MDIO and PTP)
> + - description: MAC2 register window (includes MDIO and PTP)
> +
> + reg-names:
> + items:
> + - const: switch
> + - const: mac1
> + - const: mac2
> +
> + interrupts:
> + maxItems: 7
> +
> + interrupt-names:
> + items:
> + - const: ptp_rx_mac1
> + - const: ptp_tx_mac1
> + - const: mac_irq_mac1
> + - const: ptp_timer
> + - const: ptp_rx_mac2
> + - const: ptp_tx_mac2
> + - const: mac_irq_mac2
> +
> + mdio-mac1:
mdio-1
> + $ref: /schemas/net/mdio.yaml#
> + description:
> + MDIO bus controller for MAC1. Registers reside inside the mac1
> + reg-names window.
> + unevaluatedProperties: false
> +
> + mdio-mac2:
mdio-2
> + $ref: /schemas/net/mdio.yaml#
> + description:
> + MDIO bus controller for MAC2. Registers reside inside the mac2
> + reg-names window.
> + unevaluatedProperties: false
> +
> + ethernet-ports:
> + type: object
> + additionalProperties: true
> +
> + properties:
> + port@0:
> + type: object
> + additionalProperties: true
> + description:
> + CPU port. Wired internally to the ep-mac sibling.
> +
> + properties:
> + reg:
> + const: 0
> +
> + phy-mode:
> + const: internal
> +
> + patternProperties:
> + "^port@[1-2]$":
> + type: object
> + additionalProperties: true
> + description:
> + External Ethernet port (port@1 is wired to MAC1, port@2 to
> + MAC2). Its PHY is reached through the corresponding
> + mdio-mac<N> bus.
> +
> + properties:
> + phy-mode:
> + enum:
> + - gmii
> + - rgmii
> + - rgmii-id
> +
> + required:
> + - compatible
> + - reg
> + - reg-names
> + - interrupts
> + - interrupt-names
> +
> + unevaluatedProperties: false
> +
> +additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - xlnx,num-priorities
> + - ranges
> + - '#address-cells'
> + - '#size-cells'
> +
> +examples:
> + - |
> + tsn_ip: tsn@80040000 {
Drop unused labels.
Rob
next prev parent reply other threads:[~2026-08-12 21:16 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 10:44 [PATCH 00/20] xilinx: tsn: Add TSN Endpoint Ethernet MAC driver support Nagadheeraj Rottela
2026-08-07 10:44 ` [PATCH 01/20] dt-bindings: net: add Xilinx TSN Endpoint Ethernet MAC Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-12 21:16 ` Rob Herring [this message]
2026-08-07 10:44 ` [PATCH 02/20] net: xilinx: tsn: add TSN endpoint wrapper driver Nagadheeraj Rottela
2026-08-07 20:58 ` Uwe Kleine-König
2026-08-08 12:27 ` Neeli, Srinivas
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 03/20] net: xilinx: tsn: add endpoint MAC driver skeleton Nagadheeraj Rottela
2026-08-07 21:00 ` Uwe Kleine-König
2026-08-08 12:28 ` Neeli, Srinivas
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 04/20] net: xilinx: tsn: parse endpoint DMA channel configuration Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 05/20] net: xilinx: tsn: bring up the endpoint MCDMA channels Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 06/20] net: xilinx: tsn: add the endpoint RX data path Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 07/20] net: xilinx: tsn: add the endpoint TX " Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 08/20] net: xilinx: tsn: deliver endpoint RX frames to DSA user ports Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 09/20] net: dsa: tag_xlnx_tsn: add skeleton tag protocol Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 10/20] net: dsa: xilinx: add skeleton driver for TSN switch Nagadheeraj Rottela
2026-08-07 10:44 ` [PATCH 11/20] net: dsa: xilinx: implement port_stp_state_set Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 12/20] net: dsa: xilinx: register per-MAC MDIO buses Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 13/20] net: dsa: xilinx: wire up phylink for the switch ports Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 14/20] net: dsa: xilinx: program MAC frame filter and per-port nibbles Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 15/20] net: dsa: xilinx: register PHC backed by the RTC timer block Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 16/20] net: dsa: xilinx: drive per-MAC PTP TX/RX hardware paths Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 17/20] net: dsa: xilinx: opt into TX forwarding offload on bridge join Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 18/20] net: dsa: xilinx: offload the bridge FDB to the switch CAM Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 19/20] net: dsa: xilinx: offload bridge VLAN filtering to the switch Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 10:44 ` [PATCH 20/20] net: dsa: xilinx: trap link-local control frames to the CPU port Nagadheeraj Rottela
2026-08-08 19:48 ` Jakub Kicinski
2026-08-07 22:28 ` [PATCH 00/20] xilinx: tsn: Add TSN Endpoint Ethernet MAC driver support Jakub Kicinski
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=20260812211605.GA984427-robh@kernel.org \
--to=robh@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=git-dev@amd.com \
--cc=horms@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=michal.simek@amd.com \
--cc=nagadheeraj.rottela@amd.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=srinivas.neeli@amd.com \
/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