On Sun, Jan 05, 2025 at 06:03:44PM +0200, Ivaylo Ivanov wrote: > samsung,mode: > $ref: /schemas/types.yaml#/definitions/uint32 > - enum: [0, 1, 2, 3] > + enum: [0, 1, 2, 3, 4, 5, 6] > description: > Selects USI function (which serial protocol to use). Refer to > <include/dt-bindings/soc/samsung,exynos-usi.h> for valid USI mode values. > @@ -101,37 +111,62 @@ required: > - samsung,sysreg > - samsung,mode > > -if: > - properties: > - compatible: > - contains: > - enum: > - - samsung,exynos850-usi > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - google,gs101-usi > + - samsung,exynos850-usi > + - samsung,exynosautov9-usi > + - samsung,exynosautov920-usi I made mistake during last review - the binding had a confusing "else" here, but that else was a no-op. All existing compatibles are fallbacked to samsung,exynos850-usi, so previous code "contains: enum: samsung,exynos850-usi" was covering everything. You can drop other variants and keep the original samsung,exynos850-usi only. > + > + then: > + properties: > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: Bus (APB) clock > + - description: Operating clock for UART/SPI/I2C protocol > + > + clock-names: > + maxItems: 2 > + > + samsung,mode: > + enum: [0, 1, 2, 3] > + > + required: > + - reg > + - clocks > + - clock-names > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - samsung,exynos8895-usi I don't see where this compatible is documented. > + > + then: > + properties: > + reg: false > + > + clocks: > + items: > + - description: Bus (APB) clock > + - description: Operating clock for UART/SPI protocol Best regards, Krzysztof