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
21167b3a2bSKrzysztof Kozlowski          - const: renesas,rcar_sound-gen1
222d8fc973SKuninori Morimoto      # for Gen2 SoC
232d8fc973SKuninori Morimoto      - items:
242d8fc973SKuninori Morimoto          - enum:
252d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7742   # RZ/G1H
262d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7743   # RZ/G1M
272d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7744   # RZ/G1N
282d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7745   # RZ/G1E
292d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77470  # RZ/G1C
302d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7790   # R-Car H2
312d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7791   # R-Car M2-W
322d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7793   # R-Car M2-N
332d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7794   # R-Car E2
34167b3a2bSKrzysztof Kozlowski          - const: renesas,rcar_sound-gen2
352d8fc973SKuninori Morimoto      # for Gen3 SoC
362d8fc973SKuninori Morimoto      - items:
372d8fc973SKuninori Morimoto          - enum:
382d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774a1  # RZ/G2M
392d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774b1  # RZ/G2N
402d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774c0  # RZ/G2E
412d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a774e1  # RZ/G2H
422d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7795   # R-Car H3
432d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a7796   # R-Car M3-W
448d96ec9bSKuninori Morimoto              - renesas,rcar_sound-r8a77961  # R-Car M3-W+
452d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77965  # R-Car M3-N
462d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77990  # R-Car E3
472d8fc973SKuninori Morimoto              - renesas,rcar_sound-r8a77995  # R-Car D3
48167b3a2bSKrzysztof Kozlowski          - const: renesas,rcar_sound-gen3
492d8fc973SKuninori Morimoto      # for Generic
502d8fc973SKuninori Morimoto      - enum:
512d8fc973SKuninori Morimoto          - renesas,rcar_sound-gen1
522d8fc973SKuninori Morimoto          - renesas,rcar_sound-gen2
532d8fc973SKuninori Morimoto          - renesas,rcar_sound-gen3
542d8fc973SKuninori Morimoto
552d8fc973SKuninori Morimoto  reg:
562d8fc973SKuninori Morimoto    minItems: 1
572d8fc973SKuninori Morimoto    maxItems: 5
582d8fc973SKuninori Morimoto
592d8fc973SKuninori Morimoto  reg-names:
602d8fc973SKuninori Morimoto    minItems: 1
612d8fc973SKuninori Morimoto    maxItems: 5
622d8fc973SKuninori Morimoto
632d8fc973SKuninori Morimoto  "#sound-dai-cells":
642d8fc973SKuninori Morimoto    description: |
652d8fc973SKuninori Morimoto      it must be 0 if your system is using single DAI
662d8fc973SKuninori Morimoto      it must be 1 if your system is using multi  DAIs
67*60cc61a6SKuninori Morimoto      This is used on simple-audio-card
682d8fc973SKuninori Morimoto    enum: [0, 1]
692d8fc973SKuninori Morimoto
702d8fc973SKuninori Morimoto  "#clock-cells":
712d8fc973SKuninori Morimoto    description: |
722d8fc973SKuninori Morimoto      it must be 0 if your system has audio_clkout
732d8fc973SKuninori Morimoto      it must be 1 if your system has audio_clkout0/1/2/3
742d8fc973SKuninori Morimoto    enum: [0, 1]
752d8fc973SKuninori Morimoto
762d8fc973SKuninori Morimoto  clock-frequency:
772d8fc973SKuninori Morimoto    description: for audio_clkout0/1/2/3
782d8fc973SKuninori Morimoto
792d8fc973SKuninori Morimoto  clkout-lr-asynchronous:
802d8fc973SKuninori Morimoto    description: audio_clkoutn is asynchronizes with lr-clock.
812d8fc973SKuninori Morimoto    $ref: /schemas/types.yaml#/definitions/flag
822d8fc973SKuninori Morimoto
832d8fc973SKuninori Morimoto  power-domains: true
842d8fc973SKuninori Morimoto
852d8fc973SKuninori Morimoto  resets:
8617c2d247SKuninori Morimoto    minItems: 1
872d8fc973SKuninori Morimoto    maxItems: 11
882d8fc973SKuninori Morimoto
892d8fc973SKuninori Morimoto  reset-names:
9017c2d247SKuninori Morimoto    minItems: 1
912d8fc973SKuninori Morimoto    maxItems: 11
922d8fc973SKuninori Morimoto
932d8fc973SKuninori Morimoto  clocks:
942d8fc973SKuninori Morimoto    description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks.
952d8fc973SKuninori Morimoto    minItems: 1
962d8fc973SKuninori Morimoto    maxItems: 31
972d8fc973SKuninori Morimoto
982d8fc973SKuninori Morimoto  clock-names:
992d8fc973SKuninori Morimoto    description: List of necessary clock names.
1002d8fc973SKuninori Morimoto    minItems: 1
1012d8fc973SKuninori Morimoto    maxItems: 31
1022d8fc973SKuninori Morimoto    items:
1032d8fc973SKuninori Morimoto      oneOf:
1042d8fc973SKuninori Morimoto        - const: ssi-all
1052d8fc973SKuninori Morimoto        - pattern: '^ssi\.[0-9]$'
1062d8fc973SKuninori Morimoto        - pattern: '^src\.[0-9]$'
1072d8fc973SKuninori Morimoto        - pattern: '^mix\.[0-1]$'
1082d8fc973SKuninori Morimoto        - pattern: '^ctu\.[0-1]$'
1092d8fc973SKuninori Morimoto        - pattern: '^dvc\.[0-1]$'
1102d8fc973SKuninori Morimoto        - pattern: '^clk_(a|b|c|i)$'
1112d8fc973SKuninori Morimoto
11217c2d247SKuninori Morimoto  ports:
113fcedf654SKuninori Morimoto    $ref: audio-graph-port.yaml#/definitions/port-base
114fcedf654SKuninori Morimoto    unevaluatedProperties: false
1159a3223b0SRob Herring    patternProperties:
1167621aabdSRob Herring      '^port(@[0-9a-f]+)?$':
117fcedf654SKuninori Morimoto        $ref: audio-graph-port.yaml#/definitions/port-base
118fcedf654SKuninori Morimoto        unevaluatedProperties: false
119fcedf654SKuninori Morimoto        patternProperties:
120fcedf654SKuninori Morimoto          "^endpoint(@[0-9a-f]+)?":
121fcedf654SKuninori Morimoto            $ref: audio-graph-port.yaml#/definitions/endpoint-base
122fcedf654SKuninori Morimoto            properties:
123fcedf654SKuninori Morimoto              playback:
124fcedf654SKuninori Morimoto                $ref: /schemas/types.yaml#/definitions/phandle-array
125fcedf654SKuninori Morimoto              capture:
126fcedf654SKuninori Morimoto                $ref: /schemas/types.yaml#/definitions/phandle-array
12717c2d247SKuninori Morimoto            unevaluatedProperties: false
12817c2d247SKuninori Morimoto
1299c1e0439SRob Herring  port:
130fcedf654SKuninori Morimoto    $ref: audio-graph-port.yaml#/definitions/port-base
131fcedf654SKuninori Morimoto    unevaluatedProperties: false
132fcedf654SKuninori Morimoto    patternProperties:
133fcedf654SKuninori Morimoto      "^endpoint(@[0-9a-f]+)?":
134fcedf654SKuninori Morimoto        $ref: audio-graph-port.yaml#/definitions/endpoint-base
135fcedf654SKuninori Morimoto        properties:
136fcedf654SKuninori Morimoto          playback:
137fcedf654SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
138fcedf654SKuninori Morimoto          capture:
139fcedf654SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
1409c1e0439SRob Herring        unevaluatedProperties: false
1412d8fc973SKuninori Morimoto
142910f42bfSRob Herring  rcar_sound,dvc:
1432d8fc973SKuninori Morimoto    description: DVC subnode.
1442d8fc973SKuninori Morimoto    type: object
1452d8fc973SKuninori Morimoto    patternProperties:
1462d8fc973SKuninori Morimoto      "^dvc-[0-1]$":
1472d8fc973SKuninori Morimoto        type: object
1489e10a1deSRob Herring        additionalProperties: false
1499e10a1deSRob Herring
1502d8fc973SKuninori Morimoto        properties:
1512d8fc973SKuninori Morimoto          dmas:
1522d8fc973SKuninori Morimoto            maxItems: 1
1532d8fc973SKuninori Morimoto          dma-names:
1542d8fc973SKuninori Morimoto            const: "tx"
1552d8fc973SKuninori Morimoto        required:
1562d8fc973SKuninori Morimoto          - dmas
1572d8fc973SKuninori Morimoto          - dma-names
1582d8fc973SKuninori Morimoto    additionalProperties: false
1592d8fc973SKuninori Morimoto
160910f42bfSRob Herring  rcar_sound,mix:
1612d8fc973SKuninori Morimoto    description: MIX subnode.
1622d8fc973SKuninori Morimoto    type: object
1632d8fc973SKuninori Morimoto    patternProperties:
1642d8fc973SKuninori Morimoto      "^mix-[0-1]$":
1652d8fc973SKuninori Morimoto        type: object
1669e10a1deSRob Herring        additionalProperties: false
1672d8fc973SKuninori Morimoto    additionalProperties: false
1682d8fc973SKuninori Morimoto
169910f42bfSRob Herring  rcar_sound,ctu:
1702d8fc973SKuninori Morimoto    description: CTU subnode.
1712d8fc973SKuninori Morimoto    type: object
1722d8fc973SKuninori Morimoto    patternProperties:
1732d8fc973SKuninori Morimoto      "^ctu-[0-7]$":
1742d8fc973SKuninori Morimoto        type: object
1759e10a1deSRob Herring        additionalProperties: false
1762d8fc973SKuninori Morimoto    additionalProperties: false
1772d8fc973SKuninori Morimoto
178910f42bfSRob Herring  rcar_sound,src:
1792d8fc973SKuninori Morimoto    description: SRC subnode.
1802d8fc973SKuninori Morimoto    type: object
1812d8fc973SKuninori Morimoto    patternProperties:
1822d8fc973SKuninori Morimoto      "^src-[0-9]$":
1832d8fc973SKuninori Morimoto        type: object
1849e10a1deSRob Herring        additionalProperties: false
1859e10a1deSRob Herring
1862d8fc973SKuninori Morimoto        properties:
1872d8fc973SKuninori Morimoto          interrupts:
1882d8fc973SKuninori Morimoto            maxItems: 1
1892d8fc973SKuninori Morimoto          dmas:
1902d8fc973SKuninori Morimoto            maxItems: 2
1912d8fc973SKuninori Morimoto          dma-names:
1922d8fc973SKuninori Morimoto            allOf:
1932d8fc973SKuninori Morimoto              - items:
1942d8fc973SKuninori Morimoto                  enum:
1952d8fc973SKuninori Morimoto                    - tx
1962d8fc973SKuninori Morimoto                    - rx
1972d8fc973SKuninori Morimoto    additionalProperties: false
1982d8fc973SKuninori Morimoto
199910f42bfSRob Herring  rcar_sound,ssiu:
2002d8fc973SKuninori Morimoto    description: SSIU subnode.
2012d8fc973SKuninori Morimoto    type: object
2022d8fc973SKuninori Morimoto    patternProperties:
2032d8fc973SKuninori Morimoto      "^ssiu-[0-9]+$":
2042d8fc973SKuninori Morimoto        type: object
2059e10a1deSRob Herring        additionalProperties: false
2069e10a1deSRob Herring
2072d8fc973SKuninori Morimoto        properties:
2082d8fc973SKuninori Morimoto          dmas:
2092d8fc973SKuninori Morimoto            maxItems: 2
2102d8fc973SKuninori Morimoto          dma-names:
2112d8fc973SKuninori Morimoto            allOf:
2122d8fc973SKuninori Morimoto              - items:
2132d8fc973SKuninori Morimoto                  enum:
2142d8fc973SKuninori Morimoto                    - tx
2152d8fc973SKuninori Morimoto                    - rx
2162d8fc973SKuninori Morimoto        required:
2172d8fc973SKuninori Morimoto          - dmas
2182d8fc973SKuninori Morimoto          - dma-names
2192d8fc973SKuninori Morimoto    additionalProperties: false
2202d8fc973SKuninori Morimoto
221910f42bfSRob Herring  rcar_sound,ssi:
2222d8fc973SKuninori Morimoto    description: SSI subnode.
2232d8fc973SKuninori Morimoto    type: object
2242d8fc973SKuninori Morimoto    patternProperties:
2252d8fc973SKuninori Morimoto      "^ssi-[0-9]$":
2262d8fc973SKuninori Morimoto        type: object
2279e10a1deSRob Herring        additionalProperties: false
2289e10a1deSRob Herring
2292d8fc973SKuninori Morimoto        properties:
2302d8fc973SKuninori Morimoto          interrupts:
2312d8fc973SKuninori Morimoto            maxItems: 1
2322d8fc973SKuninori Morimoto          dmas:
2332d8fc973SKuninori Morimoto            minItems: 2
2342d8fc973SKuninori Morimoto            maxItems: 4
2352d8fc973SKuninori Morimoto          dma-names:
2362d8fc973SKuninori Morimoto            allOf:
2372d8fc973SKuninori Morimoto              - items:
2382d8fc973SKuninori Morimoto                  enum:
2392d8fc973SKuninori Morimoto                    - tx
2402d8fc973SKuninori Morimoto                    - rx
2412d8fc973SKuninori Morimoto                    - txu # if no ssiu node
2422d8fc973SKuninori Morimoto                    - rxu # if no ssiu node
2432d8fc973SKuninori Morimoto
2442d8fc973SKuninori Morimoto          shared-pin:
2452d8fc973SKuninori Morimoto            description: shared clock pin
2462d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2472d8fc973SKuninori Morimoto          pio-transfer:
2482d8fc973SKuninori Morimoto            description: PIO transfer mode
2492d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2502d8fc973SKuninori Morimoto          no-busif:
2512d8fc973SKuninori Morimoto            description: BUSIF is not used when [mem -> SSI] via DMA case
2522d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/flag
2532d8fc973SKuninori Morimoto        required:
2542d8fc973SKuninori Morimoto          - interrupts
2552d8fc973SKuninori Morimoto          - dmas
2562d8fc973SKuninori Morimoto          - dma-names
2572d8fc973SKuninori Morimoto    additionalProperties: false
2582d8fc973SKuninori Morimoto
2592d8fc973SKuninori Morimoto  # For DAI base
260910f42bfSRob Herring  rcar_sound,dai:
2612d8fc973SKuninori Morimoto    description: DAI subnode.
2622d8fc973SKuninori Morimoto    type: object
2632d8fc973SKuninori Morimoto    patternProperties:
2642d8fc973SKuninori Morimoto      "^dai([0-9]+)?$":
2652d8fc973SKuninori Morimoto        type: object
2669e10a1deSRob Herring        additionalProperties: false
2679e10a1deSRob Herring
2682d8fc973SKuninori Morimoto        properties:
2692d8fc973SKuninori Morimoto          playback:
2702d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
2712d8fc973SKuninori Morimoto          capture:
2722d8fc973SKuninori Morimoto            $ref: /schemas/types.yaml#/definitions/phandle-array
2732d8fc973SKuninori Morimoto        anyOf:
2742d8fc973SKuninori Morimoto          - required:
2752d8fc973SKuninori Morimoto              - playback
2762d8fc973SKuninori Morimoto          - required:
2772d8fc973SKuninori Morimoto              - capture
2782d8fc973SKuninori Morimoto    additionalProperties: false
2792d8fc973SKuninori Morimoto
2802d8fc973SKuninori Morimotorequired:
2812d8fc973SKuninori Morimoto  - compatible
2822d8fc973SKuninori Morimoto  - reg
2832d8fc973SKuninori Morimoto  - reg-names
2842d8fc973SKuninori Morimoto  - clocks
2852d8fc973SKuninori Morimoto  - clock-names
2862d8fc973SKuninori Morimoto
2872d8fc973SKuninori MorimotoallOf:
28858ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
2892d8fc973SKuninori Morimoto  - if:
2902d8fc973SKuninori Morimoto      properties:
2912d8fc973SKuninori Morimoto        compatible:
2922d8fc973SKuninori Morimoto          contains:
2932d8fc973SKuninori Morimoto            const: renesas,rcar_sound-gen1
2942d8fc973SKuninori Morimoto    then:
2952d8fc973SKuninori Morimoto      properties:
2962d8fc973SKuninori Morimoto        reg:
2972d8fc973SKuninori Morimoto          maxItems: 3
2982d8fc973SKuninori Morimoto        reg-names:
2992d8fc973SKuninori Morimoto          maxItems: 3
3002d8fc973SKuninori Morimoto          items:
3012d8fc973SKuninori Morimoto            enum:
3022d8fc973SKuninori Morimoto              - scu
3032d8fc973SKuninori Morimoto              - ssi
3042d8fc973SKuninori Morimoto              - adg
3052d8fc973SKuninori Morimoto    else:
3062d8fc973SKuninori Morimoto      properties:
3072d8fc973SKuninori Morimoto        reg:
3082d8fc973SKuninori Morimoto          maxItems: 5
3092d8fc973SKuninori Morimoto        reg-names:
3102d8fc973SKuninori Morimoto          maxItems: 5
3112d8fc973SKuninori Morimoto          items:
3122d8fc973SKuninori Morimoto            enum:
3132d8fc973SKuninori Morimoto              - scu
3142d8fc973SKuninori Morimoto              - adg
3152d8fc973SKuninori Morimoto              - ssiu
3162d8fc973SKuninori Morimoto              - ssi
3172d8fc973SKuninori Morimoto              - audmapp
3182d8fc973SKuninori Morimoto
31958ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
3202d8fc973SKuninori Morimoto
3212d8fc973SKuninori Morimotoexamples:
3222d8fc973SKuninori Morimoto  - |
3232d8fc973SKuninori Morimoto    rcar_sound: sound@ec500000 {
3242d8fc973SKuninori Morimoto        #sound-dai-cells = <1>;
3252d8fc973SKuninori Morimoto        compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2";
3262d8fc973SKuninori Morimoto        reg = <0xec500000 0x1000>, /* SCU  */
3272d8fc973SKuninori Morimoto              <0xec5a0000 0x100>,  /* ADG  */
3282d8fc973SKuninori Morimoto              <0xec540000 0x1000>, /* SSIU */
3292d8fc973SKuninori Morimoto              <0xec541000 0x1280>, /* SSI  */
3302d8fc973SKuninori Morimoto              <0xec740000 0x200>;  /* Audio DMAC peri peri*/
3312d8fc973SKuninori Morimoto        reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
3322d8fc973SKuninori Morimoto
3332d8fc973SKuninori Morimoto        clocks = <&mstp10_clks 1005>,                      /* SSI-ALL    */
3342d8fc973SKuninori Morimoto                 <&mstp10_clks 1006>, <&mstp10_clks 1007>, /* SSI9, SSI8 */
3352d8fc973SKuninori Morimoto                 <&mstp10_clks 1008>, <&mstp10_clks 1009>, /* SSI7, SSI6 */
3362d8fc973SKuninori Morimoto                 <&mstp10_clks 1010>, <&mstp10_clks 1011>, /* SSI5, SSI4 */
3372d8fc973SKuninori Morimoto                 <&mstp10_clks 1012>, <&mstp10_clks 1013>, /* SSI3, SSI2 */
3382d8fc973SKuninori Morimoto                 <&mstp10_clks 1014>, <&mstp10_clks 1015>, /* SSI1, SSI0 */
3392d8fc973SKuninori Morimoto                 <&mstp10_clks 1022>, <&mstp10_clks 1023>, /* SRC9, SRC8 */
3402d8fc973SKuninori Morimoto                 <&mstp10_clks 1024>, <&mstp10_clks 1025>, /* SRC7, SRC6 */
3412d8fc973SKuninori Morimoto                 <&mstp10_clks 1026>, <&mstp10_clks 1027>, /* SRC5, SRC4 */
3422d8fc973SKuninori Morimoto                 <&mstp10_clks 1028>, <&mstp10_clks 1029>, /* SRC3, SRC2 */
3432d8fc973SKuninori Morimoto                 <&mstp10_clks 1030>, <&mstp10_clks 1031>, /* SRC1, SRC0 */
3442d8fc973SKuninori Morimoto                 <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* MIX1, MIX0 */
3452d8fc973SKuninori Morimoto                 <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* CTU1, CTU0 */
3462d8fc973SKuninori Morimoto                 <&mstp10_clks 1019>, <&mstp10_clks 1018>, /* DVC0, DVC1 */
3472d8fc973SKuninori Morimoto                 <&audio_clk_a>, <&audio_clk_b>,           /* CLKA, CLKB */
3482d8fc973SKuninori Morimoto                 <&audio_clk_c>, <&audio_clk_i>;           /* CLKC, CLKI */
3492d8fc973SKuninori Morimoto
3502d8fc973SKuninori Morimoto        clock-names = "ssi-all",
3512d8fc973SKuninori Morimoto                      "ssi.9", "ssi.8",
3522d8fc973SKuninori Morimoto                      "ssi.7", "ssi.6",
3532d8fc973SKuninori Morimoto                      "ssi.5", "ssi.4",
3542d8fc973SKuninori Morimoto                      "ssi.3", "ssi.2",
3552d8fc973SKuninori Morimoto                      "ssi.1", "ssi.0",
3562d8fc973SKuninori Morimoto                      "src.9", "src.8",
3572d8fc973SKuninori Morimoto                      "src.7", "src.6",
3582d8fc973SKuninori Morimoto                      "src.5", "src.4",
3592d8fc973SKuninori Morimoto                      "src.3", "src.2",
3602d8fc973SKuninori Morimoto                      "src.1", "src.0",
3612d8fc973SKuninori Morimoto                      "mix.1", "mix.0",
3622d8fc973SKuninori Morimoto                      "ctu.1", "ctu.0",
3632d8fc973SKuninori Morimoto                      "dvc.0", "dvc.1",
3642d8fc973SKuninori Morimoto                      "clk_a", "clk_b",
3652d8fc973SKuninori Morimoto                      "clk_c", "clk_i";
3662d8fc973SKuninori Morimoto
3672d8fc973SKuninori Morimoto        rcar_sound,dvc {
3682d8fc973SKuninori Morimoto               dvc0: dvc-0 {
3692d8fc973SKuninori Morimoto                    dmas = <&audma0 0xbc>;
3702d8fc973SKuninori Morimoto                    dma-names = "tx";
3712d8fc973SKuninori Morimoto               };
3722d8fc973SKuninori Morimoto               dvc1: dvc-1 {
3732d8fc973SKuninori Morimoto                    dmas = <&audma0 0xbe>;
3742d8fc973SKuninori Morimoto                    dma-names = "tx";
3752d8fc973SKuninori Morimoto               };
3762d8fc973SKuninori Morimoto        };
3772d8fc973SKuninori Morimoto
3782d8fc973SKuninori Morimoto        rcar_sound,mix {
3792d8fc973SKuninori Morimoto            mix0: mix-0 { };
3802d8fc973SKuninori Morimoto            mix1: mix-1 { };
3812d8fc973SKuninori Morimoto        };
3822d8fc973SKuninori Morimoto
3832d8fc973SKuninori Morimoto        rcar_sound,ctu {
3842d8fc973SKuninori Morimoto            ctu00: ctu-0 { };
3852d8fc973SKuninori Morimoto            ctu01: ctu-1 { };
3862d8fc973SKuninori Morimoto            ctu02: ctu-2 { };
3872d8fc973SKuninori Morimoto            ctu03: ctu-3 { };
3882d8fc973SKuninori Morimoto            ctu10: ctu-4 { };
3892d8fc973SKuninori Morimoto            ctu11: ctu-5 { };
3902d8fc973SKuninori Morimoto            ctu12: ctu-6 { };
3912d8fc973SKuninori Morimoto            ctu13: ctu-7 { };
3922d8fc973SKuninori Morimoto        };
3932d8fc973SKuninori Morimoto
3942d8fc973SKuninori Morimoto        rcar_sound,src {
3952d8fc973SKuninori Morimoto            src0: src-0 {
3962d8fc973SKuninori Morimoto                status = "disabled";
3972d8fc973SKuninori Morimoto            };
3982d8fc973SKuninori Morimoto            src1: src-1 {
3992d8fc973SKuninori Morimoto                interrupts = <0 353 0>;
4002d8fc973SKuninori Morimoto                dmas = <&audma0 0x87>, <&audma1 0x9c>;
4012d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4022d8fc973SKuninori Morimoto            };
4032d8fc973SKuninori Morimoto            /* skip after src-2 */
4042d8fc973SKuninori Morimoto        };
4052d8fc973SKuninori Morimoto
4062d8fc973SKuninori Morimoto        rcar_sound,ssiu {
4072d8fc973SKuninori Morimoto            ssiu00: ssiu-0 {
4082d8fc973SKuninori Morimoto                dmas = <&audma0 0x15>, <&audma1 0x16>;
4092d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4102d8fc973SKuninori Morimoto            };
4112d8fc973SKuninori Morimoto            ssiu01: ssiu-1 {
4122d8fc973SKuninori Morimoto                dmas = <&audma0 0x35>, <&audma1 0x36>;
4132d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4142d8fc973SKuninori Morimoto            };
4152d8fc973SKuninori Morimoto            /* skip after ssiu-2 */
4162d8fc973SKuninori Morimoto        };
4172d8fc973SKuninori Morimoto
4182d8fc973SKuninori Morimoto        rcar_sound,ssi {
4192d8fc973SKuninori Morimoto            ssi0: ssi-0 {
4202d8fc973SKuninori Morimoto                interrupts = <0 370 1>;
4212d8fc973SKuninori Morimoto                dmas = <&audma0 0x01>, <&audma1 0x02>;
4222d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4232d8fc973SKuninori Morimoto            };
4242d8fc973SKuninori Morimoto            ssi1: ssi-1 {
4252d8fc973SKuninori Morimoto                interrupts = <0 371 1>;
4262d8fc973SKuninori Morimoto                dmas = <&audma0 0x03>, <&audma1 0x04>;
4272d8fc973SKuninori Morimoto                dma-names = "rx", "tx";
4282d8fc973SKuninori Morimoto            };
4292d8fc973SKuninori Morimoto            /* skip other ssi-2 */
4302d8fc973SKuninori Morimoto        };
4312d8fc973SKuninori Morimoto
4322d8fc973SKuninori Morimoto        /* DAI base */
4332d8fc973SKuninori Morimoto        rcar_sound,dai {
4342d8fc973SKuninori Morimoto            dai0 {
435f08c74a3SGeert Uytterhoeven                playback = <&ssi5>, <&src5>;
4362d8fc973SKuninori Morimoto                capture  = <&ssi6>;
4372d8fc973SKuninori Morimoto            };
4382d8fc973SKuninori Morimoto            dai1 {
4392d8fc973SKuninori Morimoto                playback = <&ssi3>;
4402d8fc973SKuninori Morimoto            };
4412d8fc973SKuninori Morimoto            dai2 {
4422d8fc973SKuninori Morimoto                capture  = <&ssi4>;
4432d8fc973SKuninori Morimoto            };
4442d8fc973SKuninori Morimoto            dai3 {
4452d8fc973SKuninori Morimoto                playback = <&ssi7>;
4462d8fc973SKuninori Morimoto            };
4472d8fc973SKuninori Morimoto            dai4 {
4482d8fc973SKuninori Morimoto                capture  = <&ssi8>;
4492d8fc973SKuninori Morimoto            };
4502d8fc973SKuninori Morimoto        };
4512d8fc973SKuninori Morimoto
4522d8fc973SKuninori Morimoto        /* assume audio-graph */
4532d8fc973SKuninori Morimoto        port {
4542d8fc973SKuninori Morimoto            rsnd_endpoint: endpoint {
4552d8fc973SKuninori Morimoto                remote-endpoint = <&codec_endpoint>;
4562d8fc973SKuninori Morimoto
4572d8fc973SKuninori Morimoto                dai-format = "left_j";
4582d8fc973SKuninori Morimoto                bitclock-master = <&rsnd_endpoint0>;
4592d8fc973SKuninori Morimoto                frame-master = <&rsnd_endpoint0>;
4602d8fc973SKuninori Morimoto
461f08c74a3SGeert Uytterhoeven                playback = <&ssi0>, <&src0>, <&dvc0>;
462f08c74a3SGeert Uytterhoeven                capture  = <&ssi1>, <&src1>, <&dvc1>;
4632d8fc973SKuninori Morimoto            };
4642d8fc973SKuninori Morimoto        };
4652d8fc973SKuninori Morimoto    };
4662d8fc973SKuninori Morimoto
4672d8fc973SKuninori Morimoto
4682d8fc973SKuninori Morimoto    /* assume audio-graph */
4692d8fc973SKuninori Morimoto    codec {
4702d8fc973SKuninori Morimoto        port {
4712d8fc973SKuninori Morimoto            codec_endpoint: endpoint {
4722d8fc973SKuninori Morimoto                remote-endpoint = <&rsnd_endpoint>;
4732d8fc973SKuninori Morimoto            };
4742d8fc973SKuninori Morimoto        };
4752d8fc973SKuninori Morimoto    };
476