Message ID | 20220813154415.349091-7-arinc.unal@arinc9.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | completely rework mediatek,mt7530 binding | expand |
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 >> >>
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
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(-)