12d8fc973SKuninori Morimoto# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22d8fc973SKuninori Morimoto%YAML 1.2
32d8fc973SKuninori Morimoto---
42d8fc973SKuninori Morimoto$id: http://devicetree.org/schemas/sound/renesas,rsnd.yaml#
52d8fc973SKuninori Morimoto$schema: http://devicetree.org/meta-schemas/core.yaml#
62d8fc973SKuninori Morimoto
7dd3cb467SAndrew Lunntitle: Renesas R-Car Sound Driver
82d8fc973SKuninori Morimoto
92d8fc973SKuninori Morimotomaintainers:
102d8fc973SKuninori Morimoto  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
112d8fc973SKuninori Morimoto
122d8fc973SKuninori Morimotoproperties:
132d8fc973SKuninori Morimoto
142d8fc973SKuninori Morimoto  compatible:
152d8fc973SKuninori Morimoto    oneOf:
162d8fc973SKuninori Morimoto      # for Gen1 SoC
172d8fc973SKuninori Morimoto      - items:
182d8fc973SKuninori Morimoto          - enum:
192d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7778   # R-Car M1A
202d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7779   # R-Car H1
212d8fc973SKuninori Morimoto          - enum:
222d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen1
232d8fc973SKuninori Morimoto      # for Gen2 SoC
242d8fc973SKuninori Morimoto      - items:
252d8fc973SKuninori Morimoto          - enum:
262d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7742   # RZ/G1H
272d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7743   # RZ/G1M
282d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7744   # RZ/G1N
292d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7745   # RZ/G1E
302d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77470  # RZ/G1C
312d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7790   # R-Car H2
322d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7791   # R-Car M2-W
332d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7793   # R-Car M2-N
342d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7794   # R-Car E2
352d8fc973SKuninori Morimoto          - enum:
362d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen2
372d8fc973SKuninori Morimoto      # for Gen3 SoC
382d8fc973SKuninori Morimoto      - items:
392d8fc973SKuninori Morimoto          - enum:
402d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774a1  # RZ/G2M
412d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774b1  # RZ/G2N
422d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774c0  # RZ/G2E
432d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774e1  # RZ/G2H
442d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7795   # R-Car H3
452d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7796   # R-Car M3-W
468d96ec9bSKuninori Morimoto              - renesas,rcar_sound-r8a77961  # R-Car M3-W+
472d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77965  # R-Car M3-N
482d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77990  # R-Car E3
492d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77995  # R-Car D3
502d8fc973SKuninori Morimoto          - enum:
512d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen3
522d8fc973SKuninori Morimoto      # for Generic
532d8fc973SKuninori Morimoto      - items:
542d8fc973SKuninori Morimoto          - enum:
552d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen1
562d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen2
572d8fc973SKuninori Morimoto              - renesas,rcar_sound-gen3
582d8fc973SKuninori Morimoto
592d8fc973SKuninori Morimoto  reg:
602d8fc973SKuninori Morimoto    minItems: 1
612d8fc973SKuninori Morimoto    maxItems: 5
622d8fc973SKuninori Morimoto
632d8fc973SKuninori Morimoto  reg-names:
642d8fc973SKuninori Morimoto    minItems: 1
652d8fc973SKuninori Morimoto    maxItems: 5
662d8fc973SKuninori Morimoto
672d8fc973SKuninori Morimoto  "#sound-dai-cells":
682d8fc973SKuninori Morimoto    description: |
692d8fc973SKuninori Morimoto      it must be 0 if your system is using single DAI
702d8fc973SKuninori Morimoto      it must be 1 if your system is using multi  DAIs
712d8fc973SKuninori Morimoto    enum: [0, 1]
722d8fc973SKuninori Morimoto
732d8fc973SKuninori Morimoto  "#clock-cells":
742d8fc973SKuninori Morimoto    description: |
752d8fc973SKuninori Morimoto      it must be 0 if your system has audio_clkout
762d8fc973SKuninori Morimoto      it must be 1 if your system has audio_clkout0/1/2/3
772d8fc973SKuninori Morimoto    enum: [0, 1]
782d8fc973SKuninori Morimoto
792d8fc973SKuninori Morimoto  clock-frequency:
802d8fc973SKuninori Morimoto    description: for audio_clkout0/1/2/3
812d8fc973SKuninori Morimoto
822d8fc973SKuninori Morimoto  clkout-lr-asynchronous:
832d8fc973SKuninori Morimoto    description: audio_clkoutn is asynchronizes with lr-clock.
842d8fc973SKuninori Morimoto    $ref: /schemas/types.yaml#/definitions/flag
852d8fc973SKuninori Morimoto
862d8fc973SKuninori Morimoto  power-domains: true
872d8fc973SKuninori Morimoto
882d8fc973SKuninori Morimoto  resets:
8917c2d247SKuninori Morimoto    minItems: 1
902d8fc973SKuninori Morimoto    maxItems: 11
912d8fc973SKuninori Morimoto
922d8fc973SKuninori Morimoto  reset-names:
9317c2d247SKuninori Morimoto    minItems: 1
942d8fc973SKuninori Morimoto    maxItems: 11
952d8fc973SKuninori Morimoto
962d8fc973SKuninori Morimoto  clocks:
972d8fc973SKuninori Morimoto    description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks.
982d8fc973SKuninori Morimoto    minItems: 1
992d8fc973SKuninori Morimoto    maxItems: 31
1002d8fc973SKuninori Morimoto
1012d8fc973SKuninori Morimoto  clock-names:
1022d8fc973SKuninori Morimoto    description: List of necessary clock names.
1032d8fc973SKuninori Morimoto    minItems: 1
1042d8fc973SKuninori Morimoto    maxItems: 31
1052d8fc973SKuninori Morimoto    items:
1062d8fc973SKuninori Morimoto      oneOf:
1072d8fc973SKuninori Morimoto        - const: ssi-all
1082d8fc973SKuninori Morimoto        - pattern: '^ssi\.[0-9]$'
1092d8fc973SKuninori Morimoto        - pattern: '^src\.[0-9]$'
1102d8fc973SKuninori Morimoto        - pattern: '^mix\.[0-1]$'
1112d8fc973SKuninori Morimoto        - pattern: '^ctu\.[0-1]$'
1122d8fc973SKuninori Morimoto        - pattern: '^dvc\.[0-1]$'
1132d8fc973SKuninori Morimoto        - pattern: '^clk_(a|b|c|i)$'
1142d8fc973SKuninori Morimoto
11517c2d247SKuninori Morimoto  ports:
11617c2d247SKuninori Morimoto    $ref: /schemas/graph.yaml#/properties/ports
1179a3223b0SRob Herring    patternProperties:
118*7621aabdSRob Herring      '^port(@[0-9a-f]+)?$':
11917c2d247SKuninori Morimoto        $ref: audio-graph-port.yaml#
12017c2d247SKuninori Morimoto        unevaluatedProperties: false
12117c2d247SKuninori Morimoto
1229c1e0439SRob Herring  port:
1239c1e0439SRob Herring    $ref: audio-graph-port.yaml#
1249c1e0439SRob Herring    unevaluatedProperties: false
1252d8fc973SKuninori Morimoto
126910f42bfSRob Herring  rcar_sound,dvc:
1272d8fc973SKuninori Morimoto    description: DVC subnode.
1282d8fc973SKuninori Morimoto    type: object
1292d8fc973SKuninori Morimoto    patternProperties:
1302d8fc973SKuninori Morimoto      "^dvc-[0-1]$":
1312d8fc973SKuninori Morimoto        type: object
1329e10a1deSRob Herring        additionalProperties: false
1339e10a1deSRob Herring
1342d8fc973SKuninori Morimoto        properties:
1352d8fc973SKuninori Morimoto          dmas:
1362d8fc973SKuninori Morimoto            maxItems: 1
1372d8fc973SKuninori Morimoto          dma-names:
1382d8fc973SKuninori Morimoto            const: "tx"
1392d8fc973SKuninori Morimoto        required:
1402d8fc973SKuninori Morimoto          - dmas
1412d8fc973SKuninori Morimoto          - dma-names
1422d8fc973SKuninori Morimoto    additionalProperties: false
1432d8fc973SKuninori Morimoto
144910f42bfSRob Herring  rcar_sound,mix:
1452d8fc973SKuninori Morimoto    description: MIX subnode.
1462d8fc973SKuninori Morimoto    type: object
1472d8fc973SKuninori Morimoto    patternProperties:
1482d8fc973SKuninori Morimoto      "^mix-[0-1]$":
1492d8fc973SKuninori Morimoto        type: object
1509e10a1deSRob Herring        additionalProperties: false
1512d8fc973SKuninori Morimoto    additionalProperties: false
1522d8fc973SKuninori Morimoto
153910f42bfSRob Herring  rcar_sound,ctu:
1542d8fc973SKuninori Morimoto    description: CTU subnode.
1552d8fc973SKuninori Morimoto    type: object
1562d8fc973SKuninori Morimoto    patternProperties:
1572d8fc973SKuninori Morimoto      "^ctu-[0-7]$":
1582d8fc973SKuninori Morimoto        type: object
1599e10a1deSRob Herring        additionalProperties: false
1602d8fc973SKuninori Morimoto    additionalProperties: false
1612d8fc973SKuninori Morimoto
162910f42bfSRob Herring  rcar_sound,src:
1632d8fc973SKuninori Morimoto    description: SRC subnode.
1642d8fc973SKuninori Morimoto    type: object
1652d8fc973SKuninori Morimoto    patternProperties:
1662d8fc973SKuninori Morimoto      "^src-[0-9]$":
1672d8fc973SKuninori Morimoto        type: object
1689e10a1deSRob Herring        additionalProperties: false
1699e10a1deSRob Herring
1702d8fc973SKuninori Morimoto        properties:
1712d8fc973SKuninori Morimoto          interrupts:
1722d8fc973SKuninori Morimoto            maxItems: 1
1732d8fc973SKuninori Morimoto          dmas:
1742d8fc973SKuninori Morimoto            maxItems: 2
1752d8fc973SKuninori Morimoto          dma-names:
1762d8fc973SKuninori Morimoto            allOf:
1772d8fc973SKuninori Morimoto              - items:
1782d8fc973SKuninori Morimoto                  enum:
1792d8fc973SKuninori Morimoto                    - tx
1802d8fc973SKuninori Morimoto                    - rx
1812d8fc973SKuninori Morimoto        required:
1822d8fc973SKuninori Morimoto          - interrupts
1832d8fc973SKuninori Morimoto          - dmas
1842d8fc973SKuninori Morimoto          - dma-names
1852d8fc973SKuninori Morimoto    additionalProperties: false
1862d8fc973SKuninori Morimoto
187910f42bfSRob Herring  rcar_sound,ssiu:
1882d8fc973SKuninori Morimoto    description: SSIU subnode.
1892d8fc973SKuninori Morimoto    type: object
1902d8fc973SKuninori Morimoto    patternProperties:
1912d8fc973SKuninori Morimoto      "^ssiu-[0-9]+$":
1922d8fc973SKuninori Morimoto        type: object
1939e10a1deSRob Herring        additionalProperties: false
1949e10a1deSRob Herring
1952d8fc973SKuninori Morimoto        properties:
1962d8fc973SKuninori Morimoto          dmas:
1972d8fc973SKuninori Morimoto            maxItems: 2
1982d8fc973SKuninori Morimoto          dma-names:
1992d8fc973SKuninori Morimoto            allOf:
2002d8fc973SKuninori Morimoto              - items:
2012d8fc973SKuninori Morimoto                  enum:
2022d8fc973SKuninori Morimoto                    - tx
2032d8fc973SKuninori Morimoto                    - rx
2042d8fc973SKuninori Morimoto        required:
2052d8fc973SKuninori Morimoto          - dmas
2062d8fc973SKuninori Morimoto          - dma-names
2072d8fc973SKuninori Morimoto    additionalProperties: false
2082d8fc973SKuninori Morimoto
209910f42bfSRob Herring  rcar_sound,ssi:
2102d8fc973SKuninori Morimoto    description: SSI subnode.
2112d8fc973SKuninori Morimoto    type: object
2122d8fc973SKuninori Morimoto    patternProperties:
2132d8fc973SKuninori Morimoto      "^ssi-[0-9]$":
2142d8fc973SKuninori Morimoto        type: object
2159e10a1deSRob Herring        additionalProperties: false
2169e10a1deSRob Herring
2172d8fc973SKuninori Morimoto        properties:
2182d8fc973SKuninori Morimoto          interrupts:
2192d8fc973SKuninori Morimoto            maxItems: 1
2202d8fc973SKuninori Morimoto          dmas:
2212d8fc973SKuninori Morimoto            minItems: 2
2222d8fc973SKuninori Morimoto            maxItems: 4
2232d8fc973SKuninori Morimoto          dma-names:
2242d8fc973SKuninori Morimoto            allOf:
2252d8fc973SKuninori Morimoto              - items:
2262d8fc973SKuninori Morimoto                  enum:
2272d8fc973SKuninori Morimoto                    - tx
2282d8fc973SKuninori Morimoto                    - rx
2292d8fc973SKuninori Morimoto                    - txu # if no ssiu node
2302d8fc973SKuninori Morimoto                    - rxu # if no ssiu node
2312d8fc973SKuninori Morimoto
2322d8fc973SKuninori Morimoto          shared-pin:
2332d8fc973SKuninori Morimoto            description: shared clock pin
2342d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2352d8fc973SKuninori Morimoto          pio-transfer:
2362d8fc973SKuninori Morimoto            description: PIO transfer mode
2372d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2382d8fc973SKuninori Morimoto          no-busif:
2392d8fc973SKuninori Morimoto            description: BUSIF is not used when [mem -> SSI] via DMA case
2402d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2412d8fc973SKuninori Morimoto        required:
2422d8fc973SKuninori Morimoto          - interrupts
2432d8fc973SKuninori Morimoto          - dmas
2442d8fc973SKuninori Morimoto          - dma-names
2452d8fc973SKuninori Morimoto    additionalProperties: false
2462d8fc973SKuninori Morimoto
2472d8fc973SKuninori Morimoto  # For DAI base
248910f42bfSRob Herring  rcar_sound,dai:
2492d8fc973SKuninori Morimoto    description: DAI subnode.
2502d8fc973SKuninori Morimoto    type: object
2512d8fc973SKuninori Morimoto    patternProperties:
2522d8fc973SKuninori Morimoto      "^dai([0-9]+)?$":
2532d8fc973SKuninori Morimoto        type: object
2549e10a1deSRob Herring        additionalProperties: false
2559e10a1deSRob Herring
2562d8fc973SKuninori Morimoto        properties:
2572d8fc973SKuninori Morimoto          playback:
2582d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
2592d8fc973SKuninori Morimoto          capture:
2602d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
2612d8fc973SKuninori Morimoto        anyOf:
2622d8fc973SKuninori Morimoto          - required:
2632d8fc973SKuninori Morimoto              - playback
2642d8fc973SKuninori Morimoto          - required:
2652d8fc973SKuninori Morimoto              - capture
2662d8fc973SKuninori Morimoto    additionalProperties: false
2672d8fc973SKuninori Morimoto
2682d8fc973SKuninori Morimotorequired:
2692d8fc973SKuninori Morimoto  - compatible
2702d8fc973SKuninori Morimoto  - reg
2712d8fc973SKuninori Morimoto  - reg-names
2722d8fc973SKuninori Morimoto  - clocks
2732d8fc973SKuninori Morimoto  - clock-names
2742d8fc973SKuninori Morimoto  - "#sound-dai-cells"
2752d8fc973SKuninori Morimoto
2762d8fc973SKuninori MorimotoallOf:
2772d8fc973SKuninori Morimoto  - if:
2782d8fc973SKuninori Morimoto      properties:
2792d8fc973SKuninori Morimoto        compatible:
2802d8fc973SKuninori Morimoto          contains:
2812d8fc973SKuninori Morimoto            const: renesas,rcar_sound-gen1
2822d8fc973SKuninori Morimoto    then:
2832d8fc973SKuninori Morimoto      properties:
2842d8fc973SKuninori Morimoto        reg:
2852d8fc973SKuninori Morimoto          maxItems: 3
2862d8fc973SKuninori Morimoto        reg-names:
2872d8fc973SKuninori Morimoto          maxItems: 3
2882d8fc973SKuninori Morimoto          items:
2892d8fc973SKuninori Morimoto            enum:
2902d8fc973SKuninori Morimoto              - scu
2912d8fc973SKuninori Morimoto              - ssi
2922d8fc973SKuninori Morimoto              - adg
2932d8fc973SKuninori Morimoto    else:
2942d8fc973SKuninori Morimoto      properties:
2952d8fc973SKuninori Morimoto        reg:
2962d8fc973SKuninori Morimoto          maxItems: 5
2972d8fc973SKuninori Morimoto        reg-names:
2982d8fc973SKuninori Morimoto          maxItems: 5
2992d8fc973SKuninori Morimoto          items:
3002d8fc973SKuninori Morimoto            enum:
3012d8fc973SKuninori Morimoto              - scu
3022d8fc973SKuninori Morimoto              - adg
3032d8fc973SKuninori Morimoto              - ssiu
3042d8fc973SKuninori Morimoto              - ssi
3052d8fc973SKuninori Morimoto              - audmapp
3062d8fc973SKuninori Morimoto
3072d8fc973SKuninori MorimotoadditionalProperties: false
3082d8fc973SKuninori Morimoto
3092d8fc973SKuninori Morimotoexamples:
3102d8fc973SKuninori Morimoto  - |
3112d8fc973SKuninori Morimoto    rcar_sound: sound@ec500000 {
3122d8fc973SKuninori Morimoto        #sound-dai-cells = <1>;
3132d8fc973SKuninori Morimoto        compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2";
3142d8fc973SKuninori Morimoto        reg = <0xec500000 0x1000>, /* SCU  */
3152d8fc973SKuninori Morimoto              <0xec5a0000 0x100>,  /* ADG  */
3162d8fc973SKuninori Morimoto              <0xec540000 0x1000>, /* SSIU */
3172d8fc973SKuninori Morimoto              <0xec541000 0x1280>, /* SSI  */
3182d8fc973SKuninori Morimoto              <0xec740000 0x200>;  /* Audio DMAC peri peri*/
3192d8fc973SKuninori Morimoto        reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
3202d8fc973SKuninori Morimoto
3212d8fc973SKuninori Morimoto        clocks = <&mstp10_clks 1005>,                      /* SSI-ALL    */
3222d8fc973SKuninori Morimoto                 <&mstp10_clks 1006>, <&mstp10_clks 1007>, /* SSI9, SSI8 */
3232d8fc973SKuninori Morimoto                 <&mstp10_clks 1008>, <&mstp10_clks 1009>, /* SSI7, SSI6 */
3242d8fc973SKuninori Morimoto                 <&mstp10_clks 1010>, <&mstp10_clks 1011>, /* SSI5, SSI4 */
3252d8fc973SKuninori Morimoto                 <&mstp10_clks 1012>, <&mstp10_clks 1013>, /* SSI3, SSI2 */
3262d8fc973SKuninori Morimoto                 <&mstp10_clks 1014>, <&mstp10_clks 1015>, /* SSI1, SSI0 */
3272d8fc973SKuninori Morimoto                 <&mstp10_clks 1022>, <&mstp10_clks 1023>, /* SRC9, SRC8 */
3282d8fc973SKuninori Morimoto                 <&mstp10_clks 1024>, <&mstp10_clks 1025>, /* SRC7, SRC6 */
3292d8fc973SKuninori Morimoto                 <&mstp10_clks 1026>, <&mstp10_clks 1027>, /* SRC5, SRC4 */
3302d8fc973SKuninori Morimoto                 <&mstp10_clks 1028>, <&mstp10_clks 1029>, /* SRC3, SRC2 */
3312d8fc973SKuninori Morimoto                 <&mstp10_clks 1030>, <&mstp10_clks 1031>, /* SRC1, SRC0 */
3322d8fc973SKuninori Morimoto                 <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* MIX1, MIX0 */
3332d8fc973SKuninori Morimoto                 <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* CTU1, CTU0 */
3342d8fc973SKuninori Morimoto                 <&mstp10_clks 1019>, <&mstp10_clks 1018>, /* DVC0, DVC1 */
3352d8fc973SKuninori Morimoto                 <&audio_clk_a>, <&audio_clk_b>,           /* CLKA, CLKB */
3362d8fc973SKuninori Morimoto                 <&audio_clk_c>, <&audio_clk_i>;           /* CLKC, CLKI */
3372d8fc973SKuninori Morimoto
3382d8fc973SKuninori Morimoto        clock-names = "ssi-all",
3392d8fc973SKuninori Morimoto                      "ssi.9", "ssi.8",
3402d8fc973SKuninori Morimoto                      "ssi.7", "ssi.6",
3412d8fc973SKuninori Morimoto                      "ssi.5", "ssi.4",
3422d8fc973SKuninori Morimoto                      "ssi.3", "ssi.2",
3432d8fc973SKuninori Morimoto                      "ssi.1", "ssi.0",
3442d8fc973SKuninori Morimoto                      "src.9", "src.8",
3452d8fc973SKuninori Morimoto                      "src.7", "src.6",
3462d8fc973SKuninori Morimoto                      "src.5", "src.4",
3472d8fc973SKuninori Morimoto                      "src.3", "src.2",
3482d8fc973SKuninori Morimoto                      "src.1", "src.0",
3492d8fc973SKuninori Morimoto                      "mix.1", "mix.0",
3502d8fc973SKuninori Morimoto                      "ctu.1", "ctu.0",
3512d8fc973SKuninori Morimoto                      "dvc.0", "dvc.1",
3522d8fc973SKuninori Morimoto                      "clk_a", "clk_b",
3532d8fc973SKuninori Morimoto                      "clk_c", "clk_i";
3542d8fc973SKuninori Morimoto
3552d8fc973SKuninori Morimoto        rcar_sound,dvc {
3562d8fc973SKuninori Morimoto               dvc0: dvc-0 {
3572d8fc973SKuninori Morimoto                    dmas = <&audma0 0xbc>;
3582d8fc973SKuninori Morimoto                    dma-names = "tx";
3592d8fc973SKuninori Morimoto               };
3602d8fc973SKuninori Morimoto               dvc1: dvc-1 {
3612d8fc973SKuninori Morimoto                    dmas = <&audma0 0xbe>;
3622d8fc973SKuninori Morimoto                    dma-names = "tx";
3632d8fc973SKuninori Morimoto               };
3642d8fc973SKuninori Morimoto        };
3652d8fc973SKuninori Morimoto
3662d8fc973SKuninori Morimoto        rcar_sound,mix {
3672d8fc973SKuninori Morimoto            mix0: mix-0 { };
3682d8fc973SKuninori Morimoto            mix1: mix-1 { };
3692d8fc973SKuninori Morimoto        };
3702d8fc973SKuninori Morimoto
3712d8fc973SKuninori Morimoto        rcar_sound,ctu {
3722d8fc973SKuninori Morimoto            ctu00: ctu-0 { };
3732d8fc973SKuninori Morimoto            ctu01: ctu-1 { };
3742d8fc973SKuninori Morimoto            ctu02: ctu-2 { };
3752d8fc973SKuninori Morimoto            ctu03: ctu-3 { };
3762d8fc973SKuninori Morimoto            ctu10: ctu-4 { };
3772d8fc973SKuninori Morimoto            ctu11: ctu-5 { };
3782d8fc973SKuninori Morimoto            ctu12: ctu-6 { };
3792d8fc973SKuninori Morimoto            ctu13: ctu-7 { };
3802d8fc973SKuninori Morimoto        };
3812d8fc973SKuninori Morimoto
3822d8fc973SKuninori Morimoto        rcar_sound,src {
3832d8fc973SKuninori Morimoto            src0: src-0 {
3842d8fc973SKuninori Morimoto                status = "disabled";
3852d8fc973SKuninori Morimoto            };
3862d8fc973SKuninori Morimoto            src1: src-1 {
3872d8fc973SKuninori Morimoto                interrupts = <0 353 0>;
3882d8fc973SKuninori Morimoto                dmas = <&audma0 0x87>, <&audma1 0x9c>;
3892d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
3902d8fc973SKuninori Morimoto            };
3912d8fc973SKuninori Morimoto            /* skip after src-2 */
3922d8fc973SKuninori Morimoto        };
3932d8fc973SKuninori Morimoto
3942d8fc973SKuninori Morimoto        rcar_sound,ssiu {
3952d8fc973SKuninori Morimoto            ssiu00: ssiu-0 {
3962d8fc973SKuninori Morimoto                dmas = <&audma0 0x15>, <&audma1 0x16>;
3972d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
3982d8fc973SKuninori Morimoto            };
3992d8fc973SKuninori Morimoto            ssiu01: ssiu-1 {
4002d8fc973SKuninori Morimoto                dmas = <&audma0 0x35>, <&audma1 0x36>;
4012d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4022d8fc973SKuninori Morimoto            };
4032d8fc973SKuninori Morimoto            /* skip after ssiu-2 */
4042d8fc973SKuninori Morimoto        };
4052d8fc973SKuninori Morimoto
4062d8fc973SKuninori Morimoto        rcar_sound,ssi {
4072d8fc973SKuninori Morimoto            ssi0: ssi-0 {
4082d8fc973SKuninori Morimoto                interrupts = <0 370 1>;
4092d8fc973SKuninori Morimoto                dmas = <&audma0 0x01>, <&audma1 0x02>;
4102d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4112d8fc973SKuninori Morimoto            };
4122d8fc973SKuninori Morimoto            ssi1: ssi-1 {
4132d8fc973SKuninori Morimoto                interrupts = <0 371 1>;
4142d8fc973SKuninori Morimoto                dmas = <&audma0 0x03>, <&audma1 0x04>;
4152d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4162d8fc973SKuninori Morimoto            };
4172d8fc973SKuninori Morimoto            /* skip other ssi-2 */
4182d8fc973SKuninori Morimoto        };
4192d8fc973SKuninori Morimoto
4202d8fc973SKuninori Morimoto        /* DAI base */
4212d8fc973SKuninori Morimoto        rcar_sound,dai {
4222d8fc973SKuninori Morimoto            dai0 {
423f08c74a3SGeert Uytterhoeven                playback = <&ssi5>, <&src5>;
4242d8fc973SKuninori Morimoto                capture  = <&ssi6>;
4252d8fc973SKuninori Morimoto            };
4262d8fc973SKuninori Morimoto            dai1 {
4272d8fc973SKuninori Morimoto                playback = <&ssi3>;
4282d8fc973SKuninori Morimoto            };
4292d8fc973SKuninori Morimoto            dai2 {
4302d8fc973SKuninori Morimoto                capture  = <&ssi4>;
4312d8fc973SKuninori Morimoto            };
4322d8fc973SKuninori Morimoto            dai3 {
4332d8fc973SKuninori Morimoto                playback = <&ssi7>;
4342d8fc973SKuninori Morimoto            };
4352d8fc973SKuninori Morimoto            dai4 {
4362d8fc973SKuninori Morimoto                capture  = <&ssi8>;
4372d8fc973SKuninori Morimoto            };
4382d8fc973SKuninori Morimoto        };
4392d8fc973SKuninori Morimoto
4402d8fc973SKuninori Morimoto        /* assume audio-graph */
4412d8fc973SKuninori Morimoto        port {
4422d8fc973SKuninori Morimoto            rsnd_endpoint: endpoint {
4432d8fc973SKuninori Morimoto                remote-endpoint = <&codec_endpoint>;
4442d8fc973SKuninori Morimoto
4452d8fc973SKuninori Morimoto                dai-format = "left_j";
4462d8fc973SKuninori Morimoto                bitclock-master = <&rsnd_endpoint0>;
4472d8fc973SKuninori Morimoto                frame-master = <&rsnd_endpoint0>;
4482d8fc973SKuninori Morimoto
449f08c74a3SGeert Uytterhoeven                playback = <&ssi0>, <&src0>, <&dvc0>;
450f08c74a3SGeert Uytterhoeven                capture  = <&ssi1>, <&src1>, <&dvc1>;
4512d8fc973SKuninori Morimoto            };
4522d8fc973SKuninori Morimoto        };
4532d8fc973SKuninori Morimoto    };
4542d8fc973SKuninori Morimoto
4552d8fc973SKuninori Morimoto
4562d8fc973SKuninori Morimoto    /* assume audio-graph */
4572d8fc973SKuninori Morimoto    codec {
4582d8fc973SKuninori Morimoto        port {
4592d8fc973SKuninori Morimoto            codec_endpoint: endpoint {
4602d8fc973SKuninori Morimoto                remote-endpoint = <&rsnd_endpoint>;
4612d8fc973SKuninori Morimoto            };
4622d8fc973SKuninori Morimoto        };
4632d8fc973SKuninori Morimoto    };
464