190e8e50fSKuninori MorimotoRenesas R-Car sound 290e8e50fSKuninori Morimoto 390e8e50fSKuninori MorimotoRequired properties: 456ba98acSGeert Uytterhoeven- compatible : "renesas,rcar_sound-<soctype>", fallbacks 556ba98acSGeert Uytterhoeven "renesas,rcar_sound-gen1" if generation1, and 690e8e50fSKuninori Morimoto "renesas,rcar_sound-gen2" if generation2 756ba98acSGeert Uytterhoeven Examples with soctypes are: 856ba98acSGeert Uytterhoeven - "renesas,rcar_sound-r8a7790" (R-Car H2) 956ba98acSGeert Uytterhoeven - "renesas,rcar_sound-r8a7791" (R-Car M2-W) 1090e8e50fSKuninori Morimoto- reg : Should contain the register physical address. 1190e8e50fSKuninori Morimoto required register is 1290e8e50fSKuninori Morimoto SRU/ADG/SSI if generation1 1390e8e50fSKuninori Morimoto SRU/ADG/SSIU/SSI if generation2 148bab0dd5SKuninori Morimoto- rcar_sound,ssi : Should contain SSI feature. 158bab0dd5SKuninori Morimoto The number of SSI subnode should be same as HW. 168bab0dd5SKuninori Morimoto see below for detail. 178bab0dd5SKuninori Morimoto- rcar_sound,src : Should contain SRC feature. 188bab0dd5SKuninori Morimoto The number of SRC subnode should be same as HW. 198bab0dd5SKuninori Morimoto see below for detail. 2034cb6123SKuninori Morimoto- rcar_sound,dvc : Should contain DVC feature. 2134cb6123SKuninori Morimoto The number of DVC subnode should be same as HW. 2234cb6123SKuninori Morimoto see below for detail. 238bab0dd5SKuninori Morimoto- rcar_sound,dai : DAI contents. 248bab0dd5SKuninori Morimoto The number of DAI subnode should be same as HW. 258bab0dd5SKuninori Morimoto see below for detail. 2690e8e50fSKuninori Morimoto 2790e8e50fSKuninori MorimotoSSI subnode properties: 2890e8e50fSKuninori Morimoto- interrupts : Should contain SSI interrupt for PIO transfer 2990e8e50fSKuninori Morimoto- shared-pin : if shared clock pin 30199e7688SKuninori Morimoto- pio-transfer : use PIO transfer mode 31d9288d0bSKuninori Morimoto- no-busif : BUSIF is not ussed when [mem -> SSI] via DMA case 3290e8e50fSKuninori Morimoto 338bab0dd5SKuninori MorimotoSRC subnode properties: 348bab0dd5SKuninori Morimotono properties at this point 358bab0dd5SKuninori Morimoto 3690e8e50fSKuninori MorimotoDAI subnode properties: 3790e8e50fSKuninori Morimoto- playback : list of playback modules 3890e8e50fSKuninori Morimoto- capture : list of capture modules 3990e8e50fSKuninori Morimoto 4090e8e50fSKuninori MorimotoExample: 4190e8e50fSKuninori Morimoto 4256ba98acSGeert Uytterhoevenrcar_sound: rcar_sound@ec500000 { 4390e8e50fSKuninori Morimoto #sound-dai-cells = <1>; 4456ba98acSGeert Uytterhoeven compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2"; 4590e8e50fSKuninori Morimoto reg = <0 0xec500000 0 0x1000>, /* SCU */ 4690e8e50fSKuninori Morimoto <0 0xec5a0000 0 0x100>, /* ADG */ 4790e8e50fSKuninori Morimoto <0 0xec540000 0 0x1000>, /* SSIU */ 4890e8e50fSKuninori Morimoto <0 0xec541000 0 0x1280>; /* SSI */ 4990e8e50fSKuninori Morimoto 50*bb02714fSKuninori Morimoto clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>, 51*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>, 52*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>, 53*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SSI5>, <&mstp10_clks R8A7790_CLK_SSI4>, 54*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SSI3>, <&mstp10_clks R8A7790_CLK_SSI2>, 55*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SSI1>, <&mstp10_clks R8A7790_CLK_SSI0>, 56*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_SRC9>, <&mstp10_clks R8A7790_CLK_SCU_SRC8>, 57*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_SRC7>, <&mstp10_clks R8A7790_CLK_SCU_SRC6>, 58*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_SRC5>, <&mstp10_clks R8A7790_CLK_SCU_SRC4>, 59*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_SRC3>, <&mstp10_clks R8A7790_CLK_SCU_SRC2>, 60*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_SRC1>, <&mstp10_clks R8A7790_CLK_SCU_SRC0>, 61*bb02714fSKuninori Morimoto <&mstp10_clks R8A7790_CLK_SCU_DVC0>, <&mstp10_clks R8A7790_CLK_SCU_DVC1>, 62*bb02714fSKuninori Morimoto <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>; 63*bb02714fSKuninori Morimoto clock-names = "ssi-all", 64*bb02714fSKuninori Morimoto "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5", 65*bb02714fSKuninori Morimoto "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0", 66*bb02714fSKuninori Morimoto "src.9", "src.8", "src.7", "src.6", "src.5", 67*bb02714fSKuninori Morimoto "src.4", "src.3", "src.2", "src.1", "src.0", 68*bb02714fSKuninori Morimoto "dvc.0", "dvc.1", 69*bb02714fSKuninori Morimoto "clk_a", "clk_b", "clk_c", "clk_i"; 70*bb02714fSKuninori Morimoto 7134cb6123SKuninori Morimoto rcar_sound,dvc { 7234cb6123SKuninori Morimoto dvc0: dvc@0 { }; 7334cb6123SKuninori Morimoto dvc1: dvc@1 { }; 7434cb6123SKuninori Morimoto }; 7534cb6123SKuninori Morimoto 7690e8e50fSKuninori Morimoto rcar_sound,src { 775cf4f686SKuninori Morimoto src0: src@0 { 785cf4f686SKuninori Morimoto interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>; 795cf4f686SKuninori Morimoto }; 805cf4f686SKuninori Morimoto src1: src@1 { 815cf4f686SKuninori Morimoto interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>; 825cf4f686SKuninori Morimoto }; 835cf4f686SKuninori Morimoto src2: src@2 { 845cf4f686SKuninori Morimoto interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>; 855cf4f686SKuninori Morimoto }; 865cf4f686SKuninori Morimoto src3: src@3 { 875cf4f686SKuninori Morimoto interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>; 885cf4f686SKuninori Morimoto }; 895cf4f686SKuninori Morimoto src4: src@4 { 905cf4f686SKuninori Morimoto interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>; 915cf4f686SKuninori Morimoto }; 925cf4f686SKuninori Morimoto src5: src@5 { 935cf4f686SKuninori Morimoto interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>; 945cf4f686SKuninori Morimoto }; 955cf4f686SKuninori Morimoto src6: src@6 { 965cf4f686SKuninori Morimoto interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>; 975cf4f686SKuninori Morimoto }; 985cf4f686SKuninori Morimoto src7: src@7 { 995cf4f686SKuninori Morimoto interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>; 1005cf4f686SKuninori Morimoto }; 1015cf4f686SKuninori Morimoto src8: src@8 { 1025cf4f686SKuninori Morimoto interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>; 1035cf4f686SKuninori Morimoto }; 1045cf4f686SKuninori Morimoto src9: src@9 { 1055cf4f686SKuninori Morimoto interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>; 1065cf4f686SKuninori Morimoto }; 10790e8e50fSKuninori Morimoto }; 10890e8e50fSKuninori Morimoto 10990e8e50fSKuninori Morimoto rcar_sound,ssi { 11090e8e50fSKuninori Morimoto ssi0: ssi@0 { 11190e8e50fSKuninori Morimoto interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; 11290e8e50fSKuninori Morimoto }; 11390e8e50fSKuninori Morimoto ssi1: ssi@1 { 11490e8e50fSKuninori Morimoto interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; 11590e8e50fSKuninori Morimoto }; 11690e8e50fSKuninori Morimoto ssi2: ssi@2 { 11790e8e50fSKuninori Morimoto interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; 11890e8e50fSKuninori Morimoto }; 11990e8e50fSKuninori Morimoto ssi3: ssi@3 { 12090e8e50fSKuninori Morimoto interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; 12190e8e50fSKuninori Morimoto }; 12290e8e50fSKuninori Morimoto ssi4: ssi@4 { 12390e8e50fSKuninori Morimoto interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; 12490e8e50fSKuninori Morimoto }; 12590e8e50fSKuninori Morimoto ssi5: ssi@5 { 12690e8e50fSKuninori Morimoto interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; 12790e8e50fSKuninori Morimoto }; 12890e8e50fSKuninori Morimoto ssi6: ssi@6 { 12990e8e50fSKuninori Morimoto interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; 13090e8e50fSKuninori Morimoto }; 13190e8e50fSKuninori Morimoto ssi7: ssi@7 { 13290e8e50fSKuninori Morimoto interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; 13390e8e50fSKuninori Morimoto }; 13490e8e50fSKuninori Morimoto ssi8: ssi@8 { 13590e8e50fSKuninori Morimoto interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; 13690e8e50fSKuninori Morimoto }; 13790e8e50fSKuninori Morimoto ssi9: ssi@9 { 13890e8e50fSKuninori Morimoto interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; 13990e8e50fSKuninori Morimoto }; 14090e8e50fSKuninori Morimoto }; 14190e8e50fSKuninori Morimoto 14290e8e50fSKuninori Morimoto rcar_sound,dai { 14390e8e50fSKuninori Morimoto dai0 { 14490e8e50fSKuninori Morimoto playback = <&ssi5 &src5>; 14590e8e50fSKuninori Morimoto capture = <&ssi6>; 14690e8e50fSKuninori Morimoto }; 14790e8e50fSKuninori Morimoto dai1 { 14890e8e50fSKuninori Morimoto playback = <&ssi3>; 14990e8e50fSKuninori Morimoto }; 15090e8e50fSKuninori Morimoto dai2 { 15190e8e50fSKuninori Morimoto capture = <&ssi4>; 15290e8e50fSKuninori Morimoto }; 15390e8e50fSKuninori Morimoto dai3 { 15490e8e50fSKuninori Morimoto playback = <&ssi7>; 15590e8e50fSKuninori Morimoto }; 15690e8e50fSKuninori Morimoto dai4 { 15790e8e50fSKuninori Morimoto capture = <&ssi8>; 15890e8e50fSKuninori Morimoto }; 15990e8e50fSKuninori Morimoto }; 16090e8e50fSKuninori Morimoto}; 161