mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Neeli, Srinivas" <srneeli@amd.com>
To: Andrew Lunn <andrew@lunn.ch>, Srinivas Neeli <srinivas.neeli@amd.com>
Cc: Nagadheeraj Rottela <nagadheeraj.rottela@amd.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Richard Cochran <richardcochran@gmail.com>,
	Michal Simek <michal.simek@amd.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Clark Williams <clrkwllms@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Eric Dumazet <edumazet@kernel.org>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-rt-devel@lists.linux.dev, git@amd.com,
	neelisrinivas18@gmail.com
Subject: Re: [PATCH net-next v4 1/8] dt-bindings: net: add Xilinx TSN Endpoint Ethernet MAC
Date: Fri, 13 Nov 2026 20:26:41 +0530	[thread overview]
Message-ID: <4254be1a-f80e-4389-b04d-9fd10c1b77b7@amd.com> (raw)
In-Reply-To: <13864fbe-6cd1-4d70-afee-bd3d3be163f3@lunn.ch>

Hi Andrew,

On 11/13/2026 6:50 PM, Andrew Lunn wrote:
>> +      xlnx,max-learning-entries:
>> +        $ref: /schemas/types.yaml#/definitions/uint32
>> +        minimum: 256
>> +        maximum: 1920
>> +        default: 1920
>> +        description:
>> +          Maximum number of addresses the hardware address learning engine
>> +          can learn on each network port (MAC1 and MAC2). This is the
>> +          MAX_LEARNING_ENTRIES IP configuration parameter, and no register
>> +          reports it. The endpoint port does not take part in hardware
>> +          address learning.
> Is this a synthesis parameter? No other switch that i know of has it
> in DT. The driver hard codes the value based on the compatible. Why
> does that not work for you?
   Yes, MAX_LEARNING_ENTRIES is a Vivado synthesis parameter of the IP
   (256 to 1920), and no register reports it, so one compatible can carry
   different values. The endpoint driver in this series does not use it.
   It will be used by the DSA switch driver.
>> +      mdio-1:
>> +        $ref: /schemas/net/mdio.yaml#
>> +        description:
>> +          MDIO bus controller for MAC1. Registers reside inside the mac1
>> +          reg-names window.
>> +        unevaluatedProperties: false
>> +
>> +      mdio-2:
>> +        $ref: /schemas/net/mdio.yaml#
>> +        description:
>> +          MDIO bus controller for MAC2. Registers reside inside the mac2
>> +          reg-names window.
>> +        unevaluatedProperties: false
> How hard coded into the design is the number of ports? The way the DT
> is structured, it does not seem easy to add another port. It is more
> normal to put all port properties within one node, so you just need to
> cookie cutter that node, not add new nodes all other the place.
   The number of ports is fixed by the IP. The switch always has two
   external MAC ports and one internal endpoint port, and no configuration
   has more external MACs, so the binding never needs to grow another port.

   The switch node follows the IP's register map. The switch fabric and the
   two MAC blocks are separate register windows of the switch IP, and each
   MAC window also holds that MAC's MDIO controller and PTP block. The PTP
   timer interrupt is shared by the whole switch, not owned by one port.

   For these reasons I would prefer to keep the per-MAC resources on the
   switch node

>
>> +        switch@38000 {
>> +            compatible = "xlnx,tsn-switch";
>> +            reg = <0x38000 0x8000>,
>> +                  <0x00000 0x14000>,
>> +                  <0x20000 0x14000>;
>> +            reg-names = "switch", "mac1", "mac2";
>> +            mdio-1 {
>> +                #address-cells = <1>;
>> +                #size-cells = <0>;
>> +                phy0: ethernet-phy@0 {
>> +                    reg = <0>;
>> +                };
>> +            };
>> +
>> +            mdio-2 {
>> +                #address-cells = <1>;
>> +                #size-cells = <0>;
>> +                phy1: ethernet-phy@1 {
>> +                    reg = <1>;
>> +                };
>> +            };
> Interesting that this is address 1, where as the other is address 0.
> Just to be sure, there are two fully independent MDIO bus masters?
>
> This
   Yes. Each MAC has its own independent MDIO controller, with its own
   MDC/MDIO pins and its registers inside that MAC's register window.

Thanks
Srinivas Neeli
>
>> +
>> +            ethernet-ports {
>> +                #address-cells = <1>;
>> +                #size-cells = <0>;
>> +
>> +                ethernet-port@0 {
>> +                    reg = <0>;
>> +                    ethernet = <&ep_mac>;
>> +                    phy-mode = "internal";
>> +
>> +                    fixed-link {
>> +                        speed = <1000>;
>> +                        full-duplex;
>> +                    };
>> +                };
>> +
>> +                ethernet-port@1 {
>> +                    reg = <1>;
>> +                    phy-handle = <&phy0>;
>> +                    phy-mode = "rgmii-id";
>> +                };
>> +
>> +                ethernet-port@2 {
>> +                    reg = <2>;
>> +                    phy-handle = <&phy1>;
>> +                    phy-mode = "rgmii-id";
> Are these two PHY internal or external? Using rgmii internally is O.K,
> but odd. Normally 'GMII' or 'internal' would be used.
>
>      Andrew


  reply	other threads:[~2026-11-13 14:58 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-12 18:46 [PATCH net-next v4 0/8] Add Xilinx TSN Endpoint Ethernet MAC driver Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 1/8] dt-bindings: net: add Xilinx TSN Endpoint Ethernet MAC Srinivas Neeli
2026-11-13 13:20   ` Andrew Lunn
2026-11-13 14:56     ` Neeli, Srinivas [this message]
2026-11-13 13:23   ` Andrew Lunn
2026-11-12 18:46 ` [PATCH net-next v4 2/8] net: xilinx: tsn: add TSN endpoint wrapper driver Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 3/8] net: xilinx: tsn: add endpoint MAC driver skeleton Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 4/8] net: xilinx: tsn: parse endpoint DMA channel configuration Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 5/8] net: xilinx: tsn: bring up the endpoint MCDMA channels Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 6/8] net: xilinx: tsn: add the endpoint RX data path Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 7/8] net: xilinx: tsn: add the endpoint TX " Srinivas Neeli
2026-11-12 18:46 ` [PATCH net-next v4 8/8] net: xilinx: tsn: deliver endpoint RX frames to DSA user ports Srinivas Neeli

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=4254be1a-f80e-4389-b04d-9fd10c1b77b7@amd.com \
    --to=srneeli@amd.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=bigeasy@linutronix.de \
    --cc=clrkwllms@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@kernel.org \
    --cc=git@amd.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-devel@lists.linux.dev \
    --cc=michal.simek@amd.com \
    --cc=nagadheeraj.rottela@amd.com \
    --cc=neelisrinivas18@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=robh@kernel.org \
    --cc=rostedt@goodmis.org \
    --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

all inboxes | Powered by JetHome®