Re: [RFC PATCH 0/8] xilinx: tsn: Add TSN Endpoint Ethernet MAC driver support

From: Andrew Lunn

Date: Thu Feb 19 2026 - 11:43:13 EST


On Thu, Feb 19, 2026 at 11:19:03AM +0530, Srinivas Neeli wrote:
> Introduce a new network driver for the AMD LogiCORE 100M/1G TSN
> Subsystem IP, also known as the TSN Endpoint Ethernet MAC, which
> implements IEEE 802.1 Time-Sensitive Networking (TSN) features for
> deterministic and low-latency Ethernet communication in real-time and
> industrial automation use cases.
>
> IP Core Overview:
> The AMD LogiCORE 100M/1G TSN Subsystem IP solution (named as TSN Endpoint
> Ethernet MAC IP in the IP catalog) implements IEEE 802.1 Time Sensitive
> Networking (TSN) Standards and provides a low latency Bridged Endpoint or
> Endpoint only solutions.

So an Endpoint only solution is not connected to the switch? It
outputs RGMII, can have a PHY connected to it, and so is a single
netdev interface? You would typically use this in a client?

But you can also instantiate the same MAC multiple times, connected to
an Ethernet switch? That would be the bridged endpoint?

> The bridged endpoint solution consists of a 3-port
> switch that connects to an endpoint including Linux software drivers. For
> Bridged Endpoint (Switch Endpoint), two ports connects to the network and
> one port connects to an internal Endpoint.

To the host, does the internal endpoint just look like a standard
netdev?

What i'm trying to do is get an answer to: Is this a DSA switch, or a
pure switchdev switch. If the host sees a netdev which is connected to
a port of the switch, it is probably a DSA switch. If the host only
sees the user ports, it is probably a pure switchdev switch.

> It supports the use of
> GMII/RGMII interfaces connecting to a physical-side interface (PHY) chip
> with full duplex 100 Mb/s and 1 Gb/s operations.

No 10Mbps support?

> - Provides feature rich Ethernet Switch that caters to various network
> needs
> * 3-port Switch (2-external, 1-internal)
> * Programmable cut-through and store-forward operations
> * 4-port Switch (2-external, 2-internal) extension through
> 'Endpoint Extension' and 'Endpoint Packet Switching' features

Why not N-ports? Is it really set to 3 or 4? It cannot be synthesised
for 5, 8?

> Sample hardware architecture diagram for Bidge End Point like below:
>
> +------------------+
> | MCDMA |
> +---------+--------+
> Q0---Q7
> |
> +------------------------------------------------------------ +
> | | TSN sub system(Bridge End Point) |
> | | |
> | +------+----+ Port 0 +-----------------------+ |
> | | EndPoint |<--------->| TSN Switch | |
> | | (EP) | +----+-------------+----+ |
> | +-----------+ | | |
> | | | |
> | Port 1 Port 2 |
> | | | |
> | +-----------+ +-----------+ |
> | | MAC-1 | | MAC-2 | |
> | | (ETH1) | | (ETH2) | |
> | +-----+-----+ +-----+-----+ |
> | | | |
> | | | |
> +-------------------------------------------------------------+
> | |
> RGMII RGMII
> | |
> +-----------+ +-----------+
> | PHY1 | | PHY2 |
> | (Port 0) | | (Port 2) |
> +-----------+ +-----------+
>

So how does the host send a frame out Port 2? Is there an extra header
on the frame sent by EndPoint, which the switch interprets?

FYI: Seems like PHY1 (port 0) is a typO.

> - During driver initialization, all switch ports (Endpoint, MAC1, MAC2)
> are configured into the Forwarding state to enable data flow across the
> fabric.

Which is wrong. The Linux model is that switch ports are just
netdevs. You configure them just like every other netdev in the
system. Newly created netdevs are standalone. They only allow frames
to pass between the wire and the host. If you want them to L2 forwards
frames between ports you need to add them to a bridge.

Andrew