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@xxxxxxxxxx> > --- > .../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 > >