[PATCH] ASoC: dt-bindings: sound: renesas,r9a09g047: Fix dma-names list and ports schema

From: John Madieu

Date: Wed Jun 03 2026 - 16:29:00 EST


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(-)

diff --git a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
index d7fa16554698..80670019d2f4 100644
--- a/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
+++ b/Documentation/devicetree/bindings/sound/renesas,r9a09g047-sound.yaml
@@ -42,13 +42,8 @@ properties:
"#clock-cells":
const: 0

- "#address-cells":
- const: 1
-
- "#size-cells":
- const: 0
-
clocks:
+ minItems: 47
maxItems: 47

clock-names:
@@ -105,6 +100,7 @@ properties:
maxItems: 1

resets:
+ minItems: 14
maxItems: 14

reset-names:
@@ -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

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 ]
+
+ 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 ]

required:
- dmas
@@ -261,10 +273,9 @@ properties:
- interrupts

ports:
- $ref: audio-graph-port.yaml#/definitions/port-base
- unevaluatedProperties: false
+ $ref: /schemas/graph.yaml#/properties/ports
patternProperties:
- '^port@[0-9a-f]+$':
+ '^port(@[0-9a-f]+)?$':
$ref: audio-graph-port.yaml#/definitions/port-base
unevaluatedProperties: false
properties:
@@ -276,6 +287,8 @@ properties:
properties:
playback:
$ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ maxItems: 1
description:
Ordered list of phandles to the in-SoC modules used
by this DAI in the playback direction. Each phandle
@@ -285,6 +298,8 @@ properties:
from CPU to off-SoC endpoint.
capture:
$ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ maxItems: 1
description:
Ordered list of phandles to the in-SoC modules used
by this DAI in the capture direction. Each phandle
@@ -311,8 +326,6 @@ examples:
#include <dt-bindings/interrupt-controller/arm-gic.h>

sound@13c00000 {
- #sound-dai-cells = <1>;
- #clock-cells = <0>;
compatible = "renesas,r9a09g047-sound";
reg = <0x13c00000 0x10000>,
<0x13c20000 0x10000>,
@@ -320,6 +333,8 @@ examples:
<0x13c31000 0x1f000>,
<0x13c50000 0x10000>;
reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
+ #sound-dai-cells = <1>;
+ #clock-cells = <0>;
clocks = <&cpg 245>,
<&cpg 385>, <&cpg 386>,
<&cpg 387>, <&cpg 388>,
--
2.25.1