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

Cosmin Tanislav posted 3 patches 1 week, 6 days ago
There is a newer version of this series
[PATCH v2 1/3] dt-bindings: spi: renesas,rzv2h-rspi: allow multiple DMAs
Posted by Cosmin Tanislav 1 week, 6 days ago
The Renesas RZ/T2H and RZ/N2H 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.

Allow multiple DMAs by only restricting the possible names of the DMA
channels.

All '.*-names$' properties must conform to the string-array.yaml
meta-schema, which requires both minItems and maxItems properties to be
present before the items can be a schema. Otherwise, the items need to
be an array.

Declare a generous maxItems of 32, which should be enough for 16 DMA
controllers, so that we don't have to update this value ever again, even
if currently the maximum number of DMA controllers on a Renesas SoC is
5.

Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
---

V2:
 * new patch

 .../devicetree/bindings/spi/renesas,rzv2h-rspi.yaml    | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
index a588b112e11e..383e97f0dabd 100644
--- a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
+++ b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
@@ -57,13 +57,15 @@ properties:
       - const: presetn
       - const: tresetn
 
-  dmas:
-    maxItems: 2
+  dmas: true
 
   dma-names:
+    minItems: 2
+    maxItems: 32
     items:
-      - const: rx
-      - const: tx
+      enum:
+        - rx
+        - tx
 
   power-domains:
     maxItems: 1
-- 
2.52.0
Re: [PATCH v2 1/3] dt-bindings: spi: renesas,rzv2h-rspi: allow multiple DMAs
Posted by Conor Dooley 1 week, 5 days ago
On Tue, Jan 27, 2026 at 10:17:04PM +0200, Cosmin Tanislav wrote:
> The Renesas RZ/T2H and RZ/N2H 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.
> 
> Allow multiple DMAs by only restricting the possible names of the DMA
> channels.
> 

> All '.*-names$' properties must conform to the string-array.yaml
> meta-schema, which requires both minItems and maxItems properties to be
> present before the items can be a schema. Otherwise, the items need to
> be an array.

Why is this in the commit message?

> 
> Declare a generous maxItems of 32, which should be enough for 16 DMA
> controllers, so that we don't have to update this value ever again, even
> if currently the maximum number of DMA controllers on a Renesas SoC is
> 5.

Huh, No. The binding should constrain this to fit what the actual
devices do.


> 
> Signed-off-by: Cosmin Tanislav <cosmin-gabriel.tanislav.xa@renesas.com>
> ---
> 
> V2:
>  * new patch
> 
>  .../devicetree/bindings/spi/renesas,rzv2h-rspi.yaml    | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> index a588b112e11e..383e97f0dabd 100644
> --- a/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> +++ b/Documentation/devicetree/bindings/spi/renesas,rzv2h-rspi.yaml
> @@ -57,13 +57,15 @@ properties:
>        - const: presetn
>        - const: tresetn
>  
> -  dmas:
> -    maxItems: 2
> +  dmas: true

This should have the same constraints as dma-names. You've now allowed
this to have 1 and 33 dmas, because there's no requirement to have
dma-names when you have dmas.

>  
>    dma-names:
> +    minItems: 2
> +    maxItems: 32
>      items:
> -      - const: rx
> -      - const: tx
> +      enum:
> +        - rx
> +        - tx

You've changed this to allow 32 dma-names, but they all need to be
called either "rx" or "tx", how is a driver meant to use dma-names to
get the second pair of dma channels? Shouldn't anything in excess of the
first two start getting numbers appended so that a driver can actually
request them?

pw-bot: changes-requested

Conor.