On Tue, Jan 23, 2024 at 2:18 AM Conor Dooley <conor@xxxxxxxxxx> wrote: > > On Tue, Jan 23, 2024 at 01:05:15AM +0800, Chen-Yu Tsai wrote: > > From: Chen-Yu Tsai <wens@xxxxxxxx> > > > > The DMA controllers found on the H616 and H618 are the same as the one > > found on the H6. The only difference is the DMA endpoint (DRQ) layout. > > > > Since the number of channels and endpoints are described with additional > > generic properties, just add a new H616-specific compatible string and > > fallback to the H6 one. > > > > Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> > > --- > > .../bindings/dma/allwinner,sun50i-a64-dma.yaml | 15 +++++++++++---- > > 1 file changed, 11 insertions(+), 4 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml b/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml > > index ec2d7a789ffe..e5693be378bd 100644 > > --- a/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml > > +++ b/Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml > > @@ -28,6 +28,9 @@ properties: > > - items: > > - const: allwinner,sun8i-r40-dma > > - const: allwinner,sun50i-a64-dma > > + - items: > > + - const: allwinner,sun50i-h616-dma > > + - const: allwinner,sun50i-h6-dma > > > > reg: > > maxItems: 1 > > @@ -59,10 +62,14 @@ required: > > if: > > properties: > > compatible: > > - enum: > > - - allwinner,sun20i-d1-dma > > - - allwinner,sun50i-a100-dma > > - - allwinner,sun50i-h6-dma > > + oneOf: > > + - enum: > > + - allwinner,sun20i-d1-dma > > + - allwinner,sun50i-a100-dma > > + - allwinner,sun50i-h6-dma > > + - items: > > + - const: allwinner,sun50i-h616-dma > > + - const: allwinner,sun50i-h6-dma > > Instead of introducing this complexity, could you instead use "contains" > here? Unless I am missing soemthing, you can achieve the same thing here > with: > |if: > | properties: > | compatible: > | constains: > | enum: > | - allwinner,sun20i-d1-dma > | - allwinner,sun50i-a100-dma > | - allwinner,sun50i-h6-dma Thank you for the reminder. I had a vague impression that something simpler worked, but couldn't remember what exactly. ChenYu