Re: [PATCH 2/4] dt-bindings: net: dsa: document internal MDIO bus

From: Vladimir Oltean
Date: Sun Aug 13 2023 - 07:53:30 EST


On Sat, Aug 12, 2023 at 10:20:43PM +0300, Arınç ÜNAL wrote:
> 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

sja1105 does not support an "mdio" child property. I haven't checked the
others. Don't add properties that aren't supported.

> +
> patternProperties:
> "^(ethernet-)?ports$":
> patternProperties:
>
> The nxp,sja1105.yaml schema also needed some changes.
>
> dt-bindings: net: dsa: nxp,sja1105: improve internal MDIO bus bindings
>
> SJA1110 Ethernet Switch uses the mdios property for its internal MDIO bus.
> Therefore, disallow the mdios property for SJA1105, and the mdio property
> for SJA1110.
>
> Require the phy-handle property on the non-CPU ports if the mdios property
> is being used.
>
> Refer to dsa.yaml#/properties/mdio to point the human readers to the
> description on the dsa.yaml schema.
>
> ---
> .../bindings/net/dsa/nxp,sja1105.yaml | 20 ++++++++++++++++++-
> 1 file changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> index 82dda8fae8b16e..7d92350f1065b2 100644
> --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml
> @@ -52,7 +52,7 @@ properties:
> patternProperties:
> "^mdio@[0-1]$":
> - $ref: /schemas/net/mdio.yaml#
> + $ref: dsa.yaml#/properties/mdio
> unevaluatedProperties: false
> properties:
> @@ -128,14 +128,32 @@ allOf:
> then:
> properties:
> spi-cpol: false
> + mdios: false
> +
> required:
> - spi-cpha
> else:
> properties:
> spi-cpha: false
> + mdio: false
> +
> required:
> - spi-cpol
> + - if:
> + required: [ mdios ]
> + then:
> + patternProperties:
> + "^(ethernet-)?ports$":
> + patternProperties:
> + "^(ethernet-)?port@[0-9]+$":
> + if:
> + not:
> + required: [ ethernet ]
> + then:
> + required:
> + - phy-handle

For sja1105, phylink-compatible bindings (phy-handle, fixed-link or managed)
are required for all ports (user, dsa or cpu).

Also, sja1105 does not populate the slave_mii_bus, so it never uses the
fallback where ports implicitly connect to an internal PHY if no phylink
bindings are present.

> +
> unevaluatedProperties: false
> examples:
>
> Arınç