mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Thierry Reding <thierry.reding@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	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>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: net: nvidia,tegra234-mgbe: Add missing properties
Date: Tue, 25 Aug 2026 18:07:32 -0500	[thread overview]
Message-ID: <20260825230732.GA1224125-robh@kernel.org> (raw)
In-Reply-To: <aoL36TMH4HBZhLwh@orome>

On Mon, Aug 17, 2026 at 02:18:06PM +0200, Thierry Reding wrote:
> On Fri, Jul 17, 2026 at 04:27:19PM -0500, Rob Herring wrote:
> > On Thu, Jul 16, 2026 at 11:20:01PM +0200, Thierry Reding wrote:
> > > From: Thierry Reding <treding@nvidia.com>
> > > 
> > > Being a DWMAC derivative, the Tegra234 MGBE supports AXI configuration
> > > nodes named stmmac-axi-config and phandle references to them using the
> > > snps,axi-config property.
> > > 
> > > While at it, add the 10gbase-r PHY mode.
> > > 
> > > Signed-off-by: Thierry Reding <treding@nvidia.com>
> > > ---
> > > This gets rid of the remaining warnings on half of the Tegra234 boards.
> > > 
> > >  .../devicetree/bindings/net/nvidia,tegra234-mgbe.yaml    | 9 ++++++++-
> > >  1 file changed, 8 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.yaml b/Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.yaml
> > > index 215f14d1897d..dc897e312c55 100644
> > > --- a/Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.yaml
> > > +++ b/Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.yaml
> > > @@ -81,8 +81,9 @@ properties:
> > >    phy-mode:
> > >      contains:
> > >        enum:
> > > -        - usxgmii
> > >          - 10gbase-kr
> > > +        - 10gbase-r
> > > +        - usxgmii
> > >  
> > >    mdio:
> > >      $ref: mdio.yaml#
> > > @@ -90,6 +91,12 @@ properties:
> > >      description:
> > >        Optional node for embedded MDIO controller.
> > >  
> > > +  snps,axi-config:
> > > +    $ref: snps,dwmac.yaml#/properties/snps,axi-config
> > > +
> > > +  stmmac-axi-config:
> > > +    $ref: snps,dwmac.yaml#/properties/stmmac-axi-config
> > 
> > You should be referencing the whole snps,dwmac.yaml.
> 
> I initially tried that, but it makes things a lot worse:
> 
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): clock-names: ['mgbe', 'mac', 'mac-divider', 'ptp_ref', 'rx-input-m', 'rx-input', 'tx', 'eee-pcs', 'rx-pcs-input', 'rx-pcs-m', 'rx-pcs', 'tx-pcs'] is too long
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): clocks: [[4294967295, 380], [4294967295, 377], [4294967295, 376], [4294967295, 381], [4294967295, 357], [4294967295, 248], [4294967295, 374], [4294967295, 379], [4294967295, 369], [4294967295, 361], [4294967295, 373], [4294967295, 375]] is too long
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): compatible: ['nvidia,tegra234-mgbe'] does not contain items matching the given schema
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): interrupt-names:0: 'oneOf' conditional failed, one must be fixed:
>     'macirq' was expected
>     'eth_wake_irq' was expected
>     'eth_lpi' was expected
>     'sfty' was expected
>     'common' does not match '^rx-queue-[0-7]$'
>     'common' does not match '^tx-queue-[0-7]$'
>     'common' does not match '^ptp-pps-[0-3]$'
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): mdio: 'compatible' is a required property
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): reg: [[109051904, 65536], [109117440, 65536], [109707264, 65536]] is too long
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
>     Documentation/devicetree/bindings/net/nvidia,tegra234-mgbe.example.dtb: ethernet@6800000 (nvidia,tegra234-mgbe): reset-names: 'oneOf' conditional failed, one must be fixed:
>     ['mac', 'pcs'] is too long
>     'mac' is not one of ['stmmaceth', 'ahb']
>     'stmmaceth' was expected
>     'ahb' was expected
>     from schema $id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml
> 
> This is because while the underlying IP is derived from the Synopsis
> one, the Tegra MGBE is slightly modified and has different clock inputs,
> interrupts, etc.
> 
> Or, well, I guess I don't actually know (does anyoen?) if the licensed
> IP is properly represented by snps,dwmac.yaml, or if it's just a set of
> values that happen to apply to some set of derived IPs.
> 
> Anyway, the easiest would probably be to just duplicate the
> snps,axi-config property because it's only a phandle. stmmac-axi-config
> not having a vendor prefix doesn't throw an error, so we could probably
> keep it as-is.
> 
> I suppose another alternative would be to add special cases into
> snps,dwmac.yaml, but I don't know if that's a great idea, it's just
> going to make that very messy if everyone starts doing that.
> 
> Which do you prefer? Or is there another option that you think would be
> better here?

My preference is to make deviating from the common schema painful, so we 
don't get needless variations in names and such. That doesn't work too 
well with existing bindings (but proves my point).

You either have to extend the common binding to fix the above errors. 
For example, update clocks so that more clocks are allowed. 
Alternatively, you could split out all the vendor properties to another 
file that both you and snps,dwmac.yaml include.

Rob 


      reply	other threads:[~2026-08-25 23:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-16 21:20 Thierry Reding
2026-07-16 23:05 ` Rob Herring (Arm)
2026-07-17 21:27 ` Rob Herring
2026-08-17 12:18   ` Thierry Reding
2026-08-25 23:07     ` Rob Herring [this message]

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=20260825230732.GA1224125-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=jonathanh@nvidia.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=thierry.reding@kernel.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

all inboxes | Powered by JetHome®