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: 51466c8c46SGeert Uytterhoeven - enum: 52466c8c46SGeert Uytterhoeven - renesas,rcar_sound-r8a779g0 # R-Car V4H 53466c8c46SGeert Uytterhoeven - renesas,rcar_sound-r8a779h0 # R-Car V4M 54f76fec60SKuninori Morimoto - const: renesas,rcar_sound-gen4 552d8fc973SKuninori Morimoto # for Generic 562d8fc973SKuninori Morimoto - enum: 572d8fc973SKuninori Morimoto - renesas,rcar_sound-gen1 582d8fc973SKuninori Morimoto - renesas,rcar_sound-gen2 592d8fc973SKuninori Morimoto - renesas,rcar_sound-gen3 60f284b238SKuninori Morimoto - renesas,rcar_sound-gen4 612d8fc973SKuninori Morimoto 622d8fc973SKuninori Morimoto reg: 632d8fc973SKuninori Morimoto minItems: 1 642d8fc973SKuninori Morimoto maxItems: 5 652d8fc973SKuninori Morimoto 662d8fc973SKuninori Morimoto reg-names: 672d8fc973SKuninori Morimoto minItems: 1 682d8fc973SKuninori Morimoto maxItems: 5 692d8fc973SKuninori Morimoto 702d8fc973SKuninori Morimoto "#sound-dai-cells": 712d8fc973SKuninori Morimoto description: | 722d8fc973SKuninori Morimoto it must be 0 if your system is using single DAI 732d8fc973SKuninori Morimoto it must be 1 if your system is using multi DAIs 7460cc61a6SKuninori Morimoto This is used on simple-audio-card 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 8316382904SKuninori Morimoto "#address-cells": 8416382904SKuninori Morimoto const: 1 8516382904SKuninori Morimoto 8616382904SKuninori Morimoto "#size-cells": 8716382904SKuninori Morimoto const: 0 8816382904SKuninori Morimoto 892d8fc973SKuninori Morimoto clock-frequency: 902d8fc973SKuninori Morimoto description: for audio_clkout0/1/2/3 912d8fc973SKuninori Morimoto 922d8fc973SKuninori Morimoto clkout-lr-asynchronous: 932d8fc973SKuninori Morimoto description: audio_clkoutn is asynchronizes with lr-clock. 942d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 952d8fc973SKuninori Morimoto 962d8fc973SKuninori Morimoto power-domains: true 972d8fc973SKuninori Morimoto 982d8fc973SKuninori Morimoto resets: 9917c2d247SKuninori Morimoto minItems: 1 1002d8fc973SKuninori Morimoto maxItems: 11 1012d8fc973SKuninori Morimoto 1022d8fc973SKuninori Morimoto reset-names: 10317c2d247SKuninori Morimoto minItems: 1 1042d8fc973SKuninori Morimoto maxItems: 11 1052d8fc973SKuninori Morimoto 1062d8fc973SKuninori Morimoto clocks: 1072d8fc973SKuninori Morimoto description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks. 1082d8fc973SKuninori Morimoto minItems: 1 1092d8fc973SKuninori Morimoto maxItems: 31 1102d8fc973SKuninori Morimoto 1112d8fc973SKuninori Morimoto clock-names: 1122d8fc973SKuninori Morimoto description: List of necessary clock names. 1137f8b5b24SKuninori Morimoto # details are defined below 1142d8fc973SKuninori Morimoto 11516382904SKuninori Morimoto # ports is below 1169c1e0439SRob Herring port: 1176d02f355SRob Herring $ref: audio-graph-port.yaml#/definitions/port-base 1186d02f355SRob Herring unevaluatedProperties: false 1196d02f355SRob Herring patternProperties: 1206d02f355SRob Herring "^endpoint(@[0-9a-f]+)?": 1216d02f355SRob Herring $ref: audio-graph-port.yaml#/definitions/endpoint-base 1226d02f355SRob Herring properties: 1236d02f355SRob Herring playback: 1246d02f355SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 1256d02f355SRob Herring capture: 1266d02f355SRob Herring $ref: /schemas/types.yaml#/definitions/phandle-array 1276d02f355SRob Herring unevaluatedProperties: false 1282d8fc973SKuninori Morimoto 129910f42bfSRob Herring rcar_sound,dvc: 1302d8fc973SKuninori Morimoto description: DVC subnode. 1312d8fc973SKuninori Morimoto type: object 1322d8fc973SKuninori Morimoto patternProperties: 1332d8fc973SKuninori Morimoto "^dvc-[0-1]$": 1342d8fc973SKuninori Morimoto type: object 1359e10a1deSRob Herring additionalProperties: false 1369e10a1deSRob Herring 1372d8fc973SKuninori Morimoto properties: 1382d8fc973SKuninori Morimoto dmas: 1392d8fc973SKuninori Morimoto maxItems: 1 1402d8fc973SKuninori Morimoto dma-names: 141d9e909e2SRob Herring const: tx 1422d8fc973SKuninori Morimoto required: 1432d8fc973SKuninori Morimoto - dmas 1442d8fc973SKuninori Morimoto - dma-names 1452d8fc973SKuninori Morimoto additionalProperties: false 1462d8fc973SKuninori Morimoto 147910f42bfSRob Herring rcar_sound,mix: 1482d8fc973SKuninori Morimoto description: MIX subnode. 1492d8fc973SKuninori Morimoto type: object 1502d8fc973SKuninori Morimoto patternProperties: 1512d8fc973SKuninori Morimoto "^mix-[0-1]$": 1522d8fc973SKuninori Morimoto type: object 1539e10a1deSRob Herring additionalProperties: false 1542d8fc973SKuninori Morimoto additionalProperties: false 1552d8fc973SKuninori Morimoto 156910f42bfSRob Herring rcar_sound,ctu: 1572d8fc973SKuninori Morimoto description: CTU subnode. 1582d8fc973SKuninori Morimoto type: object 1592d8fc973SKuninori Morimoto patternProperties: 1602d8fc973SKuninori Morimoto "^ctu-[0-7]$": 1612d8fc973SKuninori Morimoto type: object 1629e10a1deSRob Herring additionalProperties: false 1632d8fc973SKuninori Morimoto additionalProperties: false 1642d8fc973SKuninori Morimoto 165910f42bfSRob Herring rcar_sound,src: 1662d8fc973SKuninori Morimoto description: SRC subnode. 1672d8fc973SKuninori Morimoto type: object 1682d8fc973SKuninori Morimoto patternProperties: 1692d8fc973SKuninori Morimoto "^src-[0-9]$": 1702d8fc973SKuninori Morimoto type: object 1719e10a1deSRob Herring additionalProperties: false 1729e10a1deSRob Herring 1732d8fc973SKuninori Morimoto properties: 1742d8fc973SKuninori Morimoto interrupts: 1752d8fc973SKuninori Morimoto maxItems: 1 1762d8fc973SKuninori Morimoto dmas: 1772d8fc973SKuninori Morimoto maxItems: 2 1782d8fc973SKuninori Morimoto dma-names: 1792d8fc973SKuninori Morimoto allOf: 1802d8fc973SKuninori Morimoto - items: 1812d8fc973SKuninori Morimoto enum: 1822d8fc973SKuninori Morimoto - tx 1832d8fc973SKuninori Morimoto - rx 1842d8fc973SKuninori Morimoto additionalProperties: false 1852d8fc973SKuninori Morimoto 186910f42bfSRob Herring rcar_sound,ssiu: 1872d8fc973SKuninori Morimoto description: SSIU subnode. 1882d8fc973SKuninori Morimoto type: object 1892d8fc973SKuninori Morimoto patternProperties: 1902d8fc973SKuninori Morimoto "^ssiu-[0-9]+$": 1912d8fc973SKuninori Morimoto type: object 1929e10a1deSRob Herring additionalProperties: false 1939e10a1deSRob Herring 1942d8fc973SKuninori Morimoto properties: 1952d8fc973SKuninori Morimoto dmas: 1962d8fc973SKuninori Morimoto maxItems: 2 1972d8fc973SKuninori Morimoto dma-names: 1982d8fc973SKuninori Morimoto allOf: 1992d8fc973SKuninori Morimoto - items: 2002d8fc973SKuninori Morimoto enum: 2012d8fc973SKuninori Morimoto - tx 2022d8fc973SKuninori Morimoto - rx 2032d8fc973SKuninori Morimoto required: 2042d8fc973SKuninori Morimoto - dmas 2052d8fc973SKuninori Morimoto - dma-names 2062d8fc973SKuninori Morimoto additionalProperties: false 2072d8fc973SKuninori Morimoto 208910f42bfSRob Herring rcar_sound,ssi: 2092d8fc973SKuninori Morimoto description: SSI subnode. 2102d8fc973SKuninori Morimoto type: object 2112d8fc973SKuninori Morimoto patternProperties: 2122d8fc973SKuninori Morimoto "^ssi-[0-9]$": 2132d8fc973SKuninori Morimoto type: object 2149e10a1deSRob Herring additionalProperties: false 2159e10a1deSRob Herring 2162d8fc973SKuninori Morimoto properties: 2172d8fc973SKuninori Morimoto interrupts: 2182d8fc973SKuninori Morimoto maxItems: 1 2192d8fc973SKuninori Morimoto dmas: 2202d8fc973SKuninori Morimoto minItems: 2 2212d8fc973SKuninori Morimoto maxItems: 4 2222d8fc973SKuninori Morimoto dma-names: 2232d8fc973SKuninori Morimoto allOf: 2242d8fc973SKuninori Morimoto - items: 2252d8fc973SKuninori Morimoto enum: 2262d8fc973SKuninori Morimoto - tx 2272d8fc973SKuninori Morimoto - rx 2282d8fc973SKuninori Morimoto - txu # if no ssiu node 2292d8fc973SKuninori Morimoto - rxu # if no ssiu node 2302d8fc973SKuninori Morimoto 2312d8fc973SKuninori Morimoto shared-pin: 2322d8fc973SKuninori Morimoto description: shared clock pin 2332d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2342d8fc973SKuninori Morimoto pio-transfer: 2352d8fc973SKuninori Morimoto description: PIO transfer mode 2362d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2372d8fc973SKuninori Morimoto no-busif: 2382d8fc973SKuninori Morimoto description: BUSIF is not used when [mem -> SSI] via DMA case 2392d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/flag 2402d8fc973SKuninori Morimoto required: 2412d8fc973SKuninori Morimoto - interrupts 2422d8fc973SKuninori Morimoto additionalProperties: false 2432d8fc973SKuninori Morimoto 24416382904SKuninori MorimotopatternProperties: 2452d8fc973SKuninori Morimoto # For DAI base 24616382904SKuninori Morimoto 'rcar_sound,dai(@[0-9a-f]+)?$': 2472d8fc973SKuninori Morimoto description: DAI subnode. 2482d8fc973SKuninori Morimoto type: object 2492d8fc973SKuninori Morimoto patternProperties: 2502d8fc973SKuninori Morimoto "^dai([0-9]+)?$": 2512d8fc973SKuninori Morimoto type: object 2529e10a1deSRob Herring additionalProperties: false 2539e10a1deSRob Herring 2542d8fc973SKuninori Morimoto properties: 2552d8fc973SKuninori Morimoto playback: 2562d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 2572d8fc973SKuninori Morimoto capture: 2582d8fc973SKuninori Morimoto $ref: /schemas/types.yaml#/definitions/phandle-array 2592d8fc973SKuninori Morimoto anyOf: 2602d8fc973SKuninori Morimoto - required: 2612d8fc973SKuninori Morimoto - playback 2622d8fc973SKuninori Morimoto - required: 2632d8fc973SKuninori Morimoto - capture 2642d8fc973SKuninori Morimoto additionalProperties: false 2652d8fc973SKuninori Morimoto 26616382904SKuninori Morimoto 'ports(@[0-9a-f]+)?$': 26716382904SKuninori Morimoto $ref: audio-graph-port.yaml#/definitions/port-base 26816382904SKuninori Morimoto unevaluatedProperties: false 26916382904SKuninori Morimoto patternProperties: 27016382904SKuninori Morimoto '^port(@[0-9a-f]+)?$': 2716d02f355SRob Herring $ref: "#/properties/port" 27216382904SKuninori Morimoto 2732d8fc973SKuninori Morimotorequired: 2742d8fc973SKuninori Morimoto - compatible 2752d8fc973SKuninori Morimoto - reg 2762d8fc973SKuninori Morimoto - reg-names 2772d8fc973SKuninori Morimoto - clocks 2782d8fc973SKuninori Morimoto - clock-names 2792d8fc973SKuninori Morimoto 2802d8fc973SKuninori MorimotoallOf: 28158ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 2827f8b5b24SKuninori Morimoto 2837f8b5b24SKuninori Morimoto # -------------------- 2847f8b5b24SKuninori Morimoto # reg/reg-names 2857f8b5b24SKuninori Morimoto # -------------------- 2867f8b5b24SKuninori Morimoto # for Gen1 2872d8fc973SKuninori Morimoto - if: 2882d8fc973SKuninori Morimoto properties: 2892d8fc973SKuninori Morimoto compatible: 2902d8fc973SKuninori Morimoto contains: 2912d8fc973SKuninori Morimoto const: renesas,rcar_sound-gen1 2922d8fc973SKuninori Morimoto then: 2932d8fc973SKuninori Morimoto properties: 2942d8fc973SKuninori Morimoto reg: 2952d8fc973SKuninori Morimoto maxItems: 3 2962d8fc973SKuninori Morimoto reg-names: 2972d8fc973SKuninori Morimoto items: 2982d8fc973SKuninori Morimoto enum: 299*a36614bfSWolfram Sang - sru 3002d8fc973SKuninori Morimoto - ssi 3012d8fc973SKuninori Morimoto - adg 3027f8b5b24SKuninori Morimoto # for Gen2/Gen3 3037f8b5b24SKuninori Morimoto - if: 3047f8b5b24SKuninori Morimoto properties: 3057f8b5b24SKuninori Morimoto compatible: 3067f8b5b24SKuninori Morimoto contains: 3077f8b5b24SKuninori Morimoto enum: 3087f8b5b24SKuninori Morimoto - renesas,rcar_sound-gen2 3097f8b5b24SKuninori Morimoto - renesas,rcar_sound-gen3 3107f8b5b24SKuninori Morimoto then: 3112d8fc973SKuninori Morimoto properties: 3122d8fc973SKuninori Morimoto reg: 31355194032SKuninori Morimoto minItems: 5 3142d8fc973SKuninori Morimoto reg-names: 3152d8fc973SKuninori Morimoto items: 3162d8fc973SKuninori Morimoto enum: 3172d8fc973SKuninori Morimoto - scu 3182d8fc973SKuninori Morimoto - adg 3192d8fc973SKuninori Morimoto - ssiu 3202d8fc973SKuninori Morimoto - ssi 3212d8fc973SKuninori Morimoto - audmapp 3227f8b5b24SKuninori Morimoto # for Gen4 3237f8b5b24SKuninori Morimoto - if: 3247f8b5b24SKuninori Morimoto properties: 3257f8b5b24SKuninori Morimoto compatible: 3267f8b5b24SKuninori Morimoto contains: 3277f8b5b24SKuninori Morimoto const: renesas,rcar_sound-gen4 3287f8b5b24SKuninori Morimoto then: 3297f8b5b24SKuninori Morimoto properties: 3307f8b5b24SKuninori Morimoto reg: 3317f8b5b24SKuninori Morimoto maxItems: 4 3327f8b5b24SKuninori Morimoto reg-names: 3337f8b5b24SKuninori Morimoto items: 3347f8b5b24SKuninori Morimoto enum: 3357f8b5b24SKuninori Morimoto - adg 3367f8b5b24SKuninori Morimoto - ssiu 3377f8b5b24SKuninori Morimoto - ssi 3387f8b5b24SKuninori Morimoto - sdmc 3397f8b5b24SKuninori Morimoto 3407f8b5b24SKuninori Morimoto # -------------------- 3417f8b5b24SKuninori Morimoto # clock-names 3427f8b5b24SKuninori Morimoto # -------------------- 3437f8b5b24SKuninori Morimoto - if: 3447f8b5b24SKuninori Morimoto properties: 3457f8b5b24SKuninori Morimoto compatible: 3467f8b5b24SKuninori Morimoto contains: 3477f8b5b24SKuninori Morimoto const: renesas,rcar_sound-gen4 3487f8b5b24SKuninori Morimoto then: 3497f8b5b24SKuninori Morimoto properties: 3507f8b5b24SKuninori Morimoto clock-names: 3517f8b5b24SKuninori Morimoto maxItems: 3 3527f8b5b24SKuninori Morimoto items: 3537f8b5b24SKuninori Morimoto enum: 3547f8b5b24SKuninori Morimoto - ssi.0 3557f8b5b24SKuninori Morimoto - ssiu.0 3567f8b5b24SKuninori Morimoto - clkin 3577f8b5b24SKuninori Morimoto else: 3587f8b5b24SKuninori Morimoto properties: 3597f8b5b24SKuninori Morimoto clock-names: 3607f8b5b24SKuninori Morimoto minItems: 1 3617f8b5b24SKuninori Morimoto maxItems: 31 3627f8b5b24SKuninori Morimoto items: 3637f8b5b24SKuninori Morimoto oneOf: 3647f8b5b24SKuninori Morimoto - const: ssi-all 3657f8b5b24SKuninori Morimoto - pattern: '^ssi\.[0-9]$' 3667f8b5b24SKuninori Morimoto - pattern: '^src\.[0-9]$' 3677f8b5b24SKuninori Morimoto - pattern: '^mix\.[0-1]$' 3687f8b5b24SKuninori Morimoto - pattern: '^ctu\.[0-1]$' 3697f8b5b24SKuninori Morimoto - pattern: '^dvc\.[0-1]$' 3707f8b5b24SKuninori Morimoto - pattern: '^clk_(a|b|c|i)$' 3712d8fc973SKuninori Morimoto 37258ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false 3732d8fc973SKuninori Morimoto 3742d8fc973SKuninori Morimotoexamples: 3752d8fc973SKuninori Morimoto - | 376ff750f8eSGeert Uytterhoeven #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 377ff750f8eSGeert Uytterhoeven #include <dt-bindings/interrupt-controller/arm-gic.h> 378ff750f8eSGeert Uytterhoeven #include <dt-bindings/power/r8a7790-sysc.h> 3792d8fc973SKuninori Morimoto rcar_sound: sound@ec500000 { 3802d8fc973SKuninori Morimoto #sound-dai-cells = <1>; 3812d8fc973SKuninori Morimoto compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2"; 3822d8fc973SKuninori Morimoto reg = <0xec500000 0x1000>, /* SCU */ 3832d8fc973SKuninori Morimoto <0xec5a0000 0x100>, /* ADG */ 3842d8fc973SKuninori Morimoto <0xec540000 0x1000>, /* SSIU */ 385ff750f8eSGeert Uytterhoeven <0xec541000 0x280>, /* SSI */ 3862d8fc973SKuninori Morimoto <0xec740000 0x200>; /* Audio DMAC peri peri*/ 3872d8fc973SKuninori Morimoto reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 3882d8fc973SKuninori Morimoto 389ff750f8eSGeert Uytterhoeven clocks = <&cpg CPG_MOD 1005>, /* SSI-ALL */ 390ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, /* SSI9, SSI8 */ 391ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, /* SSI7, SSI6 */ 392ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, /* SSI5, SSI4 */ 393ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, /* SSI3, SSI2 */ 394ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, /* SSI1, SSI0 */ 395ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, /* SRC9, SRC8 */ 396ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, /* SRC7, SRC6 */ 397ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, /* SRC5, SRC4 */ 398ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, /* SRC3, SRC2 */ 399ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, /* SRC1, SRC0 */ 400ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* MIX1, MIX0 */ 401ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* CTU1, CTU0 */ 402ff750f8eSGeert Uytterhoeven <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, /* DVC0, DVC1 */ 4032d8fc973SKuninori Morimoto <&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */ 4042d8fc973SKuninori Morimoto <&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */ 4052d8fc973SKuninori Morimoto 4062d8fc973SKuninori Morimoto clock-names = "ssi-all", 4072d8fc973SKuninori Morimoto "ssi.9", "ssi.8", 4082d8fc973SKuninori Morimoto "ssi.7", "ssi.6", 4092d8fc973SKuninori Morimoto "ssi.5", "ssi.4", 4102d8fc973SKuninori Morimoto "ssi.3", "ssi.2", 4112d8fc973SKuninori Morimoto "ssi.1", "ssi.0", 4122d8fc973SKuninori Morimoto "src.9", "src.8", 4132d8fc973SKuninori Morimoto "src.7", "src.6", 4142d8fc973SKuninori Morimoto "src.5", "src.4", 4152d8fc973SKuninori Morimoto "src.3", "src.2", 4162d8fc973SKuninori Morimoto "src.1", "src.0", 4172d8fc973SKuninori Morimoto "mix.1", "mix.0", 4182d8fc973SKuninori Morimoto "ctu.1", "ctu.0", 4192d8fc973SKuninori Morimoto "dvc.0", "dvc.1", 4202d8fc973SKuninori Morimoto "clk_a", "clk_b", 4212d8fc973SKuninori Morimoto "clk_c", "clk_i"; 4222d8fc973SKuninori Morimoto 423ff750f8eSGeert Uytterhoeven power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 424ff750f8eSGeert Uytterhoeven 425ff750f8eSGeert Uytterhoeven resets = <&cpg 1005>, 426ff750f8eSGeert Uytterhoeven <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>, 427ff750f8eSGeert Uytterhoeven <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>, 428ff750f8eSGeert Uytterhoeven <&cpg 1014>, <&cpg 1015>; 429ff750f8eSGeert Uytterhoeven reset-names = "ssi-all", 430ff750f8eSGeert Uytterhoeven "ssi.9", "ssi.8", "ssi.7", "ssi.6", 431ff750f8eSGeert Uytterhoeven "ssi.5", "ssi.4", "ssi.3", "ssi.2", 432ff750f8eSGeert Uytterhoeven "ssi.1", "ssi.0"; 433ff750f8eSGeert Uytterhoeven 4342d8fc973SKuninori Morimoto rcar_sound,dvc { 4352d8fc973SKuninori Morimoto dvc0: dvc-0 { 4362d8fc973SKuninori Morimoto dmas = <&audma0 0xbc>; 4372d8fc973SKuninori Morimoto dma-names = "tx"; 4382d8fc973SKuninori Morimoto }; 4392d8fc973SKuninori Morimoto dvc1: dvc-1 { 4402d8fc973SKuninori Morimoto dmas = <&audma0 0xbe>; 4412d8fc973SKuninori Morimoto dma-names = "tx"; 4422d8fc973SKuninori Morimoto }; 4432d8fc973SKuninori Morimoto }; 4442d8fc973SKuninori Morimoto 4452d8fc973SKuninori Morimoto rcar_sound,mix { 4462d8fc973SKuninori Morimoto mix0: mix-0 { }; 4472d8fc973SKuninori Morimoto mix1: mix-1 { }; 4482d8fc973SKuninori Morimoto }; 4492d8fc973SKuninori Morimoto 4502d8fc973SKuninori Morimoto rcar_sound,ctu { 4512d8fc973SKuninori Morimoto ctu00: ctu-0 { }; 4522d8fc973SKuninori Morimoto ctu01: ctu-1 { }; 4532d8fc973SKuninori Morimoto ctu02: ctu-2 { }; 4542d8fc973SKuninori Morimoto ctu03: ctu-3 { }; 4552d8fc973SKuninori Morimoto ctu10: ctu-4 { }; 4562d8fc973SKuninori Morimoto ctu11: ctu-5 { }; 4572d8fc973SKuninori Morimoto ctu12: ctu-6 { }; 4582d8fc973SKuninori Morimoto ctu13: ctu-7 { }; 4592d8fc973SKuninori Morimoto }; 4602d8fc973SKuninori Morimoto 4612d8fc973SKuninori Morimoto rcar_sound,src { 4622d8fc973SKuninori Morimoto src0: src-0 { 4632d8fc973SKuninori Morimoto status = "disabled"; 4642d8fc973SKuninori Morimoto }; 4652d8fc973SKuninori Morimoto src1: src-1 { 466ff750f8eSGeert Uytterhoeven interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 4672d8fc973SKuninori Morimoto dmas = <&audma0 0x87>, <&audma1 0x9c>; 4682d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4692d8fc973SKuninori Morimoto }; 4702d8fc973SKuninori Morimoto /* skip after src-2 */ 4712d8fc973SKuninori Morimoto }; 4722d8fc973SKuninori Morimoto 4732d8fc973SKuninori Morimoto rcar_sound,ssiu { 4742d8fc973SKuninori Morimoto ssiu00: ssiu-0 { 4752d8fc973SKuninori Morimoto dmas = <&audma0 0x15>, <&audma1 0x16>; 4762d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4772d8fc973SKuninori Morimoto }; 4782d8fc973SKuninori Morimoto ssiu01: ssiu-1 { 4792d8fc973SKuninori Morimoto dmas = <&audma0 0x35>, <&audma1 0x36>; 4802d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4812d8fc973SKuninori Morimoto }; 4822d8fc973SKuninori Morimoto /* skip after ssiu-2 */ 4832d8fc973SKuninori Morimoto }; 4842d8fc973SKuninori Morimoto 4852d8fc973SKuninori Morimoto rcar_sound,ssi { 4862d8fc973SKuninori Morimoto ssi0: ssi-0 { 487ff750f8eSGeert Uytterhoeven interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 4882d8fc973SKuninori Morimoto dmas = <&audma0 0x01>, <&audma1 0x02>; 4892d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4902d8fc973SKuninori Morimoto }; 4912d8fc973SKuninori Morimoto ssi1: ssi-1 { 492ff750f8eSGeert Uytterhoeven interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 4932d8fc973SKuninori Morimoto dmas = <&audma0 0x03>, <&audma1 0x04>; 4942d8fc973SKuninori Morimoto dma-names = "rx", "tx"; 4952d8fc973SKuninori Morimoto }; 4962d8fc973SKuninori Morimoto /* skip other ssi-2 */ 4972d8fc973SKuninori Morimoto }; 4982d8fc973SKuninori Morimoto 4992d8fc973SKuninori Morimoto /* DAI base */ 5002d8fc973SKuninori Morimoto rcar_sound,dai { 5012d8fc973SKuninori Morimoto dai0 { 502f08c74a3SGeert Uytterhoeven playback = <&ssi5>, <&src5>; 5032d8fc973SKuninori Morimoto capture = <&ssi6>; 5042d8fc973SKuninori Morimoto }; 5052d8fc973SKuninori Morimoto dai1 { 5062d8fc973SKuninori Morimoto playback = <&ssi3>; 5072d8fc973SKuninori Morimoto }; 5082d8fc973SKuninori Morimoto dai2 { 5092d8fc973SKuninori Morimoto capture = <&ssi4>; 5102d8fc973SKuninori Morimoto }; 5112d8fc973SKuninori Morimoto dai3 { 5122d8fc973SKuninori Morimoto playback = <&ssi7>; 5132d8fc973SKuninori Morimoto }; 5142d8fc973SKuninori Morimoto dai4 { 5152d8fc973SKuninori Morimoto capture = <&ssi8>; 5162d8fc973SKuninori Morimoto }; 5172d8fc973SKuninori Morimoto }; 5182d8fc973SKuninori Morimoto 5192d8fc973SKuninori Morimoto /* assume audio-graph */ 5202d8fc973SKuninori Morimoto port { 5212d8fc973SKuninori Morimoto rsnd_endpoint: endpoint { 5222d8fc973SKuninori Morimoto remote-endpoint = <&codec_endpoint>; 5232d8fc973SKuninori Morimoto 5242d8fc973SKuninori Morimoto dai-format = "left_j"; 5252d8fc973SKuninori Morimoto bitclock-master = <&rsnd_endpoint0>; 5262d8fc973SKuninori Morimoto frame-master = <&rsnd_endpoint0>; 5272d8fc973SKuninori Morimoto 528f08c74a3SGeert Uytterhoeven playback = <&ssi0>, <&src0>, <&dvc0>; 529f08c74a3SGeert Uytterhoeven capture = <&ssi1>, <&src1>, <&dvc1>; 5302d8fc973SKuninori Morimoto }; 5312d8fc973SKuninori Morimoto }; 5322d8fc973SKuninori Morimoto }; 5332d8fc973SKuninori Morimoto 5342d8fc973SKuninori Morimoto /* assume audio-graph */ 5352d8fc973SKuninori Morimoto codec { 5362d8fc973SKuninori Morimoto port { 5372d8fc973SKuninori Morimoto codec_endpoint: endpoint { 5382d8fc973SKuninori Morimoto remote-endpoint = <&rsnd_endpoint>; 5392d8fc973SKuninori Morimoto }; 5402d8fc973SKuninori Morimoto }; 5412d8fc973SKuninori Morimoto }; 542