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.