[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230821174423.GA2008354-robh@kernel.org>
Date: Mon, 21 Aug 2023 12:44:23 -0500
From: Rob Herring <robh@...nel.org>
To: Arınç ÜNAL <arinc.unal@...nc9.com>
Cc: Andrew Lunn <andrew@...n.ch>, Florian Fainelli <f.fainelli@...il.com>, Vladimir Oltean <olteanv@...il.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Conor Dooley <conor+dt@...nel.org>, Woojung Huh <woojung.huh@...rochip.com>, UNGLinuxDriver@...rochip.com, Linus Walleij <linus.walleij@...aro.org>, Alvin Šipraga <alsi@...g-olufsen.dk>, Daniel Golle <daniel@...rotopia.org>, Landen Chao <Landen.Chao@...iatek.com>, DENG Qingfang <dqfext@...il.com>, Sean Wang <sean.wang@...iatek.com>, Matthias Brugger <matthias.bgg@...il.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>, mithat.guner@...ont.com, erkin.bozoglu@...ont.com, netdev@...r.kernel.org, devicetree@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, linux-mediatek@...ts.infradead.org
Subject: Re: [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus
On Sat, Aug 12, 2023 at 10:20:43PM +0300, Arınç ÜNAL wrote:
> I've realised there are more schemas that extend the mdio.yaml schema. This
> is the final state of this patch.
>
> dt-bindings: net: dsa: document internal MDIO bus
>
> Add the schema to document the internal MDIO bus. Require the phy-handle
> property on the non-CPU ports if the mdio property is being used.
>
> Define the mdio property on all of the schemas that refer to
> dsa.yaml#/$defs/ethernet-ports. Refer to dsa.yaml#/properties/mdio to point
> the human readers to the description on the dsa.yaml schema.
>
> Some of these schemas extend the mdio.yaml schema. The mdio.yaml schema is
> also being referred to through dsa.yaml#/$defs/ethernet-ports now which
> means we cannot disallow additional properties by 'unevaluatedProperties:
> false' on the dsa.yaml schema.
>
> ---
> .../bindings/net/dsa/arrow,xrs700x.yaml | 4 ++++
> .../devicetree/bindings/net/dsa/brcm,b53.yaml | 4 ++++
> .../devicetree/bindings/net/dsa/brcm,sf2.yaml | 4 ++++
> .../devicetree/bindings/net/dsa/dsa.yaml | 18 ++++++++++++++++++
> .../bindings/net/dsa/hirschmann,hellcreek.yaml | 4 ++++
> .../bindings/net/dsa/mediatek,mt7530.yaml | 4 ++++
> .../bindings/net/dsa/microchip,ksz.yaml | 4 ++++
> .../bindings/net/dsa/microchip,lan937x.yaml | 2 +-
> .../bindings/net/dsa/mscc,ocelot.yaml | 4 ++++
> .../bindings/net/dsa/nxp,sja1105.yaml | 4 ++++
> .../devicetree/bindings/net/dsa/qca8k.yaml | 2 +-
> .../devicetree/bindings/net/dsa/realtek.yaml | 2 +-
> .../bindings/net/dsa/renesas,rzn1-a5psw.yaml | 2 +-
> 13 files changed, 54 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml b/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
> index 9565a740214629..f0229352e05694 100644
> --- a/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
> @@ -29,6 +29,10 @@ properties:
> reg:
> maxItems: 1
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
> index 4c78c546343f5e..e14562b33bfb97 100644
> --- a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
> @@ -65,6 +65,10 @@ properties:
> - brcm,bcm63268-switch
> - const: brcm,bcm63xx-switch
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,sf2.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,sf2.yaml
> index c745407f2f6853..1bf4317e038687 100644
> --- a/Documentation/devicetree/bindings/net/dsa/brcm,sf2.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/brcm,sf2.yaml
> @@ -90,6 +90,10 @@ properties:
> tags enabled (per-packet metadata)
> type: boolean
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - reg
> - interrupts
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> index ec74a660bedaed..03ccedbc49dcc3 100644
> --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> @@ -31,6 +31,24 @@ properties:
> (single device hanging off a CPU port) must not specify this property
> $ref: /schemas/types.yaml#/definitions/uint32-array
> + mdio:
> + description: The internal MDIO bus of the switch
> + $ref: /schemas/net/mdio.yaml#
> +
> +if:
> + required: [ mdio ]
> +then:
> + patternProperties:
> + "^(ethernet-)?ports$":
> + patternProperties:
> + "^(ethernet-)?port@[0-9]+$":
> + if:
> + not:
> + required: [ ethernet ]
> + then:
> + required:
> + - phy-handle
> +
> additionalProperties: true
> $defs:
> diff --git a/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml b/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
> index 4021b054f68446..32f17345825d4a 100644
> --- a/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
> @@ -67,6 +67,10 @@ properties:
> additionalProperties: false
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> index e532c6b795f4fc..293d1affe75451 100644
> --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> @@ -151,6 +151,10 @@ properties:
> ethsys.
> maxItems: 1
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> patternProperties:
> "^(ethernet-)?ports$":
> type: object
> diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> index e51be1ac036237..01d11c642ecfd4 100644
> --- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> @@ -49,6 +49,10 @@ properties:
> Set if the output SYNCLKO clock should be disabled. Do not mix with
> microchip,synclko-125.
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
> index 49af4b0d591695..15f24a1716cd44 100644
> --- a/Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
> @@ -32,7 +32,7 @@ properties:
> maxItems: 1
> mdio:
> - $ref: /schemas/net/mdio.yaml#
> + $ref: dsa.yaml#/properties/mdio
> unevaluatedProperties: false
> patternProperties:
> diff --git a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> index fe02d05196e4a6..d781b8c2324836 100644
> --- a/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/mscc,ocelot.yaml
> @@ -73,6 +73,10 @@ properties:
> little-endian: true
> big-endian: true
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> index 4d5f5cc6d031e2..82dda8fae8b16e 100644
> --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> @@ -72,6 +72,10 @@ properties:
> - compatible
> - reg
> + mdio:
> + $ref: dsa.yaml#/properties/mdio
> + unevaluatedProperties: false
> +
> patternProperties:
> "^(ethernet-)?ports$":
> patternProperties:
> diff --git a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
> index df64eebebe1856..001b72bcd0746b 100644
> --- a/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/qca8k.yaml
> @@ -60,7 +60,7 @@ properties:
> B68 on the QCA832x and B49 on the QCA833x.
> mdio:
> - $ref: /schemas/net/mdio.yaml#
> + $ref: dsa.yaml#/properties/mdio
> unevaluatedProperties: false
Just from a schema standpoint, this is pointless indirection as
dsa.yaml#/properties/mdio is just a reference to /schemas/net/mdio.yaml#.
As it seems an MDIO bus is not universal for DSA, it seems you'll be
dropping this change anyways.
Rob
Powered by blists - more mailing lists