On 18/12/2022 20:06, Marek Vasut wrote: > On 12/18/22 19:46, Krzysztof Kozlowski wrote: >> On 18/12/2022 00:12, Marek Vasut wrote: >>> On 12/17/22 12:05, Krzysztof Kozlowski wrote: >>> >>> [...] >>> >>>>> +allOf: >>>>> + - $ref: dma-controller.yaml# >>>>> + - if: >>>>> + properties: >>>>> + compatible: >>>>> + not: >>>> >>>> I think "not:" goes just after "if:". Please double check that it's correct. >>>> >>>> Anyway it is easier to have this without negation and you already >>>> enumerate all variants (here and below). >>> >>> About this part, I don't think that works. See this: >>> >>> $ git grep -A 15 'imx2[38]-dma-apb[hx]' arch/ | grep >>> '\(imx2[38]-dma-apb[hx]\|dma-channels\)' >>> arch/arm/boot/dts/imx23.dtsi: compatible = "fsl,imx23-dma-apbh"; >>> arch/arm/boot/dts/imx23.dtsi- dma-channels = <8>; >>> arch/arm/boot/dts/imx23.dtsi: compatible = "fsl,imx23-dma-apbx"; >>> arch/arm/boot/dts/imx23.dtsi- dma-channels = <16>; >>> arch/arm/boot/dts/imx28.dtsi: compatible = "fsl,imx28-dma-apbh"; >>> arch/arm/boot/dts/imx28.dtsi- dma-channels = <16>; >>> arch/arm/boot/dts/imx28.dtsi: compatible = "fsl,imx28-dma-apbx"; >>> arch/arm/boot/dts/imx28.dtsi- dma-channels = <16>; >>> arch/arm/boot/dts/imx6qdl.dtsi: compatible = "fsl,imx6q-dma-apbh", >>> "fsl,imx28-dma-apbh"; >>> arch/arm/boot/dts/imx6qdl.dtsi- dma-channels = <4>; >>> arch/arm/boot/dts/imx6sx.dtsi: compatible = "fsl,imx6sx-dma-apbh", >>> "fsl,imx28-dma-apbh"; >>> arch/arm/boot/dts/imx6sx.dtsi- dma-channels = <4>; >>> arch/arm/boot/dts/imx6ul.dtsi: compatible = "fsl,imx6q-dma-apbh", >>> "fsl,imx28-dma-apbh"; >>> arch/arm/boot/dts/imx6ul.dtsi- dma-channels = <4>; >>> arch/arm/boot/dts/imx7s.dtsi: compatible = "fsl,imx7d-dma-apbh", >>> "fsl,imx28-dma-apbh"; >>> arch/arm/boot/dts/imx7s.dtsi- dma-channels = <4>; >>> arch/arm64/boot/dts/freescale/imx8mm.dtsi: compatible = >>> "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh"; >>> arch/arm64/boot/dts/freescale/imx8mm.dtsi- dma-channels = <4>; >>> arch/arm64/boot/dts/freescale/imx8mn.dtsi: compatible = >>> "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh"; >>> arch/arm64/boot/dts/freescale/imx8mn.dtsi- dma-channels = <4>; >>> >>> So I think what we have to do to validate that, is, say >>> >>> default: 4 >>> >>> if does not match on 6q/6sx/7d/23-apbx/28-abbh/28-apbx then 8 >>> >>> if does not match on 6q/6sx/7d/23-apbh then 16 >>> >>> But if there is a better way to validate the above, please do tell. >> >> Then your existing if:then: is also not correct because you require for >> fsl,imx28-dma-apbh (as it is not in second if:then:) const:16. Just >> don't require it. > > So, shall I just drop the entire allOf: section ? No, what about the interrupts? Best regards, Krzysztof