xref: /linux/Documentation/devicetree/bindings/sound/renesas,rsnd.txt (revision bb02714fe5f198c0f07a8039ebcc636c1bffbc03)
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