Re: [PATCH] ASoC: dt-bindings: sound: renesas,r9a09g047: Fix dma-names list and ports schema
From: Rob Herring
Date: Thu Jun 04 2026 - 10:19:49 EST
On Wed, Jun 03, 2026 at 08:28:05PM +0000, John Madieu wrote:
> Express the dvc/src/ssiu dma-names as an items list rather than an
> allOf-wrapped single schema, and drop the now-redundant maxItems. Fix
> the ports container to reference graph.yaml's ports definition instead
> of port-base (a ports container is not itself a port), keeping
> port-base on the port@N children, and constrain each playback/capture
> phandle-array entry to a single phandle.
>
> While at it, drop the unused top-level #address-cells/#size-cells since
> no child node uses a unit address and the ports node provides its own,
> require interrupts/dmas/dma-names on the src sub-nodes to match the
> ssi/ssiu sub-nodes and the driver, pin clocks and resets to their fixed
> counts (47 and 14) to match the clock-names/reset-names lists, and put
> compatible and reg first in the example.
>
> Fixes: a86fd3c20218 ("ASoC: dt-bindings: sound: Add DT binding for RZ/G3E sound")
> Signed-off-by: John Madieu <john.madieu.xa@xxxxxxxxxxxxxx>
> ---
> .../sound/renesas,r9a09g047-sound.yaml | 71 +++++++++++--------
> 1 file changed, 43 insertions(+), 28 deletions(-)
> @@ -143,11 +139,12 @@ properties:
> through the list to find a free channel.
>
> dma-names:
> - maxItems: 5
> - allOf:
> - - items:
> - enum:
> - - tx
> + items:
> + - const: tx
> + - const: tx
> + - const: tx
> + - const: tx
> + - const: tx
All you need is:
maxItems: 5
items:
const: tx
(The schema form (vs. list form) of 'items' applies to all items.)
>
> required:
> - dmas
> @@ -203,12 +200,22 @@ properties:
> falls through the list to find a free channel.
>
> dma-names:
> - maxItems: 10
> - allOf:
> - - items:
> - enum:
> - - tx
> - - rx
> + items:
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
maxItems: 10
items:
enum: [ tx, rx ]
> +
> + required:
> + - interrupts
> + - dmas
> + - dma-names
>
> ssiu:
> type: object
> @@ -229,12 +236,17 @@ properties:
> falls through the list to find a free channel.
>
> dma-names:
> - maxItems: 10
> - allOf:
> - - items:
> - enum:
> - - tx
> - - rx
> + items:
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
> + - enum: [ tx, rx ]
And same here.
Rob