On 14/06/2023 21:35, Frank Li wrote: > Extend Freescale eDMA driver bindings to support eDMA3 IP blocks in > i.MX8QM and i.MX8QXP SoCs. In i.MX93, both eDMA3 and eDMA4 are now. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > .../devicetree/bindings/dma/fsl,edma.yaml | 99 +++++++++++++++++-- > 1 file changed, 92 insertions(+), 7 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/fsl,edma.yaml b/Documentation/devicetree/bindings/dma/fsl,edma.yaml > index 5fd8fc604261..de8c44bd8a89 100644 > --- a/Documentation/devicetree/bindings/dma/fsl,edma.yaml > +++ b/Documentation/devicetree/bindings/dma/fsl,edma.yaml > @@ -21,32 +21,41 @@ properties: > - enum: > - fsl,vf610-edma > - fsl,imx7ulp-edma > + - fsl,imx8qm-adma > + - fsl,imx8qm-edma > + - fsl,imx93-edma3 > + - fsl,imx93-edma4 > - items: > - const: fsl,ls1028a-edma > - const: fsl,vf610-edma > > reg: > - minItems: 2 > + minItems: 1 > maxItems: 3 > > interrupts: > - minItems: 2 > - maxItems: 17 > + minItems: 1 > + maxItems: 64 > > interrupt-names: > - minItems: 2 > - maxItems: 17 > + minItems: 1 > + maxItems: 64 > > "#dma-cells": > - const: 2 > + enum: > + - 2 > + - 3 > > dma-channels: > - const: 32 > + minItems: 1 > + maxItems: 64 > > clocks: > + minItems: 1 > maxItems: 2 > > clock-names: > + minItems: 1 > maxItems: 2 > > big-endian: > @@ -65,6 +74,38 @@ required: > > allOf: > - $ref: dma-controller.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - fsl,imx8qm-adma > + - fsl,imx8qm-edma > + - fsl,imx93-edma3 > + - fsl,imx93-edma4 > + then: > + properties: > + "#dma-cells": > + const: 3 > + # It is not necessary to write the interrupt name for each channel. > + # instead, you can simply maintain the sequential IRQ numbers as > + # defined for the DMA channels. > + interrupt-names: false > + clock-names: items: - const: dma clocks: maxItems: 1 You do not allow more than one clock, right? > + const: dma > + else: You already have two ifs, so you should not have else here, but rather make each if clause proper for your setup. BTW, the amount of differences point to very complicated schema, so you should think whether it makes sense to keep binding growing in the first place. > + properties: > + reg: > + minItems: 2 > + maxItems: 3 > + interrupts: > + minItems: 2 > + maxItems: 17 missing clocks restriction to minItems: 2 > + "#dma-cells": > + const: 2 > + dma-channels: > + const: 32 > + Best regards, Krzysztof