Re: [PATCH v3 1/3] dt-bindings: spi: renesas,rzv2h-rspi: allow multiple DMAs

From: Conor Dooley

Date: Thu Jan 29 2026 - 12:48:38 EST


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?

>
> Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@xxxxxxxxxxx>
> ---
>
> 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

Attachment: signature.asc
Description: PGP signature