On Thu, Jan 19, 2023 at 10:21:13PM +0200, Vladimir Oltean wrote: > Hi Colin, > > On Wed, Jan 18, 2023 at 12:28:36PM -1000, Colin Foster wrote: > > - ethernet-ports: > - type: object > - > - properties: > - '#address-cells': > - const: 1 > - '#size-cells': > - const: 0 > - > - additionalProperties: false > - > - patternProperties: > - "^port@[0-9a-f]+$": > - > - $ref: ethernet-switch-port.yaml# > - > - unevaluatedProperties: false > - I think removing this entire section was the one thing I didn't try. And sure enough - it seems to work exactly as I'd hope! Thanks! Next week I'll do some verification and will hopefully get the next patch set sent out. > required: > - compatible > - reg > - reg-names > - - interrupts > - - interrupt-names > - ethernet-ports > > -additionalProperties: false > +unevaluatedProperties: false > > examples: > + # VSC7514 (Switchdev) > - | > switch@1010000 { > compatible = "mscc,vsc7514-switch"; > @@ -154,6 +175,7 @@ examples: > reg = <0>; > phy-handle = <&phy0>; > phy-mode = "internal"; > + ethernet = <&mac_sw>; # fails validation as expected > }; > port1: port@1 { > reg = <1>; > @@ -162,5 +184,51 @@ examples: > }; > }; > }; > + # VSC7512 (DSA) > + - | > + ethernet-switch@1{ > + compatible = "mscc,vsc7512-switch"; > + reg = <0x71010000 0x10000>, > + <0x71030000 0x10000>, > + <0x71080000 0x100>, > + <0x710e0000 0x10000>, > + <0x711e0000 0x100>, > + <0x711f0000 0x100>, > + <0x71200000 0x100>, > + <0x71210000 0x100>, > + <0x71220000 0x100>, > + <0x71230000 0x100>, > + <0x71240000 0x100>, > + <0x71250000 0x100>, > + <0x71260000 0x100>, > + <0x71270000 0x100>, > + <0x71280000 0x100>, > + <0x71800000 0x80000>, > + <0x71880000 0x10000>, > + <0x71040000 0x10000>, > + <0x71050000 0x10000>, > + <0x71060000 0x10000>; > + reg-names = "sys", "rew", "qs", "ptp", "port0", "port1", > + "port2", "port3", "port4", "port5", "port6", > + "port7", "port8", "port9", "port10", "qsys", > + "ana", "s0", "s1", "s2"; > + > + ethernet-ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + ethernet = <&mac_sw>; > + phy-handle = <&phy0>; > + phy-mode = "internal"; > + }; > + port@1 { > + reg = <1>; > + phy-handle = <&phy1>; > + phy-mode = "internal"; > + }; > + }; > + }; > > ... > > Of course this is a completely uneducated attempt on my part.