15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/renesas,rsnd.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 77ef62cebSEmmanuel Vadottitle: Renesas R-Car Sound Driver 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotproperties: 135def4c47SEmmanuel Vadot 145def4c47SEmmanuel Vadot compatible: 155def4c47SEmmanuel Vadot oneOf: 165def4c47SEmmanuel Vadot # for Gen1 SoC 175def4c47SEmmanuel Vadot - items: 185def4c47SEmmanuel Vadot - enum: 195def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7778 # R-Car M1A 205def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7779 # R-Car H1 21cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-gen1 225def4c47SEmmanuel Vadot # for Gen2 SoC 235def4c47SEmmanuel Vadot - items: 245def4c47SEmmanuel Vadot - enum: 255def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7742 # RZ/G1H 265def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7743 # RZ/G1M 275def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7744 # RZ/G1N 285def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7745 # RZ/G1E 295def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a77470 # RZ/G1C 305def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7790 # R-Car H2 315def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7791 # R-Car M2-W 325def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7793 # R-Car M2-N 335def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7794 # R-Car E2 34cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-gen2 355def4c47SEmmanuel Vadot # for Gen3 SoC 365def4c47SEmmanuel Vadot - items: 375def4c47SEmmanuel Vadot - enum: 385def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a774a1 # RZ/G2M 395def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a774b1 # RZ/G2N 405def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a774c0 # RZ/G2E 415def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a774e1 # RZ/G2H 425def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7795 # R-Car H3 435def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a7796 # R-Car M3-W 445def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a77961 # R-Car M3-W+ 455def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a77965 # R-Car M3-N 465def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a77990 # R-Car E3 475def4c47SEmmanuel Vadot - renesas,rcar_sound-r8a77995 # R-Car D3 48cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-gen3 49cb7aa33aSEmmanuel Vadot # for Gen4 SoC 505def4c47SEmmanuel Vadot - items: 51cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-r8a779g0 # R-Car V4H 52cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-gen4 53cb7aa33aSEmmanuel Vadot # for Generic 545def4c47SEmmanuel Vadot - enum: 555def4c47SEmmanuel Vadot - renesas,rcar_sound-gen1 565def4c47SEmmanuel Vadot - renesas,rcar_sound-gen2 575def4c47SEmmanuel Vadot - renesas,rcar_sound-gen3 585def4c47SEmmanuel Vadot 595def4c47SEmmanuel Vadot reg: 605def4c47SEmmanuel Vadot minItems: 1 615def4c47SEmmanuel Vadot maxItems: 5 625def4c47SEmmanuel Vadot 635def4c47SEmmanuel Vadot reg-names: 645def4c47SEmmanuel Vadot minItems: 1 655def4c47SEmmanuel Vadot maxItems: 5 665def4c47SEmmanuel Vadot 675def4c47SEmmanuel Vadot "#sound-dai-cells": 685def4c47SEmmanuel Vadot description: | 695def4c47SEmmanuel Vadot it must be 0 if your system is using single DAI 705def4c47SEmmanuel Vadot it must be 1 if your system is using multi DAIs 71cb7aa33aSEmmanuel Vadot This is used on simple-audio-card 725def4c47SEmmanuel Vadot enum: [0, 1] 735def4c47SEmmanuel Vadot 745def4c47SEmmanuel Vadot "#clock-cells": 755def4c47SEmmanuel Vadot description: | 765def4c47SEmmanuel Vadot it must be 0 if your system has audio_clkout 775def4c47SEmmanuel Vadot it must be 1 if your system has audio_clkout0/1/2/3 785def4c47SEmmanuel Vadot enum: [0, 1] 795def4c47SEmmanuel Vadot 80aa1a8ff2SEmmanuel Vadot "#address-cells": 81aa1a8ff2SEmmanuel Vadot const: 1 82aa1a8ff2SEmmanuel Vadot 83aa1a8ff2SEmmanuel Vadot "#size-cells": 84aa1a8ff2SEmmanuel Vadot const: 0 85aa1a8ff2SEmmanuel Vadot 865def4c47SEmmanuel Vadot clock-frequency: 875def4c47SEmmanuel Vadot description: for audio_clkout0/1/2/3 885def4c47SEmmanuel Vadot 895def4c47SEmmanuel Vadot clkout-lr-asynchronous: 905def4c47SEmmanuel Vadot description: audio_clkoutn is asynchronizes with lr-clock. 915def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 925def4c47SEmmanuel Vadot 935def4c47SEmmanuel Vadot power-domains: true 945def4c47SEmmanuel Vadot 955def4c47SEmmanuel Vadot resets: 965956d97fSEmmanuel Vadot minItems: 1 975def4c47SEmmanuel Vadot maxItems: 11 985def4c47SEmmanuel Vadot 995def4c47SEmmanuel Vadot reset-names: 1005956d97fSEmmanuel Vadot minItems: 1 1015def4c47SEmmanuel Vadot maxItems: 11 1025def4c47SEmmanuel Vadot 1035def4c47SEmmanuel Vadot clocks: 1045def4c47SEmmanuel Vadot description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks. 1055def4c47SEmmanuel Vadot minItems: 1 1065def4c47SEmmanuel Vadot maxItems: 31 1075def4c47SEmmanuel Vadot 1085def4c47SEmmanuel Vadot clock-names: 1095def4c47SEmmanuel Vadot description: List of necessary clock names. 110fac71e4eSEmmanuel Vadot # details are defined below 1115def4c47SEmmanuel Vadot 112aa1a8ff2SEmmanuel Vadot # ports is below 1132eb4d8dcSEmmanuel Vadot port: 114*8d13bc63SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/port-base 115*8d13bc63SEmmanuel Vadot unevaluatedProperties: false 116*8d13bc63SEmmanuel Vadot patternProperties: 117*8d13bc63SEmmanuel Vadot "^endpoint(@[0-9a-f]+)?": 118*8d13bc63SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/endpoint-base 119*8d13bc63SEmmanuel Vadot properties: 120*8d13bc63SEmmanuel Vadot playback: 121*8d13bc63SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 122*8d13bc63SEmmanuel Vadot capture: 123*8d13bc63SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 124*8d13bc63SEmmanuel Vadot unevaluatedProperties: false 1255def4c47SEmmanuel Vadot 126c9ccf3a3SEmmanuel Vadot rcar_sound,dvc: 1275def4c47SEmmanuel Vadot description: DVC subnode. 1285def4c47SEmmanuel Vadot type: object 1295def4c47SEmmanuel Vadot patternProperties: 1305def4c47SEmmanuel Vadot "^dvc-[0-1]$": 1315def4c47SEmmanuel Vadot type: object 1327ef62cebSEmmanuel Vadot additionalProperties: false 1337ef62cebSEmmanuel Vadot 1345def4c47SEmmanuel Vadot properties: 1355def4c47SEmmanuel Vadot dmas: 1365def4c47SEmmanuel Vadot maxItems: 1 1375def4c47SEmmanuel Vadot dma-names: 138fac71e4eSEmmanuel Vadot const: tx 1395def4c47SEmmanuel Vadot required: 1405def4c47SEmmanuel Vadot - dmas 1415def4c47SEmmanuel Vadot - dma-names 1425def4c47SEmmanuel Vadot additionalProperties: false 1435def4c47SEmmanuel Vadot 144c9ccf3a3SEmmanuel Vadot rcar_sound,mix: 1455def4c47SEmmanuel Vadot description: MIX subnode. 1465def4c47SEmmanuel Vadot type: object 1475def4c47SEmmanuel Vadot patternProperties: 1485def4c47SEmmanuel Vadot "^mix-[0-1]$": 1495def4c47SEmmanuel Vadot type: object 1507ef62cebSEmmanuel Vadot additionalProperties: false 1515def4c47SEmmanuel Vadot additionalProperties: false 1525def4c47SEmmanuel Vadot 153c9ccf3a3SEmmanuel Vadot rcar_sound,ctu: 1545def4c47SEmmanuel Vadot description: CTU subnode. 1555def4c47SEmmanuel Vadot type: object 1565def4c47SEmmanuel Vadot patternProperties: 1575def4c47SEmmanuel Vadot "^ctu-[0-7]$": 1585def4c47SEmmanuel Vadot type: object 1597ef62cebSEmmanuel Vadot additionalProperties: false 1605def4c47SEmmanuel Vadot additionalProperties: false 1615def4c47SEmmanuel Vadot 162c9ccf3a3SEmmanuel Vadot rcar_sound,src: 1635def4c47SEmmanuel Vadot description: SRC subnode. 1645def4c47SEmmanuel Vadot type: object 1655def4c47SEmmanuel Vadot patternProperties: 1665def4c47SEmmanuel Vadot "^src-[0-9]$": 1675def4c47SEmmanuel Vadot type: object 1687ef62cebSEmmanuel Vadot additionalProperties: false 1697ef62cebSEmmanuel Vadot 1705def4c47SEmmanuel Vadot properties: 1715def4c47SEmmanuel Vadot interrupts: 1725def4c47SEmmanuel Vadot maxItems: 1 1735def4c47SEmmanuel Vadot dmas: 1745def4c47SEmmanuel Vadot maxItems: 2 1755def4c47SEmmanuel Vadot dma-names: 1765def4c47SEmmanuel Vadot allOf: 1775def4c47SEmmanuel Vadot - items: 1785def4c47SEmmanuel Vadot enum: 1795def4c47SEmmanuel Vadot - tx 1805def4c47SEmmanuel Vadot - rx 1815def4c47SEmmanuel Vadot additionalProperties: false 1825def4c47SEmmanuel Vadot 183c9ccf3a3SEmmanuel Vadot rcar_sound,ssiu: 1845def4c47SEmmanuel Vadot description: SSIU subnode. 1855def4c47SEmmanuel Vadot type: object 1865def4c47SEmmanuel Vadot patternProperties: 1875def4c47SEmmanuel Vadot "^ssiu-[0-9]+$": 1885def4c47SEmmanuel Vadot type: object 1897ef62cebSEmmanuel Vadot additionalProperties: false 1907ef62cebSEmmanuel Vadot 1915def4c47SEmmanuel Vadot properties: 1925def4c47SEmmanuel Vadot dmas: 1935def4c47SEmmanuel Vadot maxItems: 2 1945def4c47SEmmanuel Vadot dma-names: 1955def4c47SEmmanuel Vadot allOf: 1965def4c47SEmmanuel Vadot - items: 1975def4c47SEmmanuel Vadot enum: 1985def4c47SEmmanuel Vadot - tx 1995def4c47SEmmanuel Vadot - rx 2005def4c47SEmmanuel Vadot required: 2015def4c47SEmmanuel Vadot - dmas 2025def4c47SEmmanuel Vadot - dma-names 2035def4c47SEmmanuel Vadot additionalProperties: false 2045def4c47SEmmanuel Vadot 205c9ccf3a3SEmmanuel Vadot rcar_sound,ssi: 2065def4c47SEmmanuel Vadot description: SSI subnode. 2075def4c47SEmmanuel Vadot type: object 2085def4c47SEmmanuel Vadot patternProperties: 2095def4c47SEmmanuel Vadot "^ssi-[0-9]$": 2105def4c47SEmmanuel Vadot type: object 2117ef62cebSEmmanuel Vadot additionalProperties: false 2127ef62cebSEmmanuel Vadot 2135def4c47SEmmanuel Vadot properties: 2145def4c47SEmmanuel Vadot interrupts: 2155def4c47SEmmanuel Vadot maxItems: 1 2165def4c47SEmmanuel Vadot dmas: 2175def4c47SEmmanuel Vadot minItems: 2 2185def4c47SEmmanuel Vadot maxItems: 4 2195def4c47SEmmanuel Vadot dma-names: 2205def4c47SEmmanuel Vadot allOf: 2215def4c47SEmmanuel Vadot - items: 2225def4c47SEmmanuel Vadot enum: 2235def4c47SEmmanuel Vadot - tx 2245def4c47SEmmanuel Vadot - rx 2255def4c47SEmmanuel Vadot - txu # if no ssiu node 2265def4c47SEmmanuel Vadot - rxu # if no ssiu node 2275def4c47SEmmanuel Vadot 2285def4c47SEmmanuel Vadot shared-pin: 2295def4c47SEmmanuel Vadot description: shared clock pin 2305def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2315def4c47SEmmanuel Vadot pio-transfer: 2325def4c47SEmmanuel Vadot description: PIO transfer mode 2335def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2345def4c47SEmmanuel Vadot no-busif: 2355def4c47SEmmanuel Vadot description: BUSIF is not used when [mem -> SSI] via DMA case 2365def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2375def4c47SEmmanuel Vadot required: 2385def4c47SEmmanuel Vadot - interrupts 2395def4c47SEmmanuel Vadot additionalProperties: false 2405def4c47SEmmanuel Vadot 241aa1a8ff2SEmmanuel VadotpatternProperties: 2425def4c47SEmmanuel Vadot # For DAI base 243aa1a8ff2SEmmanuel Vadot 'rcar_sound,dai(@[0-9a-f]+)?$': 2445def4c47SEmmanuel Vadot description: DAI subnode. 2455def4c47SEmmanuel Vadot type: object 2465def4c47SEmmanuel Vadot patternProperties: 2475def4c47SEmmanuel Vadot "^dai([0-9]+)?$": 2485def4c47SEmmanuel Vadot type: object 2497ef62cebSEmmanuel Vadot additionalProperties: false 2507ef62cebSEmmanuel Vadot 2515def4c47SEmmanuel Vadot properties: 2525def4c47SEmmanuel Vadot playback: 2535def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 2545def4c47SEmmanuel Vadot capture: 2555def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 2565def4c47SEmmanuel Vadot anyOf: 2575def4c47SEmmanuel Vadot - required: 2585def4c47SEmmanuel Vadot - playback 2595def4c47SEmmanuel Vadot - required: 2605def4c47SEmmanuel Vadot - capture 2615def4c47SEmmanuel Vadot additionalProperties: false 2625def4c47SEmmanuel Vadot 263aa1a8ff2SEmmanuel Vadot 'ports(@[0-9a-f]+)?$': 264aa1a8ff2SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/port-base 265aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 266aa1a8ff2SEmmanuel Vadot patternProperties: 267aa1a8ff2SEmmanuel Vadot '^port(@[0-9a-f]+)?$': 268*8d13bc63SEmmanuel Vadot $ref: "#/properties/port" 269aa1a8ff2SEmmanuel Vadot 2705def4c47SEmmanuel Vadotrequired: 2715def4c47SEmmanuel Vadot - compatible 2725def4c47SEmmanuel Vadot - reg 2735def4c47SEmmanuel Vadot - reg-names 2745def4c47SEmmanuel Vadot - clocks 2755def4c47SEmmanuel Vadot - clock-names 2765def4c47SEmmanuel Vadot 2775def4c47SEmmanuel VadotallOf: 2788bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 279fac71e4eSEmmanuel Vadot 280fac71e4eSEmmanuel Vadot # -------------------- 281fac71e4eSEmmanuel Vadot # reg/reg-names 282fac71e4eSEmmanuel Vadot # -------------------- 283fac71e4eSEmmanuel Vadot # for Gen1 2845def4c47SEmmanuel Vadot - if: 2855def4c47SEmmanuel Vadot properties: 2865def4c47SEmmanuel Vadot compatible: 2875def4c47SEmmanuel Vadot contains: 2885def4c47SEmmanuel Vadot const: renesas,rcar_sound-gen1 2895def4c47SEmmanuel Vadot then: 2905def4c47SEmmanuel Vadot properties: 2915def4c47SEmmanuel Vadot reg: 2925def4c47SEmmanuel Vadot maxItems: 3 2935def4c47SEmmanuel Vadot reg-names: 2945def4c47SEmmanuel Vadot items: 2955def4c47SEmmanuel Vadot enum: 2965def4c47SEmmanuel Vadot - scu 2975def4c47SEmmanuel Vadot - ssi 2985def4c47SEmmanuel Vadot - adg 299fac71e4eSEmmanuel Vadot # for Gen2/Gen3 300fac71e4eSEmmanuel Vadot - if: 301fac71e4eSEmmanuel Vadot properties: 302fac71e4eSEmmanuel Vadot compatible: 303fac71e4eSEmmanuel Vadot contains: 304fac71e4eSEmmanuel Vadot enum: 305fac71e4eSEmmanuel Vadot - renesas,rcar_sound-gen2 306fac71e4eSEmmanuel Vadot - renesas,rcar_sound-gen3 307fac71e4eSEmmanuel Vadot then: 3085def4c47SEmmanuel Vadot properties: 3095def4c47SEmmanuel Vadot reg: 310cb7aa33aSEmmanuel Vadot minItems: 5 3115def4c47SEmmanuel Vadot reg-names: 3125def4c47SEmmanuel Vadot items: 3135def4c47SEmmanuel Vadot enum: 3145def4c47SEmmanuel Vadot - scu 3155def4c47SEmmanuel Vadot - adg 3165def4c47SEmmanuel Vadot - ssiu 3175def4c47SEmmanuel Vadot - ssi 3185def4c47SEmmanuel Vadot - audmapp 319fac71e4eSEmmanuel Vadot # for Gen4 320fac71e4eSEmmanuel Vadot - if: 321fac71e4eSEmmanuel Vadot properties: 322fac71e4eSEmmanuel Vadot compatible: 323fac71e4eSEmmanuel Vadot contains: 324fac71e4eSEmmanuel Vadot const: renesas,rcar_sound-gen4 325fac71e4eSEmmanuel Vadot then: 326fac71e4eSEmmanuel Vadot properties: 327fac71e4eSEmmanuel Vadot reg: 328fac71e4eSEmmanuel Vadot maxItems: 4 329fac71e4eSEmmanuel Vadot reg-names: 330fac71e4eSEmmanuel Vadot items: 331fac71e4eSEmmanuel Vadot enum: 332fac71e4eSEmmanuel Vadot - adg 333fac71e4eSEmmanuel Vadot - ssiu 334fac71e4eSEmmanuel Vadot - ssi 335fac71e4eSEmmanuel Vadot - sdmc 336fac71e4eSEmmanuel Vadot 337fac71e4eSEmmanuel Vadot # -------------------- 338fac71e4eSEmmanuel Vadot # clock-names 339fac71e4eSEmmanuel Vadot # -------------------- 340fac71e4eSEmmanuel Vadot - if: 341fac71e4eSEmmanuel Vadot properties: 342fac71e4eSEmmanuel Vadot compatible: 343fac71e4eSEmmanuel Vadot contains: 344fac71e4eSEmmanuel Vadot const: renesas,rcar_sound-gen4 345fac71e4eSEmmanuel Vadot then: 346fac71e4eSEmmanuel Vadot properties: 347fac71e4eSEmmanuel Vadot clock-names: 348fac71e4eSEmmanuel Vadot maxItems: 3 349fac71e4eSEmmanuel Vadot items: 350fac71e4eSEmmanuel Vadot enum: 351fac71e4eSEmmanuel Vadot - ssi.0 352fac71e4eSEmmanuel Vadot - ssiu.0 353fac71e4eSEmmanuel Vadot - clkin 354fac71e4eSEmmanuel Vadot else: 355fac71e4eSEmmanuel Vadot properties: 356fac71e4eSEmmanuel Vadot clock-names: 357fac71e4eSEmmanuel Vadot minItems: 1 358fac71e4eSEmmanuel Vadot maxItems: 31 359fac71e4eSEmmanuel Vadot items: 360fac71e4eSEmmanuel Vadot oneOf: 361fac71e4eSEmmanuel Vadot - const: ssi-all 362fac71e4eSEmmanuel Vadot - pattern: '^ssi\.[0-9]$' 363fac71e4eSEmmanuel Vadot - pattern: '^src\.[0-9]$' 364fac71e4eSEmmanuel Vadot - pattern: '^mix\.[0-1]$' 365fac71e4eSEmmanuel Vadot - pattern: '^ctu\.[0-1]$' 366fac71e4eSEmmanuel Vadot - pattern: '^dvc\.[0-1]$' 367fac71e4eSEmmanuel Vadot - pattern: '^clk_(a|b|c|i)$' 3685def4c47SEmmanuel Vadot 3698bab661aSEmmanuel VadotunevaluatedProperties: false 3705def4c47SEmmanuel Vadot 3715def4c47SEmmanuel Vadotexamples: 3725def4c47SEmmanuel Vadot - | 373fac71e4eSEmmanuel Vadot #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 374fac71e4eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 375fac71e4eSEmmanuel Vadot #include <dt-bindings/power/r8a7790-sysc.h> 3765def4c47SEmmanuel Vadot rcar_sound: sound@ec500000 { 3775def4c47SEmmanuel Vadot #sound-dai-cells = <1>; 3785def4c47SEmmanuel Vadot compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2"; 3795def4c47SEmmanuel Vadot reg = <0xec500000 0x1000>, /* SCU */ 3805def4c47SEmmanuel Vadot <0xec5a0000 0x100>, /* ADG */ 3815def4c47SEmmanuel Vadot <0xec540000 0x1000>, /* SSIU */ 382fac71e4eSEmmanuel Vadot <0xec541000 0x280>, /* SSI */ 3835def4c47SEmmanuel Vadot <0xec740000 0x200>; /* Audio DMAC peri peri*/ 3845def4c47SEmmanuel Vadot reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 3855def4c47SEmmanuel Vadot 386fac71e4eSEmmanuel Vadot clocks = <&cpg CPG_MOD 1005>, /* SSI-ALL */ 387fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, /* SSI9, SSI8 */ 388fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, /* SSI7, SSI6 */ 389fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, /* SSI5, SSI4 */ 390fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, /* SSI3, SSI2 */ 391fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, /* SSI1, SSI0 */ 392fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, /* SRC9, SRC8 */ 393fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, /* SRC7, SRC6 */ 394fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, /* SRC5, SRC4 */ 395fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, /* SRC3, SRC2 */ 396fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, /* SRC1, SRC0 */ 397fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* MIX1, MIX0 */ 398fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* CTU1, CTU0 */ 399fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, /* DVC0, DVC1 */ 4005def4c47SEmmanuel Vadot <&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */ 4015def4c47SEmmanuel Vadot <&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */ 4025def4c47SEmmanuel Vadot 4035def4c47SEmmanuel Vadot clock-names = "ssi-all", 4045def4c47SEmmanuel Vadot "ssi.9", "ssi.8", 4055def4c47SEmmanuel Vadot "ssi.7", "ssi.6", 4065def4c47SEmmanuel Vadot "ssi.5", "ssi.4", 4075def4c47SEmmanuel Vadot "ssi.3", "ssi.2", 4085def4c47SEmmanuel Vadot "ssi.1", "ssi.0", 4095def4c47SEmmanuel Vadot "src.9", "src.8", 4105def4c47SEmmanuel Vadot "src.7", "src.6", 4115def4c47SEmmanuel Vadot "src.5", "src.4", 4125def4c47SEmmanuel Vadot "src.3", "src.2", 4135def4c47SEmmanuel Vadot "src.1", "src.0", 4145def4c47SEmmanuel Vadot "mix.1", "mix.0", 4155def4c47SEmmanuel Vadot "ctu.1", "ctu.0", 4165def4c47SEmmanuel Vadot "dvc.0", "dvc.1", 4175def4c47SEmmanuel Vadot "clk_a", "clk_b", 4185def4c47SEmmanuel Vadot "clk_c", "clk_i"; 4195def4c47SEmmanuel Vadot 420fac71e4eSEmmanuel Vadot power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 421fac71e4eSEmmanuel Vadot 422fac71e4eSEmmanuel Vadot resets = <&cpg 1005>, 423fac71e4eSEmmanuel Vadot <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>, 424fac71e4eSEmmanuel Vadot <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>, 425fac71e4eSEmmanuel Vadot <&cpg 1014>, <&cpg 1015>; 426fac71e4eSEmmanuel Vadot reset-names = "ssi-all", 427fac71e4eSEmmanuel Vadot "ssi.9", "ssi.8", "ssi.7", "ssi.6", 428fac71e4eSEmmanuel Vadot "ssi.5", "ssi.4", "ssi.3", "ssi.2", 429fac71e4eSEmmanuel Vadot "ssi.1", "ssi.0"; 430fac71e4eSEmmanuel Vadot 4315def4c47SEmmanuel Vadot rcar_sound,dvc { 4325def4c47SEmmanuel Vadot dvc0: dvc-0 { 4335def4c47SEmmanuel Vadot dmas = <&audma0 0xbc>; 4345def4c47SEmmanuel Vadot dma-names = "tx"; 4355def4c47SEmmanuel Vadot }; 4365def4c47SEmmanuel Vadot dvc1: dvc-1 { 4375def4c47SEmmanuel Vadot dmas = <&audma0 0xbe>; 4385def4c47SEmmanuel Vadot dma-names = "tx"; 4395def4c47SEmmanuel Vadot }; 4405def4c47SEmmanuel Vadot }; 4415def4c47SEmmanuel Vadot 4425def4c47SEmmanuel Vadot rcar_sound,mix { 4435def4c47SEmmanuel Vadot mix0: mix-0 { }; 4445def4c47SEmmanuel Vadot mix1: mix-1 { }; 4455def4c47SEmmanuel Vadot }; 4465def4c47SEmmanuel Vadot 4475def4c47SEmmanuel Vadot rcar_sound,ctu { 4485def4c47SEmmanuel Vadot ctu00: ctu-0 { }; 4495def4c47SEmmanuel Vadot ctu01: ctu-1 { }; 4505def4c47SEmmanuel Vadot ctu02: ctu-2 { }; 4515def4c47SEmmanuel Vadot ctu03: ctu-3 { }; 4525def4c47SEmmanuel Vadot ctu10: ctu-4 { }; 4535def4c47SEmmanuel Vadot ctu11: ctu-5 { }; 4545def4c47SEmmanuel Vadot ctu12: ctu-6 { }; 4555def4c47SEmmanuel Vadot ctu13: ctu-7 { }; 4565def4c47SEmmanuel Vadot }; 4575def4c47SEmmanuel Vadot 4585def4c47SEmmanuel Vadot rcar_sound,src { 4595def4c47SEmmanuel Vadot src0: src-0 { 4605def4c47SEmmanuel Vadot status = "disabled"; 4615def4c47SEmmanuel Vadot }; 4625def4c47SEmmanuel Vadot src1: src-1 { 463fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 4645def4c47SEmmanuel Vadot dmas = <&audma0 0x87>, <&audma1 0x9c>; 4655def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4665def4c47SEmmanuel Vadot }; 4675def4c47SEmmanuel Vadot /* skip after src-2 */ 4685def4c47SEmmanuel Vadot }; 4695def4c47SEmmanuel Vadot 4705def4c47SEmmanuel Vadot rcar_sound,ssiu { 4715def4c47SEmmanuel Vadot ssiu00: ssiu-0 { 4725def4c47SEmmanuel Vadot dmas = <&audma0 0x15>, <&audma1 0x16>; 4735def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4745def4c47SEmmanuel Vadot }; 4755def4c47SEmmanuel Vadot ssiu01: ssiu-1 { 4765def4c47SEmmanuel Vadot dmas = <&audma0 0x35>, <&audma1 0x36>; 4775def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4785def4c47SEmmanuel Vadot }; 4795def4c47SEmmanuel Vadot /* skip after ssiu-2 */ 4805def4c47SEmmanuel Vadot }; 4815def4c47SEmmanuel Vadot 4825def4c47SEmmanuel Vadot rcar_sound,ssi { 4835def4c47SEmmanuel Vadot ssi0: ssi-0 { 484fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 4855def4c47SEmmanuel Vadot dmas = <&audma0 0x01>, <&audma1 0x02>; 4865def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4875def4c47SEmmanuel Vadot }; 4885def4c47SEmmanuel Vadot ssi1: ssi-1 { 489fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 4905def4c47SEmmanuel Vadot dmas = <&audma0 0x03>, <&audma1 0x04>; 4915def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4925def4c47SEmmanuel Vadot }; 4935def4c47SEmmanuel Vadot /* skip other ssi-2 */ 4945def4c47SEmmanuel Vadot }; 4955def4c47SEmmanuel Vadot 4965def4c47SEmmanuel Vadot /* DAI base */ 4975def4c47SEmmanuel Vadot rcar_sound,dai { 4985def4c47SEmmanuel Vadot dai0 { 4995def4c47SEmmanuel Vadot playback = <&ssi5>, <&src5>; 5005def4c47SEmmanuel Vadot capture = <&ssi6>; 5015def4c47SEmmanuel Vadot }; 5025def4c47SEmmanuel Vadot dai1 { 5035def4c47SEmmanuel Vadot playback = <&ssi3>; 5045def4c47SEmmanuel Vadot }; 5055def4c47SEmmanuel Vadot dai2 { 5065def4c47SEmmanuel Vadot capture = <&ssi4>; 5075def4c47SEmmanuel Vadot }; 5085def4c47SEmmanuel Vadot dai3 { 5095def4c47SEmmanuel Vadot playback = <&ssi7>; 5105def4c47SEmmanuel Vadot }; 5115def4c47SEmmanuel Vadot dai4 { 5125def4c47SEmmanuel Vadot capture = <&ssi8>; 5135def4c47SEmmanuel Vadot }; 5145def4c47SEmmanuel Vadot }; 5155def4c47SEmmanuel Vadot 5165def4c47SEmmanuel Vadot /* assume audio-graph */ 5175def4c47SEmmanuel Vadot port { 5185def4c47SEmmanuel Vadot rsnd_endpoint: endpoint { 5195def4c47SEmmanuel Vadot remote-endpoint = <&codec_endpoint>; 5205def4c47SEmmanuel Vadot 5215def4c47SEmmanuel Vadot dai-format = "left_j"; 5225def4c47SEmmanuel Vadot bitclock-master = <&rsnd_endpoint0>; 5235def4c47SEmmanuel Vadot frame-master = <&rsnd_endpoint0>; 5245def4c47SEmmanuel Vadot 5255def4c47SEmmanuel Vadot playback = <&ssi0>, <&src0>, <&dvc0>; 5265def4c47SEmmanuel Vadot capture = <&ssi1>, <&src1>, <&dvc1>; 5275def4c47SEmmanuel Vadot }; 5285def4c47SEmmanuel Vadot }; 5295def4c47SEmmanuel Vadot }; 5305def4c47SEmmanuel Vadot 5315def4c47SEmmanuel Vadot /* assume audio-graph */ 5325def4c47SEmmanuel Vadot codec { 5335def4c47SEmmanuel Vadot port { 5345def4c47SEmmanuel Vadot codec_endpoint: endpoint { 5355def4c47SEmmanuel Vadot remote-endpoint = <&rsnd_endpoint>; 5365def4c47SEmmanuel Vadot }; 5375def4c47SEmmanuel Vadot }; 5385def4c47SEmmanuel Vadot }; 539