diff mbox series

[v2,1/9] dt-bindings: renesas,sh-msiof: Add MSIOF I2S Sound support

Message ID 87frifh5ls.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
State Superseded
Headers show
Series ASoC: add Renesas MSIOF sound driver | expand

Commit Message

Kuninori Morimoto April 11, 2025, 1:03 a.m. UTC
Renesas MSIOF (Clock-Synchronized Serial Interface with FIFO) can work as
both SPI and I2S. MSIOF-I2S will use Audio Graph Card/Card2 driver which
uses Of-Graph in DT.

MSIOF-SPI/I2S are using same DT compatible properties.
MSIOF-I2S         uses Of-Graph for Audio-Graph-Card/Card2,
MSIOF-SPI doesn't use  Of-Graph.

Adds schema for MSIOF-I2S (= Sound).
Because MSIOF is no longer SPI specific device, remove spi specific schema

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 .../bindings/spi/renesas,sh-msiof.yaml        | 23 +++++++++++++------
 1 file changed, 16 insertions(+), 7 deletions(-)

Comments

Kuninori Morimoto April 14, 2025, 12:44 a.m. UTC | #1
Hi Rob

> > Renesas MSIOF (Clock-Synchronized Serial Interface with FIFO) can work as
> > both SPI and I2S. MSIOF-I2S will use Audio Graph Card/Card2 driver which
> > uses Of-Graph in DT.
> > 
> > MSIOF-SPI/I2S are using same DT compatible properties.
> > MSIOF-I2S         uses Of-Graph for Audio-Graph-Card/Card2,
> > MSIOF-SPI doesn't use  Of-Graph.
> > 
> > Adds schema for MSIOF-I2S (= Sound).
> > Because MSIOF is no longer SPI specific device, remove spi specific schema
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > ---
(snip)
> if:
>   properties:
>     $nodename:
>       pattern: '^spi@'
> then:
>   $ref: spi-controller.yaml#
> 
> Or just always use 'spi' node name even if used for i2s.
(snip)
> > +  "#address-cells":
> > +    enum: [0, 1]
> > +
> > +  "#size-cells":
> > +    const: 0
> > +
> 
> Then drop these.
(snip)
> > +  # for MSIOF-I2S
> > +  port:
> > +    $ref: ../sound/audio-graph-port.yaml#/definitions/port-base
> > +    unevaluatedProperties: false
> > +    patternProperties:
> > +      "^endpoint(@[0-9a-f]+)?":
> > +        $ref: audio-graph-port.yaml#/definitions/endpoint-base
> 
> The correct way is:
> 
> port:
>   $ref: audio-graph-port.yaml#
>   unevaluatedProperties: false

Thanks. will fix in v3

Best regards
---
Kuninori Morimoto
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/spi/renesas,sh-msiof.yaml b/Documentation/devicetree/bindings/spi/renesas,sh-msiof.yaml
index 49649fc3f95a..9f73120e97c1 100644
--- a/Documentation/devicetree/bindings/spi/renesas,sh-msiof.yaml
+++ b/Documentation/devicetree/bindings/spi/renesas,sh-msiof.yaml
@@ -4,14 +4,11 @@ 
 $id: http://devicetree.org/schemas/spi/renesas,sh-msiof.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: Renesas MSIOF SPI controller
+title: Renesas MSIOF SPI / I2S controller
 
 maintainers:
   - Geert Uytterhoeven <geert+renesas@glider.be>
 
-allOf:
-  - $ref: spi-controller.yaml#
-
 properties:
   compatible:
     oneOf:
@@ -70,6 +67,12 @@  properties:
           - description: CPU registers
           - description: DMA engine registers
 
+  "#address-cells":
+    enum: [0, 1]
+
+  "#size-cells":
+    const: 0
+
   interrupts:
     maxItems: 1
 
@@ -146,14 +149,20 @@  properties:
     $ref: /schemas/types.yaml#/definitions/uint32
     default: 64
 
+  # for MSIOF-I2S
+  port:
+    $ref: ../sound/audio-graph-port.yaml#/definitions/port-base
+    unevaluatedProperties: false
+    patternProperties:
+      "^endpoint(@[0-9a-f]+)?":
+        $ref: audio-graph-port.yaml#/definitions/endpoint-base
+
 required:
   - compatible
   - reg
   - interrupts
   - clocks
   - power-domains
-  - '#address-cells'
-  - '#size-cells'
 
 if:
   not:
@@ -173,7 +182,7 @@  examples:
     #include <dt-bindings/interrupt-controller/arm-gic.h>
     #include <dt-bindings/power/r8a7791-sysc.h>
 
-    msiof0: spi@e6e20000 {
+    msiof0: serial-engine@e6e20000 {
         compatible = "renesas,msiof-r8a7791", "renesas,rcar-gen2-msiof";
         reg = <0xe6e20000 0x0064>;
         interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;