On Wed, Aug 28, 2024 at 11:51:49PM +0100, Daniel Golle wrote: > Usually the MDI pair order reversal configuration is defined by > bootstrap pin MDI_CFG. Some designs, however, require overriding the MDI > pair order and force either normal or reverse order. > > Add mutually exclusive properties 'marvell,force-mdi-order-normal' and > 'marvell,force-mdi-order-reverse' for that purpose. > > Signed-off-by: Daniel Golle <daniel@xxxxxxxxxxxxxx> > --- > v2: enforce mutually exclusive relationship of the two new properties in > dt-schema. > > .../bindings/net/marvell,aquantia.yaml | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/marvell,aquantia.yaml b/Documentation/devicetree/bindings/net/marvell,aquantia.yaml > index 9854fab4c4db0..03b0cff239f70 100644 > --- a/Documentation/devicetree/bindings/net/marvell,aquantia.yaml > +++ b/Documentation/devicetree/bindings/net/marvell,aquantia.yaml > @@ -22,6 +22,12 @@ description: | > > allOf: > - $ref: ethernet-phy.yaml# > + - if: > + required: > + - marvell,force-mdi-order-normal > + then: > + properties: > + marvell,force-mdi-order-reverse: false > > select: > properties: > @@ -48,6 +54,16 @@ properties: > firmware-name: > description: specify the name of PHY firmware to load > > + marvell,force-mdi-order-normal: > + type: boolean > + description: > + force normal order of MDI pairs, overriding MDI_CFG bootstrap pin. > + > + marvell,force-mdi-order-reverse: > + type: boolean > + description: > + force reverse order of MDI pairs, overriding MDI_CFG bootstrap pin. Why 2 properties for 1 setting? Just do something like this: marvell,mdi-cfg-order = <0|1>; 1 means reverse, 0 means normal (or vise-versa). Not present then means use MDI_CFG setting. Then the binding naturally avoids nonsensical combinations of properties without the schema having to enforce it. Feel free to tweak the naming/values. I would make 0 and 1 align with MDI_CFG states, but I don't know what those are. Rob