On 3/14/23 15:45, Krzysztof Kozlowski wrote: > On 14/03/2023 19:50, Sean Anderson wrote: >> On 3/14/23 14:32, Krzysztof Kozlowski wrote: >>> On 14/03/2023 19:09, Sean Anderson wrote: >>>> On 3/14/23 13:56, Krzysztof Kozlowski wrote: >>>>> On 13/03/2023 17:11, Sean Anderson wrote: >>>>> + reg-names: >>>>>> + minItems: 1 >>>>>> + maxItems: 5 >>>>>> + items: >>>>>> + enum: >>>>> >>>>> Why this is in any order? Other bindings were here specific, your 'reg' >>>>> is also specific/fixed. >>>> >>>> Some devicetrees have dirout first, and other have dat first. There is no >>>> mandatory order, and some registers can be included or left out as is >>>> convenient to the devicetree author. >>>> >>>> reg is not specific/fixed either. It is just done that way for >>>> convenience (and to match the names here). >>> >>> The items have order and usually we require strict order from DTS, >>> unless there is a reason. If there is no reason, use fixed order and >>> then fix the DTS. >> >> The items do not have order. That is the whole point of having a >> separate names property. The DTs are not "broken" for taking advantage >> of a longstanding feature. There is no advantage to rewriting them to >> use a fixed order, especially when there is no precedent. This is just >> an area where json schema cannot completely validate devicetrees. > > I don't understand "there is no precedent".There is - we rewrite > hundreds of DTS. Just look at mine and other people commits. There is no precedent for a fixed order of registers for this device. We have always used reg-names to interpret regs. > The reg-names are helper and entries were always expected to be ordered This is not the case for this device. Registers may be in any order, and some registers may be omitted (and not always the same ones). reg-names is the only way to determine which registers are present. --Sean