Hi This is [RFC] patches. This patch-set adjust to R-Car Gen4 on renesas,rsnd.yaml. It works and no error reported. But by this patch, non-Gen4 leaks from "ssi-[0-9]" checking. I'm not sure why it happens. ----------------------- rcar_sound,ssi: ... patternProperties: "^ssi-[0-9]$": ... required: (*) - interrupts ^ allOf: | - if: | not: | properties: | compatible: (X) contains: |(4) const: renesas,rcar_sound-gen4 | then: | required: |(A) - dmas v(B) - dma-names ----------------------- sound@ec500000 { (3) compatible = "renesas,rcar_sound-gen3"; ... rcar_sound,ssi { ssi0: ssi-0 { (*) interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; (A) dmas = <&audma0 0x01>, <&audma1 0x02>; (B) dma-names = "rx", "tx"; }; ... }; ... }; sound@ec500000 { (4) compatible = "renesas,rcar_sound-gen4"; ... rcar_sound,ssi { ssi0: ssi-0 { (*) interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; }; ... }; ... }; ----------------------- I want to do here is that "interrupts" (*) is always requested, and dmas (A) / dma-names (B) are required on non-Gen4 case only. But, it say no error if I removed (A)(B) lines from "Gen3". This is not my expect behavior, but I'm not sure why it happens. It seems (X) part is not working. I'm happy if someone checks it and pointing what was wrong. Kuninori Morimoto (2): ASoC: dt-bindings: renesas,rsnd.yaml: tidyup reg/reg-name ASoC: dt-bindings: renesas,rsnd.yaml: adjust to R-Car Gen4 .../bindings/sound/renesas,rsnd.yaml | 89 ++++++++++++++----- 1 file changed, 68 insertions(+), 21 deletions(-) -- 2.25.1