[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<TYRPR01MB156199346D508EFE1F0F94349859EA@TYRPR01MB15619.jpnprd01.prod.outlook.com>
Date: Thu, 29 Jan 2026 17:55:21 +0000
From: Cosmin-Gabriel Tanislav <cosmin-gabriel.tanislav.xa@...esas.com>
To: Conor Dooley <conor@...nel.org>
CC: Fabrizio Castro <fabrizio.castro.jz@...esas.com>, Mark Brown
<broonie@...nel.org>, Rob Herring <robh@...nel.org>, Krzysztof Kozlowski
<krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Geert Uytterhoeven
<geert+renesas@...der.be>, magnus.damm <magnus.damm@...il.com>,
"linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"linux-renesas-soc@...r.kernel.org" <linux-renesas-soc@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v3 1/3] dt-bindings: spi: renesas,rzv2h-rspi: allow
multiple DMAs
> From: Conor Dooley <conor@...nel.org>
> Sent: Thursday, January 29, 2026 7:45 PM
>
> On Wed, Jan 28, 2026 at 11:51:30PM +0200, Cosmin Tanislav wrote:
> > All supported SoCs have multiple DMA controllers that can be used with
> > the RSPI peripheral. The current bindings only allow a single pair of RX
> > and TX DMAs.
> >
> > The DMA core allows specifying multiple DMAs with the same name, and it
> > will pick the first available one.
> >
> > There is an exception in the base dt-schema rules specifically for
> > allowing this behavior (dtschema/schemas/dma/dma.yaml).
> >
> > dma-names:
> > anyOf:
> > - uniqueItems: true
> > - items:
> > # Hack around Renesas bindings which repeat entries to support
> > # multiple possible DMA providers
> > enum: [rx, tx]
> >
> > Allow multiple DMAs to have the same name and only restrict the possible
> > names of the DMA channels, not their count.
> >
> > For RZ/T2H and RZ/N2H SoCs, limit the number of DMA channels to 6, as
> > they have 3 DMA controllers.
>
> What's the rationale behind not setting minItems to 6 here
>
> >
> > For RZ/V2H and RZ/V2N SoCs, limit the number of DMA channels to 10, as
> > they have 5 DMA controllers.
>
> and to 10 here? Do any of the spi controllers on these SoCs not have the
> ability to use all of the available dma controllers?
>
I left minItems to 2 in case it is necessary to wire up SPI to only a
subset of the DMA controllers, maybe for performance reasons in a
board-specific dts?
I know that dts is only supposed to describe the hardware itself, but for
now this would be the only way to pre-select which DMA controller is used
for a specific IP.
Let me know your thoughts.
> >
> > Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@...esas.com>
> > ---
> >
> > V3:
> > * impose proper maxItems for each device
> > * impose maxItems for dmas property
> >
> > V2:
> > * new patch
> >
> > .../bindings/spi/renesas,rzv2h-rspi.yaml | 16 +++++++++++++---
> > 1 file changed, 13 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> > index a588b112e11e..cf8b733b766d 100644
> > --- a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> > +++ b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> > @@ -58,12 +58,16 @@ properties:
> > - const: tresetn
> >
> > dmas:
> > - maxItems: 2
> > + minItems: 2
> > + maxItems: 10
> >
> > dma-names:
> > + minItems: 2
> > + maxItems: 10
> > items:
> > - - const: rx
> > - - const: tx
> > + enum:
> > + - rx
> > + - tx
> >
> > power-domains:
> > maxItems: 1
> > @@ -121,6 +125,12 @@ allOf:
> > resets: false
> > reset-names: false
> >
> > + dmas:
> > + maxItems: 6
> > +
> > + dma-names:
> > + maxItems: 6
> > +
> > unevaluatedProperties: false
> >
> > examples:
> > --
> > 2.52.0
Powered by blists - more mailing lists