On 05/05/2022 17:00, Frank Wunderlich wrote: > From: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx> > > Convert txt binding to yaml binding for Mediatek switches. > > Signed-off-by: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx> Thank you for your patch. There is something to discuss/improve. > + const: 1 > + > + "#size-cells": > + const: 0 > + > + core-supply: > + description: | Drop | everywhere where it is not needed (so in all places, AFAICT) > + Phandle to the regulator node necessary for the core power. > + > + "#gpio-cells": > + description: | > + Must be 2 if gpio-controller is defined. Skip description, it's obvious from the GPIO controller schema. > + const: 2 > + > + gpio-controller: > + type: boolean > + description: | > + if defined, MT7530's LED controller will run on GPIO mode. > + > + "#interrupt-cells": > + const: 1 > + > + interrupt-controller: > + type: boolean > + > + interrupts: > + maxItems: 1 > + > + io-supply: > + description: | > + Phandle to the regulator node necessary for the I/O power. > + See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt > + for details for the regulator setup on these boards. > + > + mediatek,mcm: > + type: boolean > + description: | > + if defined, indicates that either MT7530 is the part on multi-chip > + module belong to MT7623A has or the remotely standalone chip as the > + function MT7623N reference board provided for. > + > + reset-gpios: > + description: | > + Should be a gpio specifier for a reset line. Skip description. > + maxItems: 1 > + > + reset-names: > + description: | > + Should be set to "mcm". Skip description. > + const: mcm > + > + resets: > + description: | > + Phandle pointing to the system reset controller with line index for > + the ethsys. > + maxItems: 1 > + > +required: > + - compatible > + - reg > + > +allOf: > + - $ref: "dsa.yaml#" > + - if: > + required: > + - mediatek,mcm > + then: > + required: > + - resets > + - reset-names > + else: > + required: > + - reset-gpios > + > + - if: > + required: > + - interrupt-controller > + then: > + required: > + - interrupts > + > + - if: > + properties: > + compatible: > + items: > + - const: mediatek,mt7530 > + then: > + required: > + - core-supply > + - io-supply > + > + > +patternProperties: patternProperties go before allOf, just after regular properties. > + "^(ethernet-)?ports$": > + type: object Also on this level: unevaluatedProperties: false > + > + patternProperties: > + "^(ethernet-)?port@[0-9]+$": > + type: object > + description: Ethernet switch ports > + > + properties: > + reg: > + description: | > + Port address described must be 6 for CPU port and from 0 to 5 for user ports. This looks like not wrapped @80 character. > + > + unevaluatedProperties: false > + > + allOf: > + - $ref: dsa-port.yaml# > + - if: > + properties: > + label: > + items: > + - const: cpu > + then: > + required: > + - reg > + - phy-mode > + > +unevaluatedProperties: false Best regards, Krzysztof