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: 517d0873ebSEmmanuel Vadot - enum: 527d0873ebSEmmanuel Vadot - renesas,rcar_sound-r8a779g0 # R-Car V4H 537d0873ebSEmmanuel Vadot - renesas,rcar_sound-r8a779h0 # R-Car V4M 54cb7aa33aSEmmanuel Vadot - const: renesas,rcar_sound-gen4 55cb7aa33aSEmmanuel Vadot # for Generic 565def4c47SEmmanuel Vadot - enum: 575def4c47SEmmanuel Vadot - renesas,rcar_sound-gen1 585def4c47SEmmanuel Vadot - renesas,rcar_sound-gen2 595def4c47SEmmanuel Vadot - renesas,rcar_sound-gen3 607d0873ebSEmmanuel Vadot - renesas,rcar_sound-gen4 615def4c47SEmmanuel Vadot 625def4c47SEmmanuel Vadot reg: 635def4c47SEmmanuel Vadot minItems: 1 645def4c47SEmmanuel Vadot maxItems: 5 655def4c47SEmmanuel Vadot 665def4c47SEmmanuel Vadot reg-names: 675def4c47SEmmanuel Vadot minItems: 1 685def4c47SEmmanuel Vadot maxItems: 5 695def4c47SEmmanuel Vadot 705def4c47SEmmanuel Vadot "#sound-dai-cells": 715def4c47SEmmanuel Vadot description: | 725def4c47SEmmanuel Vadot it must be 0 if your system is using single DAI 735def4c47SEmmanuel Vadot it must be 1 if your system is using multi DAIs 74cb7aa33aSEmmanuel Vadot This is used on simple-audio-card 755def4c47SEmmanuel Vadot enum: [0, 1] 765def4c47SEmmanuel Vadot 775def4c47SEmmanuel Vadot "#clock-cells": 785def4c47SEmmanuel Vadot description: | 795def4c47SEmmanuel Vadot it must be 0 if your system has audio_clkout 805def4c47SEmmanuel Vadot it must be 1 if your system has audio_clkout0/1/2/3 815def4c47SEmmanuel Vadot enum: [0, 1] 825def4c47SEmmanuel Vadot 83aa1a8ff2SEmmanuel Vadot "#address-cells": 84aa1a8ff2SEmmanuel Vadot const: 1 85aa1a8ff2SEmmanuel Vadot 86aa1a8ff2SEmmanuel Vadot "#size-cells": 87aa1a8ff2SEmmanuel Vadot const: 0 88aa1a8ff2SEmmanuel Vadot 895def4c47SEmmanuel Vadot clock-frequency: 905def4c47SEmmanuel Vadot description: for audio_clkout0/1/2/3 915def4c47SEmmanuel Vadot 925def4c47SEmmanuel Vadot clkout-lr-asynchronous: 935def4c47SEmmanuel Vadot description: audio_clkoutn is asynchronizes with lr-clock. 945def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 955def4c47SEmmanuel Vadot 965def4c47SEmmanuel Vadot power-domains: true 975def4c47SEmmanuel Vadot 985def4c47SEmmanuel Vadot resets: 995956d97fSEmmanuel Vadot minItems: 1 1005def4c47SEmmanuel Vadot maxItems: 11 1015def4c47SEmmanuel Vadot 1025def4c47SEmmanuel Vadot reset-names: 1035956d97fSEmmanuel Vadot minItems: 1 1045def4c47SEmmanuel Vadot maxItems: 11 1055def4c47SEmmanuel Vadot 1065def4c47SEmmanuel Vadot clocks: 1075def4c47SEmmanuel Vadot description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks. 1085def4c47SEmmanuel Vadot minItems: 1 1095def4c47SEmmanuel Vadot maxItems: 31 1105def4c47SEmmanuel Vadot 1115def4c47SEmmanuel Vadot clock-names: 1125def4c47SEmmanuel Vadot description: List of necessary clock names. 113fac71e4eSEmmanuel Vadot # details are defined below 1145def4c47SEmmanuel Vadot 115*b2d2a78aSEmmanuel Vadot post-init-providers: 116*b2d2a78aSEmmanuel Vadot description: At least if rsnd is using DPCM connection on Audio-Graph-Card2, 117*b2d2a78aSEmmanuel Vadot fw_devlink might doesn't have enough information to break the cycle. rsnd 118*b2d2a78aSEmmanuel Vadot driver will not be probed in such case. Same problem might occur with 119*b2d2a78aSEmmanuel Vadot Multi-CPU/Codec or Codec2Codec. 120*b2d2a78aSEmmanuel Vadot 121aa1a8ff2SEmmanuel Vadot # ports is below 1222eb4d8dcSEmmanuel Vadot port: 1238d13bc63SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/port-base 1248d13bc63SEmmanuel Vadot unevaluatedProperties: false 1258d13bc63SEmmanuel Vadot patternProperties: 1268d13bc63SEmmanuel Vadot "^endpoint(@[0-9a-f]+)?": 1278d13bc63SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/endpoint-base 1288d13bc63SEmmanuel Vadot properties: 1298d13bc63SEmmanuel Vadot playback: 1308d13bc63SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 1318d13bc63SEmmanuel Vadot capture: 1328d13bc63SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 1338d13bc63SEmmanuel Vadot unevaluatedProperties: false 1345def4c47SEmmanuel Vadot 135c9ccf3a3SEmmanuel Vadot rcar_sound,dvc: 1365def4c47SEmmanuel Vadot description: DVC subnode. 1375def4c47SEmmanuel Vadot type: object 1385def4c47SEmmanuel Vadot patternProperties: 1395def4c47SEmmanuel Vadot "^dvc-[0-1]$": 1405def4c47SEmmanuel Vadot type: object 1417ef62cebSEmmanuel Vadot additionalProperties: false 1427ef62cebSEmmanuel Vadot 1435def4c47SEmmanuel Vadot properties: 1445def4c47SEmmanuel Vadot dmas: 1455def4c47SEmmanuel Vadot maxItems: 1 1465def4c47SEmmanuel Vadot dma-names: 147fac71e4eSEmmanuel Vadot const: tx 1485def4c47SEmmanuel Vadot required: 1495def4c47SEmmanuel Vadot - dmas 1505def4c47SEmmanuel Vadot - dma-names 1515def4c47SEmmanuel Vadot additionalProperties: false 1525def4c47SEmmanuel Vadot 153c9ccf3a3SEmmanuel Vadot rcar_sound,mix: 1545def4c47SEmmanuel Vadot description: MIX subnode. 1555def4c47SEmmanuel Vadot type: object 1565def4c47SEmmanuel Vadot patternProperties: 1575def4c47SEmmanuel Vadot "^mix-[0-1]$": 1585def4c47SEmmanuel Vadot type: object 1597ef62cebSEmmanuel Vadot additionalProperties: false 1605def4c47SEmmanuel Vadot additionalProperties: false 1615def4c47SEmmanuel Vadot 162c9ccf3a3SEmmanuel Vadot rcar_sound,ctu: 1635def4c47SEmmanuel Vadot description: CTU subnode. 1645def4c47SEmmanuel Vadot type: object 1655def4c47SEmmanuel Vadot patternProperties: 1665def4c47SEmmanuel Vadot "^ctu-[0-7]$": 1675def4c47SEmmanuel Vadot type: object 1687ef62cebSEmmanuel Vadot additionalProperties: false 1695def4c47SEmmanuel Vadot additionalProperties: false 1705def4c47SEmmanuel Vadot 171c9ccf3a3SEmmanuel Vadot rcar_sound,src: 1725def4c47SEmmanuel Vadot description: SRC subnode. 1735def4c47SEmmanuel Vadot type: object 1745def4c47SEmmanuel Vadot patternProperties: 1755def4c47SEmmanuel Vadot "^src-[0-9]$": 1765def4c47SEmmanuel Vadot type: object 1777ef62cebSEmmanuel Vadot additionalProperties: false 1787ef62cebSEmmanuel Vadot 1795def4c47SEmmanuel Vadot properties: 1805def4c47SEmmanuel Vadot interrupts: 1815def4c47SEmmanuel Vadot maxItems: 1 1825def4c47SEmmanuel Vadot dmas: 1835def4c47SEmmanuel Vadot maxItems: 2 1845def4c47SEmmanuel Vadot dma-names: 1855def4c47SEmmanuel Vadot allOf: 1865def4c47SEmmanuel Vadot - items: 1875def4c47SEmmanuel Vadot enum: 1885def4c47SEmmanuel Vadot - tx 1895def4c47SEmmanuel Vadot - rx 1905def4c47SEmmanuel Vadot additionalProperties: false 1915def4c47SEmmanuel Vadot 192c9ccf3a3SEmmanuel Vadot rcar_sound,ssiu: 1935def4c47SEmmanuel Vadot description: SSIU subnode. 1945def4c47SEmmanuel Vadot type: object 1955def4c47SEmmanuel Vadot patternProperties: 1965def4c47SEmmanuel Vadot "^ssiu-[0-9]+$": 1975def4c47SEmmanuel Vadot type: object 1987ef62cebSEmmanuel Vadot additionalProperties: false 1997ef62cebSEmmanuel Vadot 2005def4c47SEmmanuel Vadot properties: 2015def4c47SEmmanuel Vadot dmas: 2025def4c47SEmmanuel Vadot maxItems: 2 2035def4c47SEmmanuel Vadot dma-names: 2045def4c47SEmmanuel Vadot allOf: 2055def4c47SEmmanuel Vadot - items: 2065def4c47SEmmanuel Vadot enum: 2075def4c47SEmmanuel Vadot - tx 2085def4c47SEmmanuel Vadot - rx 2095def4c47SEmmanuel Vadot required: 2105def4c47SEmmanuel Vadot - dmas 2115def4c47SEmmanuel Vadot - dma-names 2125def4c47SEmmanuel Vadot additionalProperties: false 2135def4c47SEmmanuel Vadot 214c9ccf3a3SEmmanuel Vadot rcar_sound,ssi: 2155def4c47SEmmanuel Vadot description: SSI subnode. 2165def4c47SEmmanuel Vadot type: object 2175def4c47SEmmanuel Vadot patternProperties: 2185def4c47SEmmanuel Vadot "^ssi-[0-9]$": 2195def4c47SEmmanuel Vadot type: object 2207ef62cebSEmmanuel Vadot additionalProperties: false 2217ef62cebSEmmanuel Vadot 2225def4c47SEmmanuel Vadot properties: 2235def4c47SEmmanuel Vadot interrupts: 2245def4c47SEmmanuel Vadot maxItems: 1 2255def4c47SEmmanuel Vadot dmas: 2265def4c47SEmmanuel Vadot minItems: 2 2275def4c47SEmmanuel Vadot maxItems: 4 2285def4c47SEmmanuel Vadot dma-names: 2295def4c47SEmmanuel Vadot allOf: 2305def4c47SEmmanuel Vadot - items: 2315def4c47SEmmanuel Vadot enum: 2325def4c47SEmmanuel Vadot - tx 2335def4c47SEmmanuel Vadot - rx 2345def4c47SEmmanuel Vadot - txu # if no ssiu node 2355def4c47SEmmanuel Vadot - rxu # if no ssiu node 2365def4c47SEmmanuel Vadot 2375def4c47SEmmanuel Vadot shared-pin: 2385def4c47SEmmanuel Vadot description: shared clock pin 2395def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2405def4c47SEmmanuel Vadot pio-transfer: 2415def4c47SEmmanuel Vadot description: PIO transfer mode 2425def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2435def4c47SEmmanuel Vadot no-busif: 2445def4c47SEmmanuel Vadot description: BUSIF is not used when [mem -> SSI] via DMA case 2455def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 2465def4c47SEmmanuel Vadot required: 2475def4c47SEmmanuel Vadot - interrupts 2485def4c47SEmmanuel Vadot additionalProperties: false 2495def4c47SEmmanuel Vadot 250aa1a8ff2SEmmanuel VadotpatternProperties: 2515def4c47SEmmanuel Vadot # For DAI base 252aa1a8ff2SEmmanuel Vadot 'rcar_sound,dai(@[0-9a-f]+)?$': 2535def4c47SEmmanuel Vadot description: DAI subnode. 2545def4c47SEmmanuel Vadot type: object 2555def4c47SEmmanuel Vadot patternProperties: 2565def4c47SEmmanuel Vadot "^dai([0-9]+)?$": 2575def4c47SEmmanuel Vadot type: object 2587ef62cebSEmmanuel Vadot additionalProperties: false 2597ef62cebSEmmanuel Vadot 2605def4c47SEmmanuel Vadot properties: 2615def4c47SEmmanuel Vadot playback: 2625def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 2635def4c47SEmmanuel Vadot capture: 2645def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 2655def4c47SEmmanuel Vadot anyOf: 2665def4c47SEmmanuel Vadot - required: 2675def4c47SEmmanuel Vadot - playback 2685def4c47SEmmanuel Vadot - required: 2695def4c47SEmmanuel Vadot - capture 2705def4c47SEmmanuel Vadot additionalProperties: false 2715def4c47SEmmanuel Vadot 272aa1a8ff2SEmmanuel Vadot 'ports(@[0-9a-f]+)?$': 273aa1a8ff2SEmmanuel Vadot $ref: audio-graph-port.yaml#/definitions/port-base 274aa1a8ff2SEmmanuel Vadot unevaluatedProperties: false 275aa1a8ff2SEmmanuel Vadot patternProperties: 276aa1a8ff2SEmmanuel Vadot '^port(@[0-9a-f]+)?$': 2778d13bc63SEmmanuel Vadot $ref: "#/properties/port" 278aa1a8ff2SEmmanuel Vadot 2795def4c47SEmmanuel Vadotrequired: 2805def4c47SEmmanuel Vadot - compatible 2815def4c47SEmmanuel Vadot - reg 2825def4c47SEmmanuel Vadot - reg-names 2835def4c47SEmmanuel Vadot - clocks 2845def4c47SEmmanuel Vadot - clock-names 2855def4c47SEmmanuel Vadot 2865def4c47SEmmanuel VadotallOf: 2878bab661aSEmmanuel Vadot - $ref: dai-common.yaml# 288fac71e4eSEmmanuel Vadot 289fac71e4eSEmmanuel Vadot # -------------------- 290fac71e4eSEmmanuel Vadot # reg/reg-names 291fac71e4eSEmmanuel Vadot # -------------------- 292fac71e4eSEmmanuel Vadot # for Gen1 2935def4c47SEmmanuel Vadot - if: 2945def4c47SEmmanuel Vadot properties: 2955def4c47SEmmanuel Vadot compatible: 2965def4c47SEmmanuel Vadot contains: 2975def4c47SEmmanuel Vadot const: renesas,rcar_sound-gen1 2985def4c47SEmmanuel Vadot then: 2995def4c47SEmmanuel Vadot properties: 3005def4c47SEmmanuel Vadot reg: 3015def4c47SEmmanuel Vadot maxItems: 3 3025def4c47SEmmanuel Vadot reg-names: 3035def4c47SEmmanuel Vadot items: 3045def4c47SEmmanuel Vadot enum: 305*b2d2a78aSEmmanuel Vadot - sru 3065def4c47SEmmanuel Vadot - ssi 3075def4c47SEmmanuel Vadot - adg 308fac71e4eSEmmanuel Vadot # for Gen2/Gen3 309fac71e4eSEmmanuel Vadot - if: 310fac71e4eSEmmanuel Vadot properties: 311fac71e4eSEmmanuel Vadot compatible: 312fac71e4eSEmmanuel Vadot contains: 313fac71e4eSEmmanuel Vadot enum: 314fac71e4eSEmmanuel Vadot - renesas,rcar_sound-gen2 315fac71e4eSEmmanuel Vadot - renesas,rcar_sound-gen3 316fac71e4eSEmmanuel Vadot then: 3175def4c47SEmmanuel Vadot properties: 3185def4c47SEmmanuel Vadot reg: 319cb7aa33aSEmmanuel Vadot minItems: 5 3205def4c47SEmmanuel Vadot reg-names: 3215def4c47SEmmanuel Vadot items: 3225def4c47SEmmanuel Vadot enum: 3235def4c47SEmmanuel Vadot - scu 3245def4c47SEmmanuel Vadot - adg 3255def4c47SEmmanuel Vadot - ssiu 3265def4c47SEmmanuel Vadot - ssi 3275def4c47SEmmanuel Vadot - audmapp 328fac71e4eSEmmanuel Vadot # for Gen4 329fac71e4eSEmmanuel Vadot - if: 330fac71e4eSEmmanuel Vadot properties: 331fac71e4eSEmmanuel Vadot compatible: 332fac71e4eSEmmanuel Vadot contains: 333fac71e4eSEmmanuel Vadot const: renesas,rcar_sound-gen4 334fac71e4eSEmmanuel Vadot then: 335fac71e4eSEmmanuel Vadot properties: 336fac71e4eSEmmanuel Vadot reg: 337fac71e4eSEmmanuel Vadot maxItems: 4 338fac71e4eSEmmanuel Vadot reg-names: 339fac71e4eSEmmanuel Vadot items: 340fac71e4eSEmmanuel Vadot enum: 341fac71e4eSEmmanuel Vadot - adg 342fac71e4eSEmmanuel Vadot - ssiu 343fac71e4eSEmmanuel Vadot - ssi 344fac71e4eSEmmanuel Vadot - sdmc 345fac71e4eSEmmanuel Vadot 346fac71e4eSEmmanuel Vadot # -------------------- 347fac71e4eSEmmanuel Vadot # clock-names 348fac71e4eSEmmanuel Vadot # -------------------- 349fac71e4eSEmmanuel Vadot - if: 350fac71e4eSEmmanuel Vadot properties: 351fac71e4eSEmmanuel Vadot compatible: 352fac71e4eSEmmanuel Vadot contains: 353fac71e4eSEmmanuel Vadot const: renesas,rcar_sound-gen4 354fac71e4eSEmmanuel Vadot then: 355fac71e4eSEmmanuel Vadot properties: 356fac71e4eSEmmanuel Vadot clock-names: 357fac71e4eSEmmanuel Vadot maxItems: 3 358fac71e4eSEmmanuel Vadot items: 359fac71e4eSEmmanuel Vadot enum: 360fac71e4eSEmmanuel Vadot - ssi.0 361fac71e4eSEmmanuel Vadot - ssiu.0 362fac71e4eSEmmanuel Vadot - clkin 363fac71e4eSEmmanuel Vadot else: 364fac71e4eSEmmanuel Vadot properties: 365fac71e4eSEmmanuel Vadot clock-names: 366fac71e4eSEmmanuel Vadot minItems: 1 367fac71e4eSEmmanuel Vadot maxItems: 31 368fac71e4eSEmmanuel Vadot items: 369fac71e4eSEmmanuel Vadot oneOf: 370fac71e4eSEmmanuel Vadot - const: ssi-all 371fac71e4eSEmmanuel Vadot - pattern: '^ssi\.[0-9]$' 372fac71e4eSEmmanuel Vadot - pattern: '^src\.[0-9]$' 373fac71e4eSEmmanuel Vadot - pattern: '^mix\.[0-1]$' 374fac71e4eSEmmanuel Vadot - pattern: '^ctu\.[0-1]$' 375fac71e4eSEmmanuel Vadot - pattern: '^dvc\.[0-1]$' 376fac71e4eSEmmanuel Vadot - pattern: '^clk_(a|b|c|i)$' 3775def4c47SEmmanuel Vadot 3788bab661aSEmmanuel VadotunevaluatedProperties: false 3795def4c47SEmmanuel Vadot 3805def4c47SEmmanuel Vadotexamples: 3815def4c47SEmmanuel Vadot - | 382fac71e4eSEmmanuel Vadot #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 383fac71e4eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 384fac71e4eSEmmanuel Vadot #include <dt-bindings/power/r8a7790-sysc.h> 3855def4c47SEmmanuel Vadot rcar_sound: sound@ec500000 { 3865def4c47SEmmanuel Vadot #sound-dai-cells = <1>; 3875def4c47SEmmanuel Vadot compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2"; 3885def4c47SEmmanuel Vadot reg = <0xec500000 0x1000>, /* SCU */ 3895def4c47SEmmanuel Vadot <0xec5a0000 0x100>, /* ADG */ 3905def4c47SEmmanuel Vadot <0xec540000 0x1000>, /* SSIU */ 391fac71e4eSEmmanuel Vadot <0xec541000 0x280>, /* SSI */ 3925def4c47SEmmanuel Vadot <0xec740000 0x200>; /* Audio DMAC peri peri*/ 3935def4c47SEmmanuel Vadot reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 3945def4c47SEmmanuel Vadot 395fac71e4eSEmmanuel Vadot clocks = <&cpg CPG_MOD 1005>, /* SSI-ALL */ 396fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, /* SSI9, SSI8 */ 397fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, /* SSI7, SSI6 */ 398fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, /* SSI5, SSI4 */ 399fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, /* SSI3, SSI2 */ 400fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, /* SSI1, SSI0 */ 401fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, /* SRC9, SRC8 */ 402fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, /* SRC7, SRC6 */ 403fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, /* SRC5, SRC4 */ 404fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, /* SRC3, SRC2 */ 405fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, /* SRC1, SRC0 */ 406fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* MIX1, MIX0 */ 407fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1020>, <&cpg CPG_MOD 1021>, /* CTU1, CTU0 */ 408fac71e4eSEmmanuel Vadot <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>, /* DVC0, DVC1 */ 4095def4c47SEmmanuel Vadot <&audio_clk_a>, <&audio_clk_b>, /* CLKA, CLKB */ 4105def4c47SEmmanuel Vadot <&audio_clk_c>, <&audio_clk_i>; /* CLKC, CLKI */ 4115def4c47SEmmanuel Vadot 4125def4c47SEmmanuel Vadot clock-names = "ssi-all", 4135def4c47SEmmanuel Vadot "ssi.9", "ssi.8", 4145def4c47SEmmanuel Vadot "ssi.7", "ssi.6", 4155def4c47SEmmanuel Vadot "ssi.5", "ssi.4", 4165def4c47SEmmanuel Vadot "ssi.3", "ssi.2", 4175def4c47SEmmanuel Vadot "ssi.1", "ssi.0", 4185def4c47SEmmanuel Vadot "src.9", "src.8", 4195def4c47SEmmanuel Vadot "src.7", "src.6", 4205def4c47SEmmanuel Vadot "src.5", "src.4", 4215def4c47SEmmanuel Vadot "src.3", "src.2", 4225def4c47SEmmanuel Vadot "src.1", "src.0", 4235def4c47SEmmanuel Vadot "mix.1", "mix.0", 4245def4c47SEmmanuel Vadot "ctu.1", "ctu.0", 4255def4c47SEmmanuel Vadot "dvc.0", "dvc.1", 4265def4c47SEmmanuel Vadot "clk_a", "clk_b", 4275def4c47SEmmanuel Vadot "clk_c", "clk_i"; 4285def4c47SEmmanuel Vadot 429fac71e4eSEmmanuel Vadot power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 430fac71e4eSEmmanuel Vadot 431fac71e4eSEmmanuel Vadot resets = <&cpg 1005>, 432fac71e4eSEmmanuel Vadot <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>, 433fac71e4eSEmmanuel Vadot <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>, 434fac71e4eSEmmanuel Vadot <&cpg 1014>, <&cpg 1015>; 435fac71e4eSEmmanuel Vadot reset-names = "ssi-all", 436fac71e4eSEmmanuel Vadot "ssi.9", "ssi.8", "ssi.7", "ssi.6", 437fac71e4eSEmmanuel Vadot "ssi.5", "ssi.4", "ssi.3", "ssi.2", 438fac71e4eSEmmanuel Vadot "ssi.1", "ssi.0"; 439fac71e4eSEmmanuel Vadot 4405def4c47SEmmanuel Vadot rcar_sound,dvc { 4415def4c47SEmmanuel Vadot dvc0: dvc-0 { 4425def4c47SEmmanuel Vadot dmas = <&audma0 0xbc>; 4435def4c47SEmmanuel Vadot dma-names = "tx"; 4445def4c47SEmmanuel Vadot }; 4455def4c47SEmmanuel Vadot dvc1: dvc-1 { 4465def4c47SEmmanuel Vadot dmas = <&audma0 0xbe>; 4475def4c47SEmmanuel Vadot dma-names = "tx"; 4485def4c47SEmmanuel Vadot }; 4495def4c47SEmmanuel Vadot }; 4505def4c47SEmmanuel Vadot 4515def4c47SEmmanuel Vadot rcar_sound,mix { 4525def4c47SEmmanuel Vadot mix0: mix-0 { }; 4535def4c47SEmmanuel Vadot mix1: mix-1 { }; 4545def4c47SEmmanuel Vadot }; 4555def4c47SEmmanuel Vadot 4565def4c47SEmmanuel Vadot rcar_sound,ctu { 4575def4c47SEmmanuel Vadot ctu00: ctu-0 { }; 4585def4c47SEmmanuel Vadot ctu01: ctu-1 { }; 4595def4c47SEmmanuel Vadot ctu02: ctu-2 { }; 4605def4c47SEmmanuel Vadot ctu03: ctu-3 { }; 4615def4c47SEmmanuel Vadot ctu10: ctu-4 { }; 4625def4c47SEmmanuel Vadot ctu11: ctu-5 { }; 4635def4c47SEmmanuel Vadot ctu12: ctu-6 { }; 4645def4c47SEmmanuel Vadot ctu13: ctu-7 { }; 4655def4c47SEmmanuel Vadot }; 4665def4c47SEmmanuel Vadot 4675def4c47SEmmanuel Vadot rcar_sound,src { 4685def4c47SEmmanuel Vadot src0: src-0 { 4695def4c47SEmmanuel Vadot status = "disabled"; 4705def4c47SEmmanuel Vadot }; 4715def4c47SEmmanuel Vadot src1: src-1 { 472fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 4735def4c47SEmmanuel Vadot dmas = <&audma0 0x87>, <&audma1 0x9c>; 4745def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4755def4c47SEmmanuel Vadot }; 4765def4c47SEmmanuel Vadot /* skip after src-2 */ 4775def4c47SEmmanuel Vadot }; 4785def4c47SEmmanuel Vadot 4795def4c47SEmmanuel Vadot rcar_sound,ssiu { 4805def4c47SEmmanuel Vadot ssiu00: ssiu-0 { 4815def4c47SEmmanuel Vadot dmas = <&audma0 0x15>, <&audma1 0x16>; 4825def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4835def4c47SEmmanuel Vadot }; 4845def4c47SEmmanuel Vadot ssiu01: ssiu-1 { 4855def4c47SEmmanuel Vadot dmas = <&audma0 0x35>, <&audma1 0x36>; 4865def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4875def4c47SEmmanuel Vadot }; 4885def4c47SEmmanuel Vadot /* skip after ssiu-2 */ 4895def4c47SEmmanuel Vadot }; 4905def4c47SEmmanuel Vadot 4915def4c47SEmmanuel Vadot rcar_sound,ssi { 4925def4c47SEmmanuel Vadot ssi0: ssi-0 { 493fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 4945def4c47SEmmanuel Vadot dmas = <&audma0 0x01>, <&audma1 0x02>; 4955def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 4965def4c47SEmmanuel Vadot }; 4975def4c47SEmmanuel Vadot ssi1: ssi-1 { 498fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 4995def4c47SEmmanuel Vadot dmas = <&audma0 0x03>, <&audma1 0x04>; 5005def4c47SEmmanuel Vadot dma-names = "rx", "tx"; 5015def4c47SEmmanuel Vadot }; 5025def4c47SEmmanuel Vadot /* skip other ssi-2 */ 5035def4c47SEmmanuel Vadot }; 5045def4c47SEmmanuel Vadot 5055def4c47SEmmanuel Vadot /* DAI base */ 5065def4c47SEmmanuel Vadot rcar_sound,dai { 5075def4c47SEmmanuel Vadot dai0 { 5085def4c47SEmmanuel Vadot playback = <&ssi5>, <&src5>; 5095def4c47SEmmanuel Vadot capture = <&ssi6>; 5105def4c47SEmmanuel Vadot }; 5115def4c47SEmmanuel Vadot dai1 { 5125def4c47SEmmanuel Vadot playback = <&ssi3>; 5135def4c47SEmmanuel Vadot }; 5145def4c47SEmmanuel Vadot dai2 { 5155def4c47SEmmanuel Vadot capture = <&ssi4>; 5165def4c47SEmmanuel Vadot }; 5175def4c47SEmmanuel Vadot dai3 { 5185def4c47SEmmanuel Vadot playback = <&ssi7>; 5195def4c47SEmmanuel Vadot }; 5205def4c47SEmmanuel Vadot dai4 { 5215def4c47SEmmanuel Vadot capture = <&ssi8>; 5225def4c47SEmmanuel Vadot }; 5235def4c47SEmmanuel Vadot }; 5245def4c47SEmmanuel Vadot 5255def4c47SEmmanuel Vadot /* assume audio-graph */ 5265def4c47SEmmanuel Vadot port { 5275def4c47SEmmanuel Vadot rsnd_endpoint: endpoint { 5285def4c47SEmmanuel Vadot remote-endpoint = <&codec_endpoint>; 5295def4c47SEmmanuel Vadot 5305def4c47SEmmanuel Vadot dai-format = "left_j"; 5315def4c47SEmmanuel Vadot bitclock-master = <&rsnd_endpoint0>; 5325def4c47SEmmanuel Vadot frame-master = <&rsnd_endpoint0>; 5335def4c47SEmmanuel Vadot 5345def4c47SEmmanuel Vadot playback = <&ssi0>, <&src0>, <&dvc0>; 5355def4c47SEmmanuel Vadot capture = <&ssi1>, <&src1>, <&dvc1>; 5365def4c47SEmmanuel Vadot }; 5375def4c47SEmmanuel Vadot }; 5385def4c47SEmmanuel Vadot }; 5395def4c47SEmmanuel Vadot 5405def4c47SEmmanuel Vadot /* assume audio-graph */ 5415def4c47SEmmanuel Vadot codec { 5425def4c47SEmmanuel Vadot port { 5435def4c47SEmmanuel Vadot codec_endpoint: endpoint { 5445def4c47SEmmanuel Vadot remote-endpoint = <&rsnd_endpoint>; 5455def4c47SEmmanuel Vadot }; 5465def4c47SEmmanuel Vadot }; 5475def4c47SEmmanuel Vadot }; 548