Re: [PATCH 4/7] dt-bindings: dma: allwinner,sun50i-a64-dma: Add compatible for H616

From: Chen-Yu Tsai
Date: Thu Jan 25 2024 - 09:32:19 EST


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