On 11/10/2022 16:34, Marcin Wojtas wrote: >> >> Keep the same order of items here as in list of properties >> >>> + >>> +required: >>> + - compatible >>> + - reg >>> + - clocks >>> + - clock-names >>> + >>> +allOf: >>> + - $ref: ethernet-controller.yaml# >> >> Hmm, are you sure this applies to top-level properties, not to >> ethernet-port subnodes? Your ports have phy-mode and phy - just like >> ethernet-controller. If I understand correctly, your Armada Ethernet >> Controller actually consists of multiple ethernet controllers? >> > > PP2 is a single controller with common HW blocks, such as queue/buffer > management, parser/classifier, register space, and more. It controls > up to 3 MAC's (ports) that can be connected to phys, sfp cages, etc. > The latter cannot exist on their own and IMO the current hierarchy - > the main controller with subnodes (ports) properly reflects the > hardware. > > Anyway, the ethernet-controller.yaml properties fit to the subnodes. > Apart from the name. The below is IMO a good description:. It also starts to look a bit like a switch (see bindings/net/dsa). > >> If so, this should be moved to proper place inside patternProperties. >> Maybe the subnodes should also be renamed from ports to just "ethernet" >> (as ethernet-controller.yaml expects), but other schemas do not follow >> this convention, > > ethernet@ > { > ethernet-port@0 > { > } > ethernet-port@1 > { > } > } > > What do you recommend? Yes, keep it like this and reference the ethernet-controller.yaml in each port. Best regards, Krzysztof