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