On 31/01/2024 12:43, Xu Yang wrote: > Change reg, interrupts, clock and clock-names as common properties and add > restrictions on them for different compatibles. > > Signed-off-by: Xu Yang <xu.yang_2@xxxxxxx> > > --- > Changes in v4: > - new patch since v3's discussion > - split the reg, interrupts, clock and clock-names properties into > common part and device-specific > Changes in v5: > - keep common property unchanged > - make if-then more readable > - remove non imx part > --- > .../devicetree/bindings/usb/ci-hdrc-usb2.yaml | 118 ++++++++++++++++++ > 1 file changed, 118 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml > index 3b56e0edb1c6..6ad3582051b8 100644 > --- a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml > +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.yaml > @@ -412,6 +412,124 @@ allOf: > samsung,picophy-pre-emp-curr-control: false > samsung,picophy-dc-vol-level-adjust: false > > + - if: > + properties: > + compatible: > + const: fsl,imx27-usb > + then: > + properties: > + clocks: > + minItems: 3 > + maxItems: 3 > + clock-names: > + minItems: 3 > + maxItems: 3 > + items: > + anyOf: > + - const: ipg > + - const: ahb > + - const: per This would be just: enum: [ipg, ahb, per], but in both cases I question why the order should be flexible? Nothing in commit msg explains it. Plus I will repeat myself from your v4. I don't think this is helping, because the file will soon grow to umnanageable chunk. I prefer to fix it at beginning, before we reach snps-schema level of complexities. Please define common schema, reference in this file and move IMX to own file. In any case, please provide short comment in the code why you have such duplicated if:then: Best regards, Krzysztof