From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Matthias Schiffer <matthias.schiffer@ew.tq-group.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>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Andy Whitcroft <apw@canonical.com>,
Dwaipayan Ray <dwaipayanray1@gmail.com>,
Lukas Bulwahn <lukas.bulwahn@gmail.com>,
Joe Perches <joe@perches.com>, Jonathan Corbet <corbet@lwn.net>,
Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
Siddharth Vadapalli <s-vadapalli@ti.com>,
Roger Quadros <rogerq@kernel.org>,
Tero Kristo <kristo@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux@ew.tq-group.com
Subject: Re: [PATCH net-next 1/4] dt-bindings: net: ethernet-controller: update descriptions of RGMII modes
Date: Tue, 22 Apr 2025 16:31:00 +0100 [thread overview]
Message-ID: <aAe2NFFrcXDice2Z@shell.armlinux.org.uk> (raw)
In-Reply-To: <a53b5f22-d603-4b7d-9765-a1fc8571614d@lunn.ch>
On Tue, Apr 22, 2025 at 05:00:37PM +0200, Andrew Lunn wrote:
> On Mon, Apr 21, 2025 at 08:20:29PM +0100, Russell King (Oracle) wrote:
> > On Tue, Apr 15, 2025 at 12:18:01PM +0200, Matthias Schiffer wrote:
> > > diff --git a/Documentation/devicetree/bindings/net/ethernet-controller.yaml b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> > > index 45819b2358002..2ddc1ce2439a6 100644
> > > --- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> > > +++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
> > > @@ -74,19 +74,21 @@ properties:
> > > - rev-rmii
> > > - moca
> > >
> > > - # RX and TX delays are added by the MAC when required
> > > + # RX and TX delays are part of the board design (through PCB traces). MAC
> > > + # and PHY must not add delays.
> > > - rgmii
> > >
> > > - # RGMII with internal RX and TX delays provided by the PHY,
> > > - # the MAC should not add the RX or TX delays in this case
> > > + # RGMII with internal RX and TX delays provided by the MAC or PHY. No
> > > + # delays are included in the board design; this is the most common case
> > > + # in modern designs.
> > > - rgmii-id
> > >
> > > - # RGMII with internal RX delay provided by the PHY, the MAC
> > > - # should not add an RX delay in this case
> > > + # RGMII with internal RX delay provided by the MAC or PHY. TX delay is
> > > + # part of the board design.
> > > - rgmii-rxid
> > >
> > > - # RGMII with internal TX delay provided by the PHY, the MAC
> > > - # should not add an TX delay in this case
> > > + # RGMII with internal TX delay provided by the MAC or PHY. RX delay is
> > > + # part of the board design.
> > > - rgmii-txid
> > > - rtbi
> > > - smii
> >
> > Sorry, but I don't think this wording improves the situation - in fact,
> > I think it makes the whole thing way more confusing.
> >
> > Scenario 1: I'm a network device driver author. I read the above, Okay,
> > I have a RGMII interface, but I need delays to be added. I'll detect
> > when RGMII-ID is used, and cause the MAC driver to add the delays, but
> > still pass PHY_INTERFACE_MODE_RGMII_ID to phylib.
> >
> > Scenario 2: I'm writing a DT file for a board. Hmm, so if I specify
> > rgmii because the delays are implemented in the traces, but I need to
> > fine-tune them. However, the documentation says that delays must not
> > be added by the MAC or the PHY so how do I adjust them. I know, I'll
> > use rgmii-id because that allows delays!
> >
> > I suspect neither of these two are really want you mean, but given
> > this wording, that's exactly where it leads - which is more
> > confusion and less proper understanding.
>
> These DT documents are supposed to be normative and OS agnostic. I
> wounder what the DT Maintainers will say if we add an Informative
> section afterwards giving a detailed description of how Linux actually
> implements these normative statements? It will need to open with a
> clear statement that it is describing Linux behaviour, and other OSes
> can implement the normative part in other ways and still be compliant,
> but that Linux has seen a lot of broken implementations and so wants
> to add Informative information to guide Linux developers.
Well, looking at ePAPR, the only thing that was defined back then was
the presence of a property to describe the interface type between the
ethernet device and PHY. The values were left to the implementation
to decide upon, but with some recommendations.
What that means is that the values to this property are not part of
the DT standard, but are a matter for the implementation.
However, with the yaml stuff, if that is basically becoming "DT
specification" then it needs to be clearly defined what each value
actually means for the system, and not this vague airy-fairy thing
we have now.
We've learnt the hard way in the kernel where that gets us with
the number of back-compat breaking changes we've had to make where
the RGMII delays have been totally wrongly interpreted and leaving
it vague means that other implementations will suffer the same pain.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2025-04-22 15:31 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-15 10:18 [PATCH net-next 0/4] RGMII mode clarification + am65-cpsw fix Matthias Schiffer
2025-04-15 10:18 ` [PATCH net-next 1/4] dt-bindings: net: ethernet-controller: update descriptions of RGMII modes Matthias Schiffer
2025-04-15 10:36 ` Siddharth Vadapalli
2025-04-15 11:28 ` Matthias Schiffer
2025-04-15 11:55 ` Siddharth Vadapalli
2025-04-16 7:41 ` Matthias Schiffer
2025-04-22 8:56 ` Russell King (Oracle)
2025-04-22 14:40 ` Andrew Lunn
2025-04-22 8:41 ` Russell King (Oracle)
2025-04-18 20:40 ` Andrew Lunn
2025-04-22 8:37 ` Russell King (Oracle)
2025-04-15 10:54 ` Maxime Chevallier
2025-04-18 20:26 ` Andrew Lunn
2025-04-21 18:42 ` Rob Herring (Arm)
2025-04-21 19:20 ` Russell King (Oracle)
2025-04-22 15:00 ` Andrew Lunn
2025-04-22 15:31 ` Russell King (Oracle) [this message]
2025-04-28 11:29 ` Matthias Schiffer
2025-04-28 14:08 ` Andrew Lunn
2025-04-28 14:28 ` Siddharth Vadapalli
2025-04-28 14:45 ` Andrew Lunn
2025-04-29 7:24 ` Matthias Schiffer
2025-04-29 12:08 ` Andrew Lunn
2025-04-30 7:33 ` Matthias Schiffer
2025-04-15 10:18 ` [PATCH net-next 2/4] dt-bindings: net: ti: k3-am654-cpsw-nuss: update phy-mode in example Matthias Schiffer
2025-04-15 10:58 ` Maxime Chevallier
2025-04-18 20:48 ` Andrew Lunn
2025-04-21 18:44 ` Rob Herring (Arm)
2025-04-30 14:22 ` Roger Quadros
2025-05-07 9:51 ` Matthias Schiffer
2025-04-15 10:18 ` [PATCH net-next 3/4] net: ethernet: ti: am65-cpsw: fixup PHY mode for fixed RGMII TX delay Matthias Schiffer
2025-04-15 11:06 ` Maxime Chevallier
2025-04-18 20:50 ` Andrew Lunn
2025-04-30 14:56 ` Roger Quadros
2025-04-30 16:15 ` Andrew Lunn
2025-04-15 10:18 ` [PATCH net-next 4/4] checkpatch: check for comment explaining rgmii(|-rxid|-txid) PHY modes Matthias Schiffer
2025-04-15 11:15 ` Maxime Chevallier
2025-04-15 11:21 ` Matthias Schiffer
2025-04-15 12:46 ` Maxime Chevallier
2025-04-15 13:12 ` Andrew Lunn
2025-06-24 9:50 ` Matthias Schiffer
2025-04-15 13:20 ` Andrew Lunn
2025-04-15 13:36 ` Matthias Schiffer
2025-04-15 13:37 ` Matthias Schiffer
2025-04-17 10:28 ` Paolo Abeni
2025-04-15 16:11 ` Joe Perches
2025-04-16 7:48 ` Matthias Schiffer
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=aAe2NFFrcXDice2Z@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=apw@canonical.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dwaipayanray1@gmail.com \
--cc=edumazet@google.com \
--cc=joe@perches.com \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@ew.tq-group.com \
--cc=lukas.bulwahn@gmail.com \
--cc=matthias.schiffer@ew.tq-group.com \
--cc=netdev@vger.kernel.org \
--cc=nm@ti.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=rogerq@kernel.org \
--cc=s-vadapalli@ti.com \
--cc=vigneshr@ti.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;
as well as URLs for NNTP newsgroup(s).