Define acceptable phy-mode values for CPU port of each compatible device.
Remove relevant information from the description of the binding.
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
---
.../bindings/net/dsa/mediatek,mt7530.yaml | 103 ++++++++++++++++--
1 file changed, 92 insertions(+), 11 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index a27cb4fa490f..530ef5a75a2f 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -49,17 +49,6 @@ description: |
* mt7621: phy-mode = "rgmii-txid";
* mt7623: phy-mode = "rgmii";
- CPU-Ports need a phy-mode property:
- Allowed values on mt7530 and mt7621:
- - "rgmii"
- - "trgmii"
- On mt7531:
- - "1000base-x"
- - "2500base-x"
- - "rgmii"
- - "sgmii"
-
-
properties:
compatible:
oneOf:
@@ -177,6 +166,36 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - gmii
+ - mii
+ - rgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - rgmii
+ - trgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+
required:
- phy-mode
@@ -206,6 +225,38 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - 1000base-x
+ - 2500base-x
+ - rgmii
+ - sgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - 1000base-x
+ - 2500base-x
+ - sgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+
required:
- phy-mode
@@ -235,6 +286,36 @@ allOf:
items:
- const: cpu
then:
+ allOf:
+ - if:
+ properties:
+ reg:
+ const: 5
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - gmii
+ - mii
+ - rgmii
+
+ - if:
+ properties:
+ reg:
+ const: 6
+ then:
+ properties:
+ phy-mode:
+ enum:
+ - rgmii
+ - trgmii
+
+ properties:
+ reg:
+ enum:
+ - 5
+ - 6
+
required:
- phy-mode
--
2.34.1
On Sat, Aug 13, 2022 at 06:44:14PM +0300, Arınç ÜNAL wrote: > Define acceptable phy-mode values for CPU port of each compatible device. > Remove relevant information from the description of the binding. I'm not really sure this is worth the complexity just to check 'phy-mode'... > > Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> > --- > .../bindings/net/dsa/mediatek,mt7530.yaml | 103 ++++++++++++++++-- > 1 file changed, 92 insertions(+), 11 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > index a27cb4fa490f..530ef5a75a2f 100644 > --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > @@ -49,17 +49,6 @@ description: | > * mt7621: phy-mode = "rgmii-txid"; > * mt7623: phy-mode = "rgmii"; > > - CPU-Ports need a phy-mode property: > - Allowed values on mt7530 and mt7621: > - - "rgmii" > - - "trgmii" > - On mt7531: > - - "1000base-x" > - - "2500base-x" > - - "rgmii" > - - "sgmii" > - > - > properties: > compatible: > oneOf: > @@ -177,6 +166,36 @@ allOf: > items: > - const: cpu > then: > + allOf: > + - if: > + properties: > + reg: > + const: 5 > + then: > + properties: > + phy-mode: > + enum: > + - gmii > + - mii > + - rgmii > + > + - if: > + properties: > + reg: > + const: 6 > + then: You've restricted this to ports 5 or 6 already, so you just need an 'else' here. And you can then drop the 'allOf'. > + properties: > + phy-mode: > + enum: > + - rgmii > + - trgmii > + > + properties: > + reg: > + enum: > + - 5 > + - 6 > + > required: > - phy-mode > > @@ -206,6 +225,38 @@ allOf: > items: > - const: cpu > then: > + allOf: > + - if: > + properties: > + reg: > + const: 5 > + then: > + properties: > + phy-mode: > + enum: > + - 1000base-x > + - 2500base-x > + - rgmii > + - sgmii > + > + - if: > + properties: > + reg: > + const: 6 > + then: > + properties: > + phy-mode: > + enum: > + - 1000base-x > + - 2500base-x > + - sgmii > + > + properties: > + reg: > + enum: > + - 5 > + - 6 > + > required: > - phy-mode > > @@ -235,6 +286,36 @@ allOf: > items: > - const: cpu > then: > + allOf: > + - if: > + properties: > + reg: > + const: 5 > + then: > + properties: > + phy-mode: > + enum: > + - gmii > + - mii > + - rgmii > + > + - if: > + properties: > + reg: > + const: 6 > + then: > + properties: > + phy-mode: > + enum: > + - rgmii > + - trgmii > + > + properties: > + reg: > + enum: > + - 5 > + - 6 > + Looks like the same schema duplicated. You can put it under a '$defs' and reference it twice. > required: > - phy-mode > > -- > 2.34.1 > >
On 17.08.2022 00:21, Rob Herring wrote: > On Sat, Aug 13, 2022 at 06:44:14PM +0300, Arınç ÜNAL wrote: >> Define acceptable phy-mode values for CPU port of each compatible device. >> Remove relevant information from the description of the binding. > > I'm not really sure this is worth the complexity just to check > 'phy-mode'... I can describe it on the binding description but it won't be checked on DT bindings. phy-mode values are significantly different between mt7530 and mt7531 so I think it's useful to have it. > >> >> Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> >> --- >> .../bindings/net/dsa/mediatek,mt7530.yaml | 103 ++++++++++++++++-- >> 1 file changed, 92 insertions(+), 11 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml >> index a27cb4fa490f..530ef5a75a2f 100644 >> --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml >> +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml >> @@ -49,17 +49,6 @@ description: | >> * mt7621: phy-mode = "rgmii-txid"; >> * mt7623: phy-mode = "rgmii"; >> >> - CPU-Ports need a phy-mode property: >> - Allowed values on mt7530 and mt7621: >> - - "rgmii" >> - - "trgmii" >> - On mt7531: >> - - "1000base-x" >> - - "2500base-x" >> - - "rgmii" >> - - "sgmii" >> - >> - >> properties: >> compatible: >> oneOf: >> @@ -177,6 +166,36 @@ allOf: >> items: >> - const: cpu >> then: >> + allOf: >> + - if: >> + properties: >> + reg: >> + const: 5 >> + then: >> + properties: >> + phy-mode: >> + enum: >> + - gmii >> + - mii >> + - rgmii >> + >> + - if: >> + properties: >> + reg: >> + const: 6 >> + then: > > You've restricted this to ports 5 or 6 already, so you just need an > 'else' here. And you can then drop the 'allOf'. Good thinking, will do. > >> + properties: >> + phy-mode: >> + enum: >> + - rgmii >> + - trgmii >> + >> + properties: >> + reg: >> + enum: >> + - 5 >> + - 6 >> + >> required: >> - phy-mode >> >> @@ -206,6 +225,38 @@ allOf: >> items: >> - const: cpu >> then: >> + allOf: >> + - if: >> + properties: >> + reg: >> + const: 5 >> + then: >> + properties: >> + phy-mode: >> + enum: >> + - 1000base-x >> + - 2500base-x >> + - rgmii >> + - sgmii >> + >> + - if: >> + properties: >> + reg: >> + const: 6 >> + then: >> + properties: >> + phy-mode: >> + enum: >> + - 1000base-x >> + - 2500base-x >> + - sgmii >> + >> + properties: >> + reg: >> + enum: >> + - 5 >> + - 6 >> + >> required: >> - phy-mode >> >> @@ -235,6 +286,36 @@ allOf: >> items: >> - const: cpu >> then: >> + allOf: >> + - if: >> + properties: >> + reg: >> + const: 5 >> + then: >> + properties: >> + phy-mode: >> + enum: >> + - gmii >> + - mii >> + - rgmii >> + >> + - if: >> + properties: >> + reg: >> + const: 6 >> + then: >> + properties: >> + phy-mode: >> + enum: >> + - rgmii >> + - trgmii >> + >> + properties: >> + reg: >> + enum: >> + - 5 >> + - 6 >> + > > Looks like the same schema duplicated. You can put it under a '$defs' > and reference it twice. Great! > >> required: >> - phy-mode >> >> -- >> 2.34.1 >> >>
© 2016 - 2024 Red Hat, Inc.