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 49f76fec60SKuninori Morimoto # for Gen4 SoC 50f76fec60SKuninori Morimoto - items: 51f76fec60SKuninori Morimoto - const: renesas,rcar_sound-r8a779g0 # R-Car V4H 52f76fec60SKuninori Morimoto - const: renesas,rcar_sound-gen4 532d8fc973SKuninori Morimoto # for Generic 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 7160cc61a6SKuninori Morimoto This is used on simple-audio-card 722d8fc973SKuninori Morimoto enum: [0, 1] 732d8fc973SKuninori Morimoto 742d8fc973SKuninori Morimoto "#clock-cells": 752d8fc973SKuninori Morimoto description: | 762d8fc973SKuninori Morimoto it must be 0 if your system has audio_clkout 772d8fc973SKuninori Morimoto it must be 1 if your system has audio_clkout0/1/2/3 782d8fc973SKuninori Morimoto enum: [0, 1] 792d8fc973SKuninori Morimoto 802d8fc973SKuninori Morimoto clock-frequency: 812d8fc973SKuninori Morimoto description: for audio_clkout0/1/2/3 822d8fc973SKuninori Morimoto 832d8fc973SKuninori Morimoto clkout-lr-asynchronous: 842d8fc973SKuninori Morimoto description: audio_clkoutn is asynchronizes with lr-clock. 852d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 862d8fc973SKuninori Morimoto 872d8fc973SKuninori Morimoto power-domains: true 882d8fc973SKuninori Morimoto 892d8fc973SKuninori Morimoto resets: 9017c2d247SKuninori Morimoto minItems: 1 912d8fc973SKuninori Morimoto maxItems: 11 922d8fc973SKuninori Morimoto 932d8fc973SKuninori Morimoto reset-names: 9417c2d247SKuninori Morimoto minItems: 1 952d8fc973SKuninori Morimoto maxItems: 11 962d8fc973SKuninori Morimoto 972d8fc973SKuninori Morimoto clocks: 982d8fc973SKuninori Morimoto description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks. 992d8fc973SKuninori Morimoto minItems: 1 1002d8fc973SKuninori Morimoto maxItems: 31 1012d8fc973SKuninori Morimoto 1022d8fc973SKuninori Morimoto clock-names: 1032d8fc973SKuninori Morimoto description: List of necessary clock names. 104*7f8b5b24SKuninori Morimoto # details are defined below 1052d8fc973SKuninori Morimoto 10617c2d247SKuninori Morimoto ports: 107fcedf654SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/port-base 108fcedf654SKuninori Morimoto unevaluatedProperties: false 1099a3223b0SRob Herring patternProperties: 1107621aabdSRob Herring '^port(@[0-9a-f]+)?$': 111fcedf654SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/port-base 112fcedf654SKuninori Morimoto unevaluatedProperties: false 113fcedf654SKuninori Morimoto patternProperties: 114fcedf654SKuninori Morimoto "^endpoint(@[0-9a-f]+)?": 115fcedf654SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/endpoint-base 116fcedf654SKuninori Morimoto properties: 117fcedf654SKuninori Morimoto playback: 118fcedf654SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 119fcedf654SKuninori Morimoto capture: 120fcedf654SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 12117c2d247SKuninori Morimoto unevaluatedProperties: false 12217c2d247SKuninori Morimoto 1239c1e0439SRob Herring port: 124fcedf654SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/port-base 125fcedf654SKuninori Morimoto unevaluatedProperties: false 126fcedf654SKuninori Morimoto patternProperties: 127fcedf654SKuninori Morimoto "^endpoint(@[0-9a-f]+)?": 128fcedf654SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/endpoint-base 129fcedf654SKuninori Morimoto properties: 130fcedf654SKuninori Morimoto playback: 131fcedf654SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 132fcedf654SKuninori Morimoto capture: 133fcedf654SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 1349c1e0439SRob Herring unevaluatedProperties: false 1352d8fc973SKuninori Morimoto 136910f42bfSRob Herring rcar_sound,dvc: 1372d8fc973SKuninori Morimoto description: DVC subnode. 1382d8fc973SKuninori Morimoto type: object 1392d8fc973SKuninori Morimoto patternProperties: 1402d8fc973SKuninori Morimoto "^dvc-[0-1]$": 1412d8fc973SKuninori Morimoto type: object 1429e10a1deSRob Herring additionalProperties: false 1439e10a1deSRob Herring 1442d8fc973SKuninori Morimoto properties: 1452d8fc973SKuninori Morimoto dmas: 1462d8fc973SKuninori Morimoto maxItems: 1 1472d8fc973SKuninori Morimoto dma-names: 1482d8fc973SKuninori Morimoto const: "tx" 1492d8fc973SKuninori Morimoto required: 1502d8fc973SKuninori Morimoto - dmas 1512d8fc973SKuninori Morimoto - dma-names 1522d8fc973SKuninori Morimoto additionalProperties: false 1532d8fc973SKuninori Morimoto 154910f42bfSRob Herring rcar_sound,mix: 1552d8fc973SKuninori Morimoto description: MIX subnode. 1562d8fc973SKuninori Morimoto type: object 1572d8fc973SKuninori Morimoto patternProperties: 1582d8fc973SKuninori Morimoto "^mix-[0-1]$": 1592d8fc973SKuninori Morimoto type: object 1609e10a1deSRob Herring additionalProperties: false 1612d8fc973SKuninori Morimoto additionalProperties: false 1622d8fc973SKuninori Morimoto 163910f42bfSRob Herring rcar_sound,ctu: 1642d8fc973SKuninori Morimoto description: CTU subnode. 1652d8fc973SKuninori Morimoto type: object 1662d8fc973SKuninori Morimoto patternProperties: 1672d8fc973SKuninori Morimoto "^ctu-[0-7]$": 1682d8fc973SKuninori Morimoto type: object 1699e10a1deSRob Herring additionalProperties: false 1702d8fc973SKuninori Morimoto additionalProperties: false 1712d8fc973SKuninori Morimoto 172910f42bfSRob Herring rcar_sound,src: 1732d8fc973SKuninori Morimoto description: SRC subnode. 1742d8fc973SKuninori Morimoto type: object 1752d8fc973SKuninori Morimoto patternProperties: 1762d8fc973SKuninori Morimoto "^src-[0-9]$": 1772d8fc973SKuninori Morimoto type: object 1789e10a1deSRob Herring additionalProperties: false 1799e10a1deSRob Herring 1802d8fc973SKuninori Morimoto properties: 1812d8fc973SKuninori Morimoto interrupts: 1822d8fc973SKuninori Morimoto maxItems: 1 1832d8fc973SKuninori Morimoto dmas: 1842d8fc973SKuninori Morimoto maxItems: 2 1852d8fc973SKuninori Morimoto dma-names: 1862d8fc973SKuninori Morimoto allOf: 1872d8fc973SKuninori Morimoto - items: 1882d8fc973SKuninori Morimoto enum: 1892d8fc973SKuninori Morimoto - tx 1902d8fc973SKuninori Morimoto - rx 1912d8fc973SKuninori Morimoto additionalProperties: false 1922d8fc973SKuninori Morimoto 193910f42bfSRob Herring rcar_sound,ssiu: 1942d8fc973SKuninori Morimoto description: SSIU subnode. 1952d8fc973SKuninori Morimoto type: object 1962d8fc973SKuninori Morimoto patternProperties: 1972d8fc973SKuninori Morimoto "^ssiu-[0-9]+$": 1982d8fc973SKuninori Morimoto type: object 1999e10a1deSRob Herring additionalProperties: false 2009e10a1deSRob Herring 2012d8fc973SKuninori Morimoto properties: 2022d8fc973SKuninori Morimoto dmas: 2032d8fc973SKuninori Morimoto maxItems: 2 2042d8fc973SKuninori Morimoto dma-names: 2052d8fc973SKuninori Morimoto allOf: 2062d8fc973SKuninori Morimoto - items: 2072d8fc973SKuninori Morimoto enum: 2082d8fc973SKuninori Morimoto - tx 2092d8fc973SKuninori Morimoto - rx 2102d8fc973SKuninori Morimoto required: 2112d8fc973SKuninori Morimoto - dmas 2122d8fc973SKuninori Morimoto - dma-names 2132d8fc973SKuninori Morimoto additionalProperties: false 2142d8fc973SKuninori Morimoto 215910f42bfSRob Herring rcar_sound,ssi: 2162d8fc973SKuninori Morimoto description: SSI subnode. 2172d8fc973SKuninori Morimoto type: object 2182d8fc973SKuninori Morimoto patternProperties: 2192d8fc973SKuninori Morimoto "^ssi-[0-9]$": 2202d8fc973SKuninori Morimoto type: object 2219e10a1deSRob Herring additionalProperties: false 2229e10a1deSRob Herring 2232d8fc973SKuninori Morimoto properties: 2242d8fc973SKuninori Morimoto interrupts: 2252d8fc973SKuninori Morimoto maxItems: 1 2262d8fc973SKuninori Morimoto dmas: 2272d8fc973SKuninori Morimoto minItems: 2 2282d8fc973SKuninori Morimoto maxItems: 4 2292d8fc973SKuninori Morimoto dma-names: 2302d8fc973SKuninori Morimoto allOf: 2312d8fc973SKuninori Morimoto - items: 2322d8fc973SKuninori Morimoto enum: 2332d8fc973SKuninori Morimoto - tx 2342d8fc973SKuninori Morimoto - rx 2352d8fc973SKuninori Morimoto - txu # if no ssiu node 2362d8fc973SKuninori Morimoto - rxu # if no ssiu node 2372d8fc973SKuninori Morimoto 2382d8fc973SKuninori Morimoto shared-pin: 2392d8fc973SKuninori Morimoto description: shared clock pin 2402d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2412d8fc973SKuninori Morimoto pio-transfer: 2422d8fc973SKuninori Morimoto description: PIO transfer mode 2432d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2442d8fc973SKuninori Morimoto no-busif: 2452d8fc973SKuninori Morimoto description: BUSIF is not used when [mem -> SSI] via DMA case 2462d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2472d8fc973SKuninori Morimoto required: 2482d8fc973SKuninori Morimoto - interrupts 2492d8fc973SKuninori Morimoto additionalProperties: false 2502d8fc973SKuninori Morimoto 2512d8fc973SKuninori Morimoto # For DAI base 252910f42bfSRob Herring rcar_sound,dai: 2532d8fc973SKuninori Morimoto description: DAI subnode. 2542d8fc973SKuninori Morimoto type: object 2552d8fc973SKuninori Morimoto patternProperties: 2562d8fc973SKuninori Morimoto "^dai([0-9]+)?$": 2572d8fc973SKuninori Morimoto type: object 2589e10a1deSRob Herring additionalProperties: false 2599e10a1deSRob Herring 2602d8fc973SKuninori Morimoto properties: 2612d8fc973SKuninori Morimoto playback: 2622d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 2632d8fc973SKuninori Morimoto capture: 2642d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 2652d8fc973SKuninori Morimoto anyOf: 2662d8fc973SKuninori Morimoto - required: 2672d8fc973SKuninori Morimoto - playback 2682d8fc973SKuninori Morimoto - required: 2692d8fc973SKuninori Morimoto - capture 2702d8fc973SKuninori Morimoto additionalProperties: false 2712d8fc973SKuninori Morimoto 2722d8fc973SKuninori Morimotorequired: 2732d8fc973SKuninori Morimoto - compatible 2742d8fc973SKuninori Morimoto - reg 2752d8fc973SKuninori Morimoto - reg-names 2762d8fc973SKuninori Morimoto - clocks 2772d8fc973SKuninori Morimoto - clock-names 2782d8fc973SKuninori Morimoto 2792d8fc973SKuninori MorimotoallOf: 28058ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 281*7f8b5b24SKuninori Morimoto 282*7f8b5b24SKuninori Morimoto #-------------------- 283*7f8b5b24SKuninori Morimoto # reg/reg-names 284*7f8b5b24SKuninori Morimoto #-------------------- 285*7f8b5b24SKuninori Morimoto # for Gen1 2862d8fc973SKuninori Morimoto - if: 2872d8fc973SKuninori Morimoto properties: 2882d8fc973SKuninori Morimoto compatible: 2892d8fc973SKuninori Morimoto contains: 2902d8fc973SKuninori Morimoto const: renesas,rcar_sound-gen1 2912d8fc973SKuninori Morimoto then: 2922d8fc973SKuninori Morimoto properties: 2932d8fc973SKuninori Morimoto reg: 2942d8fc973SKuninori Morimoto maxItems: 3 2952d8fc973SKuninori Morimoto reg-names: 2962d8fc973SKuninori Morimoto items: 2972d8fc973SKuninori Morimoto enum: 2982d8fc973SKuninori Morimoto - scu 2992d8fc973SKuninori Morimoto - ssi 3002d8fc973SKuninori Morimoto - adg 301*7f8b5b24SKuninori Morimoto # for Gen2/Gen3 302*7f8b5b24SKuninori Morimoto - if: 303*7f8b5b24SKuninori Morimoto properties: 304*7f8b5b24SKuninori Morimoto compatible: 305*7f8b5b24SKuninori Morimoto contains: 306*7f8b5b24SKuninori Morimoto enum: 307*7f8b5b24SKuninori Morimoto - renesas,rcar_sound-gen2 308*7f8b5b24SKuninori Morimoto - renesas,rcar_sound-gen3 309*7f8b5b24SKuninori Morimoto then: 3102d8fc973SKuninori Morimoto properties: 3112d8fc973SKuninori Morimoto reg: 31255194032SKuninori Morimoto minItems: 5 3132d8fc973SKuninori Morimoto reg-names: 3142d8fc973SKuninori Morimoto items: 3152d8fc973SKuninori Morimoto enum: 3162d8fc973SKuninori Morimoto - scu 3172d8fc973SKuninori Morimoto - adg 3182d8fc973SKuninori Morimoto - ssiu 3192d8fc973SKuninori Morimoto - ssi 3202d8fc973SKuninori Morimoto - audmapp 321*7f8b5b24SKuninori Morimoto # for Gen4 322*7f8b5b24SKuninori Morimoto - if: 323*7f8b5b24SKuninori Morimoto properties: 324*7f8b5b24SKuninori Morimoto compatible: 325*7f8b5b24SKuninori Morimoto contains: 326*7f8b5b24SKuninori Morimoto const: renesas,rcar_sound-gen4 327*7f8b5b24SKuninori Morimoto then: 328*7f8b5b24SKuninori Morimoto properties: 329*7f8b5b24SKuninori Morimoto reg: 330*7f8b5b24SKuninori Morimoto maxItems: 4 331*7f8b5b24SKuninori Morimoto reg-names: 332*7f8b5b24SKuninori Morimoto items: 333*7f8b5b24SKuninori Morimoto enum: 334*7f8b5b24SKuninori Morimoto - adg 335*7f8b5b24SKuninori Morimoto - ssiu 336*7f8b5b24SKuninori Morimoto - ssi 337*7f8b5b24SKuninori Morimoto - sdmc 338*7f8b5b24SKuninori Morimoto 339*7f8b5b24SKuninori Morimoto #-------------------- 340*7f8b5b24SKuninori Morimoto # clock-names 341*7f8b5b24SKuninori Morimoto #-------------------- 342*7f8b5b24SKuninori Morimoto - if: 343*7f8b5b24SKuninori Morimoto properties: 344*7f8b5b24SKuninori Morimoto compatible: 345*7f8b5b24SKuninori Morimoto contains: 346*7f8b5b24SKuninori Morimoto const: renesas,rcar_sound-gen4 347*7f8b5b24SKuninori Morimoto then: 348*7f8b5b24SKuninori Morimoto properties: 349*7f8b5b24SKuninori Morimoto clock-names: 350*7f8b5b24SKuninori Morimoto maxItems: 3 351*7f8b5b24SKuninori Morimoto items: 352*7f8b5b24SKuninori Morimoto enum: 353*7f8b5b24SKuninori Morimoto - ssi.0 354*7f8b5b24SKuninori Morimoto - ssiu.0 355*7f8b5b24SKuninori Morimoto - clkin 356*7f8b5b24SKuninori Morimoto else: 357*7f8b5b24SKuninori Morimoto properties: 358*7f8b5b24SKuninori Morimoto clock-names: 359*7f8b5b24SKuninori Morimoto minItems: 1 360*7f8b5b24SKuninori Morimoto maxItems: 31 361*7f8b5b24SKuninori Morimoto items: 362*7f8b5b24SKuninori Morimoto oneOf: 363*7f8b5b24SKuninori Morimoto - const: ssi-all 364*7f8b5b24SKuninori Morimoto - pattern: '^ssi\.[0-9]$' 365*7f8b5b24SKuninori Morimoto - pattern: '^src\.[0-9]$' 366*7f8b5b24SKuninori Morimoto - pattern: '^mix\.[0-1]$' 367*7f8b5b24SKuninori Morimoto - pattern: '^ctu\.[0-1]$' 368*7f8b5b24SKuninori Morimoto - pattern: '^dvc\.[0-1]$' 369*7f8b5b24SKuninori Morimoto - pattern: '^clk_(a|b|c|i)$' 3702d8fc973SKuninori Morimoto 37158ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false 3722d8fc973SKuninori Morimoto 3732d8fc973SKuninori Morimotoexamples: 3742d8fc973SKuninori Morimoto - | 3752d8fc973SKuninori Morimoto rcar_sound: sound@ec500000 { 3762d8fc973SKuninori Morimoto #sound-dai-cells = <1>; 3772d8fc973SKuninori Morimoto compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2"; 3782d8fc973SKuninori Morimoto reg = <0xec500000 0x1000>, /* SCU */ 3792d8fc973SKuninori Morimoto <0xec5a0000 0x100>, /* ADG */ 3802d8fc973SKuninori Morimoto <0xec540000 0x1000>, /* SSIU */ 3812d8fc973SKuninori Morimoto <0xec541000 0x1280>, /* SSI */ 3822d8fc973SKuninori Morimoto <0xec740000 0x200>; /* Audio DMAC peri peri*/ 3832d8fc973SKuninori Morimoto reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 3842d8fc973SKuninori Morimoto 3852d8fc973SKuninori Morimoto clocks = <&mstp10_clks 1005>, /* SSI-ALL */ 3862d8fc973SKuninori Morimoto <&mstp10_clks 1006>, <&mstp10_clks 1007>, /* SSI9, SSI8 */ 3872d8fc973SKuninori Morimoto <&mstp10_clks 1008>, <&mstp10_clks 1009>, /* SSI7, SSI6 */ 3882d8fc973SKuninori Morimoto <&mstp10_clks 1010>, <&mstp10_clks 1011>, /* SSI5, SSI4 */ 3892d8fc973SKuninori Morimoto <&mstp10_clks 1012>, <&mstp10_clks 1013>, /* SSI3, SSI2 */ 3902d8fc973SKuninori Morimoto <&mstp10_clks 1014>, <&mstp10_clks 1015>, /* SSI1, SSI0 */ 3912d8fc973SKuninori Morimoto <&mstp10_clks 1022>, <&mstp10_clks 1023>, /* SRC9, SRC8 */ 3922d8fc973SKuninori Morimoto <&mstp10_clks 1024>, <&mstp10_clks 1025>, /* SRC7, SRC6 */ 3932d8fc973SKuninori Morimoto <&mstp10_clks 1026>, <&mstp10_clks 1027>, /* SRC5, SRC4 */ 3942d8fc973SKuninori Morimoto <&mstp10_clks 1028>, <&mstp10_clks 1029>, /* SRC3, SRC2 */ 3952d8fc973SKuninori Morimoto <&mstp10_clks 1030>, <&mstp10_clks 1031>, /* SRC1, SRC0 */ 3962d8fc973SKuninori Morimoto <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* MIX1, MIX0 */ 3972d8fc973SKuninori Morimoto <&mstp10_clks 1020>, <&mstp10_clks 1021>, /* CTU1, CTU0 */ 3982d8fc973SKuninori Morimoto <&mstp10_clks 1019>, <&mstp10_clks 1018>, /* DVC0, DVC1 */ 3992d8fc973SKuninori Morimoto <&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */ 4002d8fc973SKuninori Morimoto <&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */ 4012d8fc973SKuninori Morimoto 4022d8fc973SKuninori Morimoto clock-names = "ssi-all", 4032d8fc973SKuninori Morimoto "ssi.9", "ssi.8", 4042d8fc973SKuninori Morimoto "ssi.7", "ssi.6", 4052d8fc973SKuninori Morimoto "ssi.5", "ssi.4", 4062d8fc973SKuninori Morimoto "ssi.3", "ssi.2", 4072d8fc973SKuninori Morimoto "ssi.1", "ssi.0", 4082d8fc973SKuninori Morimoto "src.9", "src.8", 4092d8fc973SKuninori Morimoto "src.7", "src.6", 4102d8fc973SKuninori Morimoto "src.5", "src.4", 4112d8fc973SKuninori Morimoto "src.3", "src.2", 4122d8fc973SKuninori Morimoto "src.1", "src.0", 4132d8fc973SKuninori Morimoto "mix.1", "mix.0", 4142d8fc973SKuninori Morimoto "ctu.1", "ctu.0", 4152d8fc973SKuninori Morimoto "dvc.0", "dvc.1", 4162d8fc973SKuninori Morimoto "clk_a", "clk_b", 4172d8fc973SKuninori Morimoto "clk_c", "clk_i"; 4182d8fc973SKuninori Morimoto 4192d8fc973SKuninori Morimoto rcar_sound,dvc { 4202d8fc973SKuninori Morimoto dvc0: dvc-0 { 4212d8fc973SKuninori Morimoto dmas = <&audma0 0xbc>; 4222d8fc973SKuninori Morimoto dma-names = "tx"; 4232d8fc973SKuninori Morimoto }; 4242d8fc973SKuninori Morimoto dvc1: dvc-1 { 4252d8fc973SKuninori Morimoto dmas = <&audma0 0xbe>; 4262d8fc973SKuninori Morimoto dma-names = "tx"; 4272d8fc973SKuninori Morimoto }; 4282d8fc973SKuninori Morimoto }; 4292d8fc973SKuninori Morimoto 4302d8fc973SKuninori Morimoto rcar_sound,mix { 4312d8fc973SKuninori Morimoto mix0: mix-0 { }; 4322d8fc973SKuninori Morimoto mix1: mix-1 { }; 4332d8fc973SKuninori Morimoto }; 4342d8fc973SKuninori Morimoto 4352d8fc973SKuninori Morimoto rcar_sound,ctu { 4362d8fc973SKuninori Morimoto ctu00: ctu-0 { }; 4372d8fc973SKuninori Morimoto ctu01: ctu-1 { }; 4382d8fc973SKuninori Morimoto ctu02: ctu-2 { }; 4392d8fc973SKuninori Morimoto ctu03: ctu-3 { }; 4402d8fc973SKuninori Morimoto ctu10: ctu-4 { }; 4412d8fc973SKuninori Morimoto ctu11: ctu-5 { }; 4422d8fc973SKuninori Morimoto ctu12: ctu-6 { }; 4432d8fc973SKuninori Morimoto ctu13: ctu-7 { }; 4442d8fc973SKuninori Morimoto }; 4452d8fc973SKuninori Morimoto 4462d8fc973SKuninori Morimoto rcar_sound,src { 4472d8fc973SKuninori Morimoto src0: src-0 { 4482d8fc973SKuninori Morimoto status = "disabled"; 4492d8fc973SKuninori Morimoto }; 4502d8fc973SKuninori Morimoto src1: src-1 { 4512d8fc973SKuninori Morimoto interrupts = <0 353 0>; 4522d8fc973SKuninori Morimoto dmas = <&audma0 0x87>, <&audma1 0x9c>; 4532d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4542d8fc973SKuninori Morimoto }; 4552d8fc973SKuninori Morimoto /* skip after src-2 */ 4562d8fc973SKuninori Morimoto }; 4572d8fc973SKuninori Morimoto 4582d8fc973SKuninori Morimoto rcar_sound,ssiu { 4592d8fc973SKuninori Morimoto ssiu00: ssiu-0 { 4602d8fc973SKuninori Morimoto dmas = <&audma0 0x15>, <&audma1 0x16>; 4612d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4622d8fc973SKuninori Morimoto }; 4632d8fc973SKuninori Morimoto ssiu01: ssiu-1 { 4642d8fc973SKuninori Morimoto dmas = <&audma0 0x35>, <&audma1 0x36>; 4652d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4662d8fc973SKuninori Morimoto }; 4672d8fc973SKuninori Morimoto /* skip after ssiu-2 */ 4682d8fc973SKuninori Morimoto }; 4692d8fc973SKuninori Morimoto 4702d8fc973SKuninori Morimoto rcar_sound,ssi { 4712d8fc973SKuninori Morimoto ssi0: ssi-0 { 4722d8fc973SKuninori Morimoto interrupts = <0 370 1>; 4732d8fc973SKuninori Morimoto dmas = <&audma0 0x01>, <&audma1 0x02>; 4742d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4752d8fc973SKuninori Morimoto }; 4762d8fc973SKuninori Morimoto ssi1: ssi-1 { 4772d8fc973SKuninori Morimoto interrupts = <0 371 1>; 4782d8fc973SKuninori Morimoto dmas = <&audma0 0x03>, <&audma1 0x04>; 4792d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4802d8fc973SKuninori Morimoto }; 4812d8fc973SKuninori Morimoto /* skip other ssi-2 */ 4822d8fc973SKuninori Morimoto }; 4832d8fc973SKuninori Morimoto 4842d8fc973SKuninori Morimoto /* DAI base */ 4852d8fc973SKuninori Morimoto rcar_sound,dai { 4862d8fc973SKuninori Morimoto dai0 { 487f08c74a3SGeert Uytterhoeven playback = <&ssi5>, <&src5>; 4882d8fc973SKuninori Morimoto capture = <&ssi6>; 4892d8fc973SKuninori Morimoto }; 4902d8fc973SKuninori Morimoto dai1 { 4912d8fc973SKuninori Morimoto playback = <&ssi3>; 4922d8fc973SKuninori Morimoto }; 4932d8fc973SKuninori Morimoto dai2 { 4942d8fc973SKuninori Morimoto capture = <&ssi4>; 4952d8fc973SKuninori Morimoto }; 4962d8fc973SKuninori Morimoto dai3 { 4972d8fc973SKuninori Morimoto playback = <&ssi7>; 4982d8fc973SKuninori Morimoto }; 4992d8fc973SKuninori Morimoto dai4 { 5002d8fc973SKuninori Morimoto capture = <&ssi8>; 5012d8fc973SKuninori Morimoto }; 5022d8fc973SKuninori Morimoto }; 5032d8fc973SKuninori Morimoto 5042d8fc973SKuninori Morimoto /* assume audio-graph */ 5052d8fc973SKuninori Morimoto port { 5062d8fc973SKuninori Morimoto rsnd_endpoint: endpoint { 5072d8fc973SKuninori Morimoto remote-endpoint = <&codec_endpoint>; 5082d8fc973SKuninori Morimoto 5092d8fc973SKuninori Morimoto dai-format = "left_j"; 5102d8fc973SKuninori Morimoto bitclock-master = <&rsnd_endpoint0>; 5112d8fc973SKuninori Morimoto frame-master = <&rsnd_endpoint0>; 5122d8fc973SKuninori Morimoto 513f08c74a3SGeert Uytterhoeven playback = <&ssi0>, <&src0>, <&dvc0>; 514f08c74a3SGeert Uytterhoeven capture = <&ssi1>, <&src1>, <&dvc1>; 5152d8fc973SKuninori Morimoto }; 5162d8fc973SKuninori Morimoto }; 5172d8fc973SKuninori Morimoto }; 5182d8fc973SKuninori Morimoto 5192d8fc973SKuninori Morimoto 5202d8fc973SKuninori Morimoto /* assume audio-graph */ 5212d8fc973SKuninori Morimoto codec { 5222d8fc973SKuninori Morimoto port { 5232d8fc973SKuninori Morimoto codec_endpoint: endpoint { 5242d8fc973SKuninori Morimoto remote-endpoint = <&rsnd_endpoint>; 5252d8fc973SKuninori Morimoto }; 5262d8fc973SKuninori Morimoto }; 5272d8fc973SKuninori Morimoto }; 528