@@ -130,38 +130,47 @@ properties:
ethsys.
maxItems: 1
-patternProperties:
- "^(ethernet-)?ports$":
- type: object
-
- patternProperties:
- "^(ethernet-)?port@[0-9]+$":
- type: object
- description: Ethernet switch ports
-
- unevaluatedProperties: false
+required:
+ - compatible
+ - reg
- properties:
- reg:
- description:
- Port address described must be 5 or 6 for CPU port and from 0
- to 5 for user ports.
+$defs:
+ dsa-port-reg:
+ properties:
+ reg:
+ description:
+ Port address described must be 5 or 6 for CPU port and from
+ 0 to 5 for user ports.
- allOf:
- - $ref: dsa-port.yaml#
- - if:
+ mt7530-dsa-port:
+ patternProperties:
+ "^(ethernet-)?ports$":
+ patternProperties:
+ "^(ethernet-)?port@[0-9]+$":
+ $ref: "#/$defs/dsa-port-reg"
+ if:
properties:
label:
items:
- const: cpu
then:
required:
- - reg
- phy-mode
-required:
- - compatible
- - reg
+ mt7531-dsa-port:
+ patternProperties:
+ "^(ethernet-)?ports$":
+ patternProperties:
+ "^(ethernet-)?port@[0-9]+$":
+ $ref: "#/$defs/dsa-port-reg"
+ if:
+ properties:
+ label:
+ items:
+ - const: cpu
+ then:
+ required:
+ - phy-mode
allOf:
- $ref: dsa.yaml#
@@ -185,6 +194,7 @@ allOf:
items:
- const: mediatek,mt7530
then:
+ $ref: "#/$defs/mt7530-dsa-port"
required:
- core-supply
- io-supply
@@ -195,6 +205,7 @@ allOf:
items:
- const: mediatek,mt7531
then:
+ $ref: "#/$defs/mt7531-dsa-port"
properties:
mediatek,mcm: false
@@ -204,6 +215,7 @@ allOf:
items:
- const: mediatek,mt7621
then:
+ $ref: "#/$defs/mt7530-dsa-port"
required:
- mediatek,mcm
Define DSA port binding per switch model as each switch model requires different values for certain properties. Define reg property on $defs as it's the same for all switch models. Remove unnecessary lines as they are already included from the referred dsa.yaml. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> --- .../bindings/net/dsa/mediatek,mt7530.yaml | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-)