xref: /linux/Documentation/devicetree/bindings/sound/renesas,rsnd.txt (revision 150a6dc8fc764c1912fa2a46e18d1505dfd3536f)
190e8e50fSKuninori MorimotoRenesas R-Car sound
290e8e50fSKuninori Morimoto
3f1511a14SKuninori Morimoto=============================================
4f1511a14SKuninori Morimoto* Modules
5f1511a14SKuninori Morimoto=============================================
6f1511a14SKuninori Morimoto
7b0a858a4SBiju DasRenesas R-Car and RZ/G sound is constructed from below modules
8f1511a14SKuninori Morimoto(for Gen2 or later)
9f1511a14SKuninori Morimoto
10f1511a14SKuninori Morimoto SCU		: Sampling Rate Converter Unit
11f1511a14SKuninori Morimoto  - SRC		: Sampling Rate Converter
12f1511a14SKuninori Morimoto  - CMD
13f1511a14SKuninori Morimoto   - CTU	: Channel Transfer Unit
14f1511a14SKuninori Morimoto   - MIX	: Mixer
15f1511a14SKuninori Morimoto   - DVC	: Digital Volume and Mute Function
16f1511a14SKuninori Morimoto SSIU		: Serial Sound Interface Unit
17f1511a14SKuninori Morimoto SSI		: Serial Sound Interface
18f1511a14SKuninori Morimoto
19f1511a14SKuninori MorimotoSee detail of each module's channels, connection, limitation on datasheet
20f1511a14SKuninori Morimoto
21f1511a14SKuninori Morimoto=============================================
22f1511a14SKuninori Morimoto* Multi channel
23f1511a14SKuninori Morimoto=============================================
24f1511a14SKuninori Morimoto
25f1511a14SKuninori MorimotoMulti channel is supported by Multi-SSI, or TDM-SSI.
26f1511a14SKuninori Morimoto
27f1511a14SKuninori Morimoto Multi-SSI	: 6ch case, you can use stereo x 3 SSI
28f1511a14SKuninori Morimoto TDM-SSI	: 6ch case, you can use TDM
29f1511a14SKuninori Morimoto
30f1511a14SKuninori Morimoto=============================================
31f1511a14SKuninori Morimoto* Enable/Disable each modules
32f1511a14SKuninori Morimoto=============================================
33f1511a14SKuninori Morimoto
34f1511a14SKuninori MorimotoSee datasheet to check SRC/CTU/MIX/DVC connect-limitation.
35f1511a14SKuninori MorimotoDT controls enabling/disabling module.
36f1511a14SKuninori Morimoto${LINUX}/arch/arm/boot/dts/r8a7790-lager.dts can be good example.
37f1511a14SKuninori MorimotoThis is example of
38f1511a14SKuninori Morimoto
39f1511a14SKuninori MorimotoPlayback: [MEM] -> [SRC2] -> [DVC0] -> [SSIU0/SSI0] -> [codec]
40f1511a14SKuninori MorimotoCapture:  [MEM] <- [DVC1] <- [SRC3] <- [SSIU1/SSI1] <- [codec]
41f1511a14SKuninori Morimoto
42f1511a14SKuninori Morimoto	&rcar_sound {
43f1511a14SKuninori Morimoto		...
44f1511a14SKuninori Morimoto		rcar_sound,dai {
45f1511a14SKuninori Morimoto			dai0 {
46f1511a14SKuninori Morimoto				playback = <&ssi0 &src2 &dvc0>;
47f1511a14SKuninori Morimoto				capture  = <&ssi1 &src3 &dvc1>;
48f1511a14SKuninori Morimoto			};
49f1511a14SKuninori Morimoto		};
50f1511a14SKuninori Morimoto	};
51f1511a14SKuninori Morimoto
52f1511a14SKuninori MorimotoYou can use below.
53f1511a14SKuninori Morimoto${LINUX}/arch/arm/boot/dts/r8a7790.dts can be good example.
54f1511a14SKuninori Morimoto
55f1511a14SKuninori Morimoto	&src0	&ctu00	&mix0	&dvc0	&ssi0
56f1511a14SKuninori Morimoto	&src1	&ctu01	&mix1	&dvc1	&ssi1
57f1511a14SKuninori Morimoto	&src2	&ctu02			&ssi2
58f1511a14SKuninori Morimoto	&src3	&ctu03			&ssi3
59f1511a14SKuninori Morimoto	&src4				&ssi4
60f1511a14SKuninori Morimoto	&src5	&ctu10			&ssi5
61f1511a14SKuninori Morimoto	&src6	&ctu11			&ssi6
62f1511a14SKuninori Morimoto	&src7	&ctu12			&ssi7
63f1511a14SKuninori Morimoto	&src8	&ctu13			&ssi8
64f1511a14SKuninori Morimoto	&src9				&ssi9
65f1511a14SKuninori Morimoto
66f1511a14SKuninori Morimoto=============================================
67f1511a14SKuninori Morimoto* SRC (Sampling Rate Converter)
68f1511a14SKuninori Morimoto=============================================
69f1511a14SKuninori Morimoto
70f1511a14SKuninori Morimoto [xx]Hz        [yy]Hz
71f1511a14SKuninori Morimoto ------> [SRC] ------>
72f1511a14SKuninori Morimoto
73f1511a14SKuninori MorimotoSRC can convert [xx]Hz to [yy]Hz. Then, it has below 2 modes
74f1511a14SKuninori Morimoto
75f1511a14SKuninori Morimoto Asynchronous mode:	input data / output data are based on different clocks.
76f1511a14SKuninori Morimoto			you can use this mode on Playback / Capture
77f1511a14SKuninori Morimoto Synchronous mode:	input data / output data are based on same clocks.
78f1511a14SKuninori Morimoto			This mode will be used if system doesn't have its input clock,
79f1511a14SKuninori Morimoto			for example digital TV case.
80f1511a14SKuninori Morimoto			you can use this mode on Playback
81f1511a14SKuninori Morimoto
82f1511a14SKuninori Morimoto------------------
83f1511a14SKuninori Morimoto**     Asynchronous mode
84f1511a14SKuninori Morimoto------------------
85f1511a14SKuninori Morimoto
860378bb96SKuninori MorimotoYou need to use "simple-scu-audio-card" sound card for it.
87f1511a14SKuninori Morimotoexample)
88f1511a14SKuninori Morimoto
89f1511a14SKuninori Morimoto	sound {
900378bb96SKuninori Morimoto		compatible = "simple-scu-audio-card";
91f1511a14SKuninori Morimoto		...
92f1511a14SKuninori Morimoto		/*
93f1511a14SKuninori Morimoto		 * SRC Asynchronous mode setting
94f1511a14SKuninori Morimoto		 * Playback:
95f1511a14SKuninori Morimoto		 * All input data will be converted to 48kHz
96f1511a14SKuninori Morimoto		 * Capture:
97f1511a14SKuninori Morimoto		 * Inputed 48kHz data will be converted to
98f1511a14SKuninori Morimoto		 * system specified Hz
99f1511a14SKuninori Morimoto		 */
1000378bb96SKuninori Morimoto		simple-audio-card,convert-rate = <48000>;
101f1511a14SKuninori Morimoto		...
1020378bb96SKuninori Morimoto		simple-audio-card,cpu {
103f1511a14SKuninori Morimoto			sound-dai = <&rcar_sound>;
104f1511a14SKuninori Morimoto		};
1050378bb96SKuninori Morimoto		simple-audio-card,codec {
106f1511a14SKuninori Morimoto			...
107f1511a14SKuninori Morimoto		};
108f1511a14SKuninori Morimoto	};
109f1511a14SKuninori Morimoto
110f1511a14SKuninori Morimoto------------------
111f1511a14SKuninori Morimoto**     Synchronous mode
112f1511a14SKuninori Morimoto------------------
113f1511a14SKuninori Morimoto
114f1511a14SKuninori Morimoto	> amixer set "SRC Out Rate" on
115f1511a14SKuninori Morimoto	> aplay xxxx.wav
116f1511a14SKuninori Morimoto	> amixer set "SRC Out Rate" 48000
117f1511a14SKuninori Morimoto	> amixer set "SRC Out Rate" 44100
118f1511a14SKuninori Morimoto
119f1511a14SKuninori Morimoto=============================================
120f1511a14SKuninori Morimoto* CTU (Channel Transfer Unit)
121f1511a14SKuninori Morimoto=============================================
122f1511a14SKuninori Morimoto
123f1511a14SKuninori Morimoto [xx]ch        [yy]ch
124f1511a14SKuninori Morimoto ------> [CTU] -------->
125f1511a14SKuninori Morimoto
126f1511a14SKuninori MorimotoCTU can convert [xx]ch to [yy]ch, or exchange outputed channel.
127f1511a14SKuninori MorimotoCTU conversion needs matrix settings.
128f1511a14SKuninori MorimotoFor more detail information, see below
129f1511a14SKuninori Morimoto
130f1511a14SKuninori Morimoto	Renesas R-Car datasheet
131f1511a14SKuninori Morimoto	 - Sampling Rate Converter Unit (SCU)
132f1511a14SKuninori Morimoto	  - SCU Operation
133f1511a14SKuninori Morimoto	   - CMD Block
134f1511a14SKuninori Morimoto	    - Functional Blocks in CMD
135f1511a14SKuninori Morimoto
136f1511a14SKuninori Morimoto	Renesas R-Car datasheet
137f1511a14SKuninori Morimoto	 - Sampling Rate Converter Unit (SCU)
138f1511a14SKuninori Morimoto	  - Register Description
139f1511a14SKuninori Morimoto	   - CTUn Scale Value exx Register (CTUn_SVxxR)
140f1511a14SKuninori Morimoto
141f1511a14SKuninori Morimoto	${LINUX}/sound/soc/sh/rcar/ctu.c
142f1511a14SKuninori Morimoto	 - comment of header
143f1511a14SKuninori Morimoto
1440378bb96SKuninori MorimotoYou need to use "simple-scu-audio-card" sound card for it.
145f1511a14SKuninori Morimotoexample)
146f1511a14SKuninori Morimoto
147f1511a14SKuninori Morimoto	sound {
1480378bb96SKuninori Morimoto		compatible = "simple-scu-audio-card";
149f1511a14SKuninori Morimoto		...
150f1511a14SKuninori Morimoto		/*
151f1511a14SKuninori Morimoto		 * CTU setting
152f1511a14SKuninori Morimoto		 * All input data will be converted to 2ch
153f1511a14SKuninori Morimoto		 * as output data
154f1511a14SKuninori Morimoto		 */
1550378bb96SKuninori Morimoto		simple-audio-card,convert-channels = <2>;
156f1511a14SKuninori Morimoto		...
1570378bb96SKuninori Morimoto		simple-audio-card,cpu {
158f1511a14SKuninori Morimoto			sound-dai = <&rcar_sound>;
159f1511a14SKuninori Morimoto		};
1600378bb96SKuninori Morimoto		simple-audio-card,codec {
161f1511a14SKuninori Morimoto			...
162f1511a14SKuninori Morimoto		};
163f1511a14SKuninori Morimoto	};
164f1511a14SKuninori Morimoto
165f1511a14SKuninori MorimotoEx) Exchange output channel
166f1511a14SKuninori Morimoto Input -> Output
167f1511a14SKuninori Morimoto  1ch  ->  0ch
168f1511a14SKuninori Morimoto  0ch  ->  1ch
169f1511a14SKuninori Morimoto
170f1511a14SKuninori Morimoto  example of using matrix
171f1511a14SKuninori Morimoto	output 0ch = (input 0ch x 0) + (input 1ch x 1)
172f1511a14SKuninori Morimoto	output 1ch = (input 0ch x 1) + (input 1ch x 0)
173f1511a14SKuninori Morimoto
174f1511a14SKuninori Morimoto	amixer set "CTU Reset" on
175f1511a14SKuninori Morimoto	amixer set "CTU Pass" 9,10
176f1511a14SKuninori Morimoto	amixer set "CTU SV0" 0,4194304
177f1511a14SKuninori Morimoto	amixer set "CTU SV1" 4194304,0
178f1511a14SKuninori Morimoto
179f1511a14SKuninori Morimoto example of changing connection
180f1511a14SKuninori Morimoto	amixer set "CTU Reset" on
181f1511a14SKuninori Morimoto	amixer set "CTU Pass" 2,1
182f1511a14SKuninori Morimoto
183f1511a14SKuninori Morimoto=============================================
184f1511a14SKuninori Morimoto* MIX (Mixer)
185f1511a14SKuninori Morimoto=============================================
186f1511a14SKuninori Morimoto
187f1511a14SKuninori MorimotoMIX merges 2 sounds path. You can see 2 sound interface on system,
188f1511a14SKuninori Morimotoand these sounds will be merged by MIX.
189f1511a14SKuninori Morimoto
190f1511a14SKuninori Morimoto	aplay -D plughw:0,0 xxxx.wav &
191f1511a14SKuninori Morimoto	aplay -D plughw:0,1 yyyy.wav
192f1511a14SKuninori Morimoto
1930378bb96SKuninori MorimotoYou need to use "simple-scu-audio-card" sound card for it.
194f1511a14SKuninori MorimotoEx)
195f1511a14SKuninori Morimoto	[MEM] -> [SRC1] -> [CTU02] -+-> [MIX0] -> [DVC0] -> [SSI0]
196f1511a14SKuninori Morimoto	                            |
197f1511a14SKuninori Morimoto	[MEM] -> [SRC2] -> [CTU03] -+
198f1511a14SKuninori Morimoto
199f1511a14SKuninori Morimoto	sound {
2002ca69d73SKuninori Morimoto		#address-cells = <1>;
2012ca69d73SKuninori Morimoto		#size-cells = <0>;
2022ca69d73SKuninori Morimoto
2030378bb96SKuninori Morimoto		compatible = "simple-scu-audio-card";
204f1511a14SKuninori Morimoto		...
2052ca69d73SKuninori Morimoto		simple-audio-card,cpu@0 {
2062ca69d73SKuninori Morimoto			reg = <0>;
207f1511a14SKuninori Morimoto			sound-dai = <&rcar_sound 0>;
208f1511a14SKuninori Morimoto		};
2092ca69d73SKuninori Morimoto		simple-audio-card,cpu@1 {
2102ca69d73SKuninori Morimoto			reg = <1>;
211f1511a14SKuninori Morimoto			sound-dai = <&rcar_sound 1>;
212f1511a14SKuninori Morimoto		};
2130378bb96SKuninori Morimoto		simple-audio-card,codec {
214f1511a14SKuninori Morimoto			...
215f1511a14SKuninori Morimoto		};
216f1511a14SKuninori Morimoto	};
217f1511a14SKuninori Morimoto
218f1511a14SKuninori Morimoto	&rcar_sound {
219f1511a14SKuninori Morimoto		...
220f1511a14SKuninori Morimoto		rcar_sound,dai {
221f1511a14SKuninori Morimoto			dai0 {
222f1511a14SKuninori Morimoto				playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
223f1511a14SKuninori Morimoto			};
224f1511a14SKuninori Morimoto			dai1 {
225f1511a14SKuninori Morimoto				playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
226f1511a14SKuninori Morimoto			};
227f1511a14SKuninori Morimoto		};
228f1511a14SKuninori Morimoto	};
229f1511a14SKuninori Morimoto
230f1511a14SKuninori Morimoto=============================================
231f1511a14SKuninori Morimoto* DVC (Digital Volume and Mute Function)
232f1511a14SKuninori Morimoto=============================================
233f1511a14SKuninori Morimoto
234f1511a14SKuninori MorimotoDVC controls Playback/Capture volume.
235f1511a14SKuninori Morimoto
236f1511a14SKuninori MorimotoPlayback Volume
237f1511a14SKuninori Morimoto	amixer set "DVC Out" 100%
238f1511a14SKuninori Morimoto
239f1511a14SKuninori MorimotoCapture Volume
240f1511a14SKuninori Morimoto	amixer set "DVC In" 100%
241f1511a14SKuninori Morimoto
242f1511a14SKuninori MorimotoPlayback Mute
243f1511a14SKuninori Morimoto	amixer set "DVC Out Mute" on
244f1511a14SKuninori Morimoto
245f1511a14SKuninori MorimotoCapture Mute
246f1511a14SKuninori Morimoto	amixer set "DVC In Mute" on
247f1511a14SKuninori Morimoto
248f1511a14SKuninori MorimotoVolume Ramp
249f1511a14SKuninori Morimoto	amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
250f1511a14SKuninori Morimoto	amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
251f1511a14SKuninori Morimoto	amixer set "DVC Out Ramp" on
252f1511a14SKuninori Morimoto	aplay xxx.wav &
253f1511a14SKuninori Morimoto	amixer set "DVC Out"  80%  // Volume Down
254f1511a14SKuninori Morimoto	amixer set "DVC Out" 100%  // Volume Up
255f1511a14SKuninori Morimoto
256f1511a14SKuninori Morimoto=============================================
257f1511a14SKuninori Morimoto* SSIU (Serial Sound Interface Unit)
258f1511a14SKuninori Morimoto=============================================
259f1511a14SKuninori Morimoto
260f1511a14SKuninori MorimotoThere is no DT settings for SSIU, because SSIU will be automatically
261f1511a14SKuninori Morimotoselected via SSI.
262f1511a14SKuninori MorimotoSSIU can avoid some under/over run error, because it has some buffer.
263f1511a14SKuninori MorimotoBut you can't use it if SSI was PIO mode.
264f1511a14SKuninori MorimotoIn DMA mode, you can select not to use SSIU by using "no-busif" on DT.
265f1511a14SKuninori Morimoto
266f1511a14SKuninori Morimoto	&ssi0 {
267f1511a14SKuninori Morimoto		no-busif;
268f1511a14SKuninori Morimoto	};
269f1511a14SKuninori Morimoto
270f1511a14SKuninori Morimoto=============================================
271f1511a14SKuninori Morimoto* SSI (Serial Sound Interface)
272f1511a14SKuninori Morimoto=============================================
273f1511a14SKuninori Morimoto
274f1511a14SKuninori Morimoto**  PIO mode
275f1511a14SKuninori Morimoto
276f1511a14SKuninori MorimotoYou can use PIO mode which is for connection check by using.
277f1511a14SKuninori MorimotoNote: The system will drop non-SSI modules in PIO mode
278f1511a14SKuninori Morimotoeven though if DT is selecting other modules.
279f1511a14SKuninori Morimoto
280f1511a14SKuninori Morimoto	&ssi0 {
281f1511a14SKuninori Morimoto		pio-transfer
282f1511a14SKuninori Morimoto	};
283f1511a14SKuninori Morimoto
284f1511a14SKuninori Morimoto** DMA mode without SSIU
285f1511a14SKuninori Morimoto
286f1511a14SKuninori MorimotoYou can use DMA without SSIU.
287f1511a14SKuninori MorimotoNote: under/over run, or noise are likely to occur
288f1511a14SKuninori Morimoto
289f1511a14SKuninori Morimoto	&ssi0 {
290f1511a14SKuninori Morimoto		no-busif;
291f1511a14SKuninori Morimoto	};
292f1511a14SKuninori Morimoto
293f1511a14SKuninori Morimoto** PIN sharing
294f1511a14SKuninori Morimoto
295f1511a14SKuninori MorimotoEach SSI can share WS pin. It is based on platform.
296f1511a14SKuninori MorimotoThis is example if SSI1 want to share WS pin with SSI0
297f1511a14SKuninori Morimoto
298f1511a14SKuninori Morimoto	&ssi1 {
299f1511a14SKuninori Morimoto		shared-pin;
300f1511a14SKuninori Morimoto	};
301f1511a14SKuninori Morimoto
302f1511a14SKuninori Morimoto** Multi-SSI
303f1511a14SKuninori Morimoto
304f1511a14SKuninori MorimotoYou can use Multi-SSI.
305f1511a14SKuninori MorimotoThis is example of SSI0/SSI1/SSI2 (= for 6ch)
306f1511a14SKuninori Morimoto
307f1511a14SKuninori Morimoto	&rcar_sound {
308f1511a14SKuninori Morimoto		...
309f1511a14SKuninori Morimoto		rcar_sound,dai {
310f1511a14SKuninori Morimoto			dai0 {
311f1511a14SKuninori Morimoto				playback = <&ssi0 &ssi1 &ssi2 &src0 &dvc0>;
312f1511a14SKuninori Morimoto			};
313f1511a14SKuninori Morimoto		};
314f1511a14SKuninori Morimoto	};
315f1511a14SKuninori Morimoto
316f1511a14SKuninori Morimoto** TDM-SSI
317f1511a14SKuninori Morimoto
318f1511a14SKuninori MorimotoYou can use TDM with SSI.
319f1511a14SKuninori MorimotoThis is example of TDM 6ch.
320f1511a14SKuninori MorimotoDriver can automatically switches TDM <-> stereo mode in this case.
321f1511a14SKuninori Morimoto
322f1511a14SKuninori Morimoto	rsnd_tdm: sound {
323f1511a14SKuninori Morimoto		compatible = "simple-audio-card";
324f1511a14SKuninori Morimoto		...
325f1511a14SKuninori Morimoto		simple-audio-card,cpu {
326f1511a14SKuninori Morimoto			/* system can use TDM 6ch */
327f1511a14SKuninori Morimoto			dai-tdm-slot-num = <6>;
328f1511a14SKuninori Morimoto			sound-dai = <&rcar_sound>;
329f1511a14SKuninori Morimoto		};
330f1511a14SKuninori Morimoto		simple-audio-card,codec {
331f1511a14SKuninori Morimoto			...
332f1511a14SKuninori Morimoto		};
333f1511a14SKuninori Morimoto	};
334f1511a14SKuninori Morimoto
335f1511a14SKuninori Morimoto
336f1511a14SKuninori Morimoto=============================================
33790e8e50fSKuninori MorimotoRequired properties:
338f1511a14SKuninori Morimoto=============================================
339f1511a14SKuninori Morimoto
34056ba98acSGeert Uytterhoeven- compatible			: "renesas,rcar_sound-<soctype>", fallbacks
34156ba98acSGeert Uytterhoeven				  "renesas,rcar_sound-gen1" if generation1, and
342b0a858a4SBiju Das				  "renesas,rcar_sound-gen2" if generation2 (or RZ/G1)
343ac37a45bSKuninori Morimoto				  "renesas,rcar_sound-gen3" if generation3
34456ba98acSGeert Uytterhoeven				  Examples with soctypes are:
345b0a858a4SBiju Das				    - "renesas,rcar_sound-r8a7743" (RZ/G1M)
346b0a858a4SBiju Das				    - "renesas,rcar_sound-r8a7745" (RZ/G1E)
3477667f716SGeert Uytterhoeven				    - "renesas,rcar_sound-r8a7778" (R-Car M1A)
3484eb404d0SSimon Horman				    - "renesas,rcar_sound-r8a7779" (R-Car H1)
34956ba98acSGeert Uytterhoeven				    - "renesas,rcar_sound-r8a7790" (R-Car H2)
35056ba98acSGeert Uytterhoeven				    - "renesas,rcar_sound-r8a7791" (R-Car M2-W)
3514eb404d0SSimon Horman				    - "renesas,rcar_sound-r8a7793" (R-Car M2-N)
3524eb404d0SSimon Horman				    - "renesas,rcar_sound-r8a7794" (R-Car E2)
353ac37a45bSKuninori Morimoto				    - "renesas,rcar_sound-r8a7795" (R-Car H3)
354da263026SGeert Uytterhoeven				    - "renesas,rcar_sound-r8a7796" (R-Car M3-W)
355*150a6dc8SHiroyuki Yokoyama				    - "renesas,rcar_sound-r8a77965" (R-Car M3-N)
35690e8e50fSKuninori Morimoto- reg				: Should contain the register physical address.
35790e8e50fSKuninori Morimoto				  required register is
35890e8e50fSKuninori Morimoto				   SRU/ADG/SSI      if generation1
35990e8e50fSKuninori Morimoto				   SRU/ADG/SSIU/SSI if generation2
3608bab0dd5SKuninori Morimoto- rcar_sound,ssi		: Should contain SSI feature.
3618bab0dd5SKuninori Morimoto				  The number of SSI subnode should be same as HW.
3628bab0dd5SKuninori Morimoto				  see below for detail.
3638bab0dd5SKuninori Morimoto- rcar_sound,src		: Should contain SRC feature.
3648bab0dd5SKuninori Morimoto				  The number of SRC subnode should be same as HW.
3658bab0dd5SKuninori Morimoto				  see below for detail.
3669269e3c3SKuninori Morimoto- rcar_sound,ctu		: Should contain CTU feature.
3679269e3c3SKuninori Morimoto				  The number of CTU subnode should be same as HW.
3689269e3c3SKuninori Morimoto				  see below for detail.
36970fb1052SKuninori Morimoto- rcar_sound,mix		: Should contain MIX feature.
37070fb1052SKuninori Morimoto				  The number of MIX subnode should be same as HW.
37170fb1052SKuninori Morimoto				  see below for detail.
37234cb6123SKuninori Morimoto- rcar_sound,dvc		: Should contain DVC feature.
37334cb6123SKuninori Morimoto				  The number of DVC subnode should be same as HW.
37434cb6123SKuninori Morimoto				  see below for detail.
3758bab0dd5SKuninori Morimoto- rcar_sound,dai		: DAI contents.
3768bab0dd5SKuninori Morimoto				  The number of DAI subnode should be same as HW.
3778bab0dd5SKuninori Morimoto				  see below for detail.
378e3d2cec8SKuninori Morimoto- #sound-dai-cells		: it must be 0 if your system is using single DAI
379e3d2cec8SKuninori Morimoto				  it must be 1 if your system is using multi  DAI
3805b3889f8SKuninori Morimoto- clocks			: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks.
3815b3889f8SKuninori Morimoto- clock-names			: List of necessary clock names.
3825b3889f8SKuninori Morimoto				  "ssi-all", "ssi.X", "src.X", "mix.X", "ctu.X",
3835b3889f8SKuninori Morimoto				  "dvc.X", "clk_a", "clk_b", "clk_c", "clk_i"
384209c0907SKuninori Morimoto
385209c0907SKuninori MorimotoOptional properties:
3862a46db4aSKuninori Morimoto- #clock-cells			: it must be 0 if your system has audio_clkout
3872a46db4aSKuninori Morimoto				  it must be 1 if your system has audio_clkout0/1/2/3
3882a46db4aSKuninori Morimoto- clock-frequency		: for all audio_clkout0/1/2/3
3897dc20319SKuninori Morimoto- clkout-lr-asynchronous	: boolean property. it indicates that audio_clkoutn
3907dc20319SKuninori Morimoto				  is asynchronizes with lr-clock.
3915f440c48SGeert Uytterhoeven- resets			: References to SSI resets.
3925f440c48SGeert Uytterhoeven- reset-names			: List of valid reset names.
3935f440c48SGeert Uytterhoeven				  "ssi-all", "ssi.X"
39490e8e50fSKuninori Morimoto
39590e8e50fSKuninori MorimotoSSI subnode properties:
39690e8e50fSKuninori Morimoto- interrupts			: Should contain SSI interrupt for PIO transfer
39790e8e50fSKuninori Morimoto- shared-pin			: if shared clock pin
398199e7688SKuninori Morimoto- pio-transfer			: use PIO transfer mode
399d9288d0bSKuninori Morimoto- no-busif			: BUSIF is not ussed when [mem -> SSI] via DMA case
400e80a2fb1SKuninori Morimoto- dma				: Should contain Audio DMAC entry
401e80a2fb1SKuninori Morimoto- dma-names			: SSI  case "rx"  (=playback), "tx"  (=capture)
402e80a2fb1SKuninori Morimoto				  SSIU case "rxu" (=playback), "txu" (=capture)
40390e8e50fSKuninori Morimoto
4048bab0dd5SKuninori MorimotoSRC subnode properties:
405e80a2fb1SKuninori Morimoto- dma				: Should contain Audio DMAC entry
406e80a2fb1SKuninori Morimoto- dma-names			: "rx" (=playback), "tx" (=capture)
407e80a2fb1SKuninori Morimoto
408e80a2fb1SKuninori MorimotoDVC subnode properties:
409e80a2fb1SKuninori Morimoto- dma				: Should contain Audio DMAC entry
410e80a2fb1SKuninori Morimoto- dma-names			: "tx" (=playback/capture)
4118bab0dd5SKuninori Morimoto
41290e8e50fSKuninori MorimotoDAI subnode properties:
41390e8e50fSKuninori Morimoto- playback			: list of playback modules
41490e8e50fSKuninori Morimoto- capture			: list of capture  modules
41590e8e50fSKuninori Morimoto
416f1511a14SKuninori Morimoto
417f1511a14SKuninori Morimoto=============================================
41890e8e50fSKuninori MorimotoExample:
419f1511a14SKuninori Morimoto=============================================
42090e8e50fSKuninori Morimoto
421596f74ecSGeert Uytterhoevenrcar_sound: sound@ec500000 {
42290e8e50fSKuninori Morimoto	#sound-dai-cells = <1>;
42356ba98acSGeert Uytterhoeven	compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2";
42490e8e50fSKuninori Morimoto	reg =	<0 0xec500000 0 0x1000>, /* SCU */
42590e8e50fSKuninori Morimoto		<0 0xec5a0000 0 0x100>,  /* ADG */
42690e8e50fSKuninori Morimoto		<0 0xec540000 0 0x1000>, /* SSIU */
427d3b1c0baSKuninori Morimoto		<0 0xec541000 0 0x1280>, /* SSI */
428d3b1c0baSKuninori Morimoto		<0 0xec740000 0 0x200>;  /* Audio DMAC peri peri*/
429d3b1c0baSKuninori Morimoto	reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
43090e8e50fSKuninori Morimoto
431bb02714fSKuninori Morimoto	clocks = <&mstp10_clks R8A7790_CLK_SSI_ALL>,
432bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SSI9>, <&mstp10_clks R8A7790_CLK_SSI8>,
433bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SSI7>, <&mstp10_clks R8A7790_CLK_SSI6>,
434bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SSI5>, <&mstp10_clks R8A7790_CLK_SSI4>,
435bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SSI3>, <&mstp10_clks R8A7790_CLK_SSI2>,
436bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SSI1>, <&mstp10_clks R8A7790_CLK_SSI0>,
437bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_SRC9>, <&mstp10_clks R8A7790_CLK_SCU_SRC8>,
438bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_SRC7>, <&mstp10_clks R8A7790_CLK_SCU_SRC6>,
439bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_SRC5>, <&mstp10_clks R8A7790_CLK_SCU_SRC4>,
440bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_SRC3>, <&mstp10_clks R8A7790_CLK_SCU_SRC2>,
441bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_SRC1>, <&mstp10_clks R8A7790_CLK_SCU_SRC0>,
442bb02714fSKuninori Morimoto		<&mstp10_clks R8A7790_CLK_SCU_DVC0>, <&mstp10_clks R8A7790_CLK_SCU_DVC1>,
443bb02714fSKuninori Morimoto		<&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>, <&m2_clk>;
444bb02714fSKuninori Morimoto	clock-names = "ssi-all",
445bb02714fSKuninori Morimoto			"ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
446bb02714fSKuninori Morimoto			"ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
447bb02714fSKuninori Morimoto			"src.9", "src.8", "src.7", "src.6", "src.5",
448bb02714fSKuninori Morimoto			"src.4", "src.3", "src.2", "src.1", "src.0",
449bb02714fSKuninori Morimoto			"dvc.0", "dvc.1",
450bb02714fSKuninori Morimoto			"clk_a", "clk_b", "clk_c", "clk_i";
451bb02714fSKuninori Morimoto
45234cb6123SKuninori Morimoto	rcar_sound,dvc {
453a5702e1cSGeert Uytterhoeven		dvc0: dvc-0 {
454e80a2fb1SKuninori Morimoto			dmas = <&audma0 0xbc>;
455e80a2fb1SKuninori Morimoto			dma-names = "tx";
456e80a2fb1SKuninori Morimoto		};
457a5702e1cSGeert Uytterhoeven		dvc1: dvc-1 {
458e80a2fb1SKuninori Morimoto			dmas = <&audma0 0xbe>;
459e80a2fb1SKuninori Morimoto			dma-names = "tx";
460e80a2fb1SKuninori Morimoto		};
46134cb6123SKuninori Morimoto	};
46234cb6123SKuninori Morimoto
46370fb1052SKuninori Morimoto	rcar_sound,mix {
464a5702e1cSGeert Uytterhoeven		mix0: mix-0 { };
465a5702e1cSGeert Uytterhoeven		mix1: mix-1 { };
46670fb1052SKuninori Morimoto	};
46770fb1052SKuninori Morimoto
4689269e3c3SKuninori Morimoto	rcar_sound,ctu {
469a5702e1cSGeert Uytterhoeven		ctu00: ctu-0 { };
470a5702e1cSGeert Uytterhoeven		ctu01: ctu-1 { };
471a5702e1cSGeert Uytterhoeven		ctu02: ctu-2 { };
472a5702e1cSGeert Uytterhoeven		ctu03: ctu-3 { };
473a5702e1cSGeert Uytterhoeven		ctu10: ctu-4 { };
474a5702e1cSGeert Uytterhoeven		ctu11: ctu-5 { };
475a5702e1cSGeert Uytterhoeven		ctu12: ctu-6 { };
476a5702e1cSGeert Uytterhoeven		ctu13: ctu-7 { };
4779269e3c3SKuninori Morimoto	};
4789269e3c3SKuninori Morimoto
47990e8e50fSKuninori Morimoto	rcar_sound,src {
480a5702e1cSGeert Uytterhoeven		src0: src-0 {
4815cf4f686SKuninori Morimoto			interrupts = <0 352 IRQ_TYPE_LEVEL_HIGH>;
482e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x85>, <&audma1 0x9a>;
483e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
4845cf4f686SKuninori Morimoto		};
485a5702e1cSGeert Uytterhoeven		src1: src-1 {
4865cf4f686SKuninori Morimoto			interrupts = <0 353 IRQ_TYPE_LEVEL_HIGH>;
487e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x87>, <&audma1 0x9c>;
488e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
4895cf4f686SKuninori Morimoto		};
490a5702e1cSGeert Uytterhoeven		src2: src-2 {
4915cf4f686SKuninori Morimoto			interrupts = <0 354 IRQ_TYPE_LEVEL_HIGH>;
492e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x89>, <&audma1 0x9e>;
493e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
4945cf4f686SKuninori Morimoto		};
495a5702e1cSGeert Uytterhoeven		src3: src-3 {
4965cf4f686SKuninori Morimoto			interrupts = <0 355 IRQ_TYPE_LEVEL_HIGH>;
497e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x8b>, <&audma1 0xa0>;
498e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
4995cf4f686SKuninori Morimoto		};
500a5702e1cSGeert Uytterhoeven		src4: src-4 {
5015cf4f686SKuninori Morimoto			interrupts = <0 356 IRQ_TYPE_LEVEL_HIGH>;
502e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x8d>, <&audma1 0xb0>;
503e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5045cf4f686SKuninori Morimoto		};
505a5702e1cSGeert Uytterhoeven		src5: src-5 {
5065cf4f686SKuninori Morimoto			interrupts = <0 357 IRQ_TYPE_LEVEL_HIGH>;
507e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x8f>, <&audma1 0xb2>;
508e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5095cf4f686SKuninori Morimoto		};
510a5702e1cSGeert Uytterhoeven		src6: src-6 {
5115cf4f686SKuninori Morimoto			interrupts = <0 358 IRQ_TYPE_LEVEL_HIGH>;
512e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x91>, <&audma1 0xb4>;
513e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5145cf4f686SKuninori Morimoto		};
515a5702e1cSGeert Uytterhoeven		src7: src-7 {
5165cf4f686SKuninori Morimoto			interrupts = <0 359 IRQ_TYPE_LEVEL_HIGH>;
517e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x93>, <&audma1 0xb6>;
518e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5195cf4f686SKuninori Morimoto		};
520a5702e1cSGeert Uytterhoeven		src8: src-8 {
5215cf4f686SKuninori Morimoto			interrupts = <0 360 IRQ_TYPE_LEVEL_HIGH>;
522e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x95>, <&audma1 0xb8>;
523e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5245cf4f686SKuninori Morimoto		};
525a5702e1cSGeert Uytterhoeven		src9: src-9 {
5265cf4f686SKuninori Morimoto			interrupts = <0 361 IRQ_TYPE_LEVEL_HIGH>;
527e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x97>, <&audma1 0xba>;
528e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx";
5295cf4f686SKuninori Morimoto		};
53090e8e50fSKuninori Morimoto	};
53190e8e50fSKuninori Morimoto
53290e8e50fSKuninori Morimoto	rcar_sound,ssi {
533a5702e1cSGeert Uytterhoeven		ssi0: ssi-0 {
53490e8e50fSKuninori Morimoto			interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
535e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
536e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
53790e8e50fSKuninori Morimoto		};
538a5702e1cSGeert Uytterhoeven		ssi1: ssi-1 {
53990e8e50fSKuninori Morimoto			interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
540e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
541e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
54290e8e50fSKuninori Morimoto		};
543a5702e1cSGeert Uytterhoeven		ssi2: ssi-2 {
54490e8e50fSKuninori Morimoto			interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
545e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
546e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
54790e8e50fSKuninori Morimoto		};
548a5702e1cSGeert Uytterhoeven		ssi3: ssi-3 {
54990e8e50fSKuninori Morimoto			interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
550e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
551e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
55290e8e50fSKuninori Morimoto		};
553a5702e1cSGeert Uytterhoeven		ssi4: ssi-4 {
55490e8e50fSKuninori Morimoto			interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
555e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
556e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
55790e8e50fSKuninori Morimoto		};
558a5702e1cSGeert Uytterhoeven		ssi5: ssi-5 {
55990e8e50fSKuninori Morimoto			interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
560e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
561e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
56290e8e50fSKuninori Morimoto		};
563a5702e1cSGeert Uytterhoeven		ssi6: ssi-6 {
56490e8e50fSKuninori Morimoto			interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
565e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
566e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
56790e8e50fSKuninori Morimoto		};
568a5702e1cSGeert Uytterhoeven		ssi7: ssi-7 {
56990e8e50fSKuninori Morimoto			interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
570e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
571e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
57290e8e50fSKuninori Morimoto		};
573a5702e1cSGeert Uytterhoeven		ssi8: ssi-8 {
57490e8e50fSKuninori Morimoto			interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
575e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
576e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
57790e8e50fSKuninori Morimoto		};
578a5702e1cSGeert Uytterhoeven		ssi9: ssi-9 {
57990e8e50fSKuninori Morimoto			interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
580e80a2fb1SKuninori Morimoto			dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
581e80a2fb1SKuninori Morimoto			dma-names = "rx", "tx", "rxu", "txu";
58290e8e50fSKuninori Morimoto		};
58390e8e50fSKuninori Morimoto	};
58490e8e50fSKuninori Morimoto
58590e8e50fSKuninori Morimoto	rcar_sound,dai {
58690e8e50fSKuninori Morimoto		dai0 {
58790e8e50fSKuninori Morimoto			playback = <&ssi5 &src5>;
58890e8e50fSKuninori Morimoto			capture  = <&ssi6>;
58990e8e50fSKuninori Morimoto		};
59090e8e50fSKuninori Morimoto		dai1 {
59190e8e50fSKuninori Morimoto			playback = <&ssi3>;
59290e8e50fSKuninori Morimoto		};
59390e8e50fSKuninori Morimoto		dai2 {
59490e8e50fSKuninori Morimoto			capture  = <&ssi4>;
59590e8e50fSKuninori Morimoto		};
59690e8e50fSKuninori Morimoto		dai3 {
59790e8e50fSKuninori Morimoto			playback = <&ssi7>;
59890e8e50fSKuninori Morimoto		};
59990e8e50fSKuninori Morimoto		dai4 {
60090e8e50fSKuninori Morimoto			capture  = <&ssi8>;
60190e8e50fSKuninori Morimoto		};
60290e8e50fSKuninori Morimoto	};
60390e8e50fSKuninori Morimoto};
604f3f17d32SKuninori Morimoto
605f1511a14SKuninori Morimoto=============================================
606f3f17d32SKuninori MorimotoExample: simple sound card
607f1511a14SKuninori Morimoto=============================================
608f3f17d32SKuninori Morimoto
609f3f17d32SKuninori Morimoto	rsnd_ak4643: sound {
610f3f17d32SKuninori Morimoto		compatible = "simple-audio-card";
611f3f17d32SKuninori Morimoto
612f3f17d32SKuninori Morimoto		simple-audio-card,format = "left_j";
613f3f17d32SKuninori Morimoto		simple-audio-card,bitclock-master = <&sndcodec>;
614f3f17d32SKuninori Morimoto		simple-audio-card,frame-master = <&sndcodec>;
615f3f17d32SKuninori Morimoto
616f3f17d32SKuninori Morimoto		sndcpu: simple-audio-card,cpu {
617f3f17d32SKuninori Morimoto			sound-dai = <&rcar_sound>;
618f3f17d32SKuninori Morimoto		};
619f3f17d32SKuninori Morimoto
620f3f17d32SKuninori Morimoto		sndcodec: simple-audio-card,codec {
621f3f17d32SKuninori Morimoto			sound-dai = <&ak4643>;
622f3f17d32SKuninori Morimoto			clocks = <&audio_clock>;
623f3f17d32SKuninori Morimoto		};
624f3f17d32SKuninori Morimoto	};
625f3f17d32SKuninori Morimoto
626f3f17d32SKuninori Morimoto&rcar_sound {
627f3f17d32SKuninori Morimoto	pinctrl-0 = <&sound_pins &sound_clk_pins>;
628f3f17d32SKuninori Morimoto	pinctrl-names = "default";
629f3f17d32SKuninori Morimoto
630f3f17d32SKuninori Morimoto	/* Single DAI */
631f3f17d32SKuninori Morimoto	#sound-dai-cells = <0>;
632f3f17d32SKuninori Morimoto
633f3f17d32SKuninori Morimoto
634f3f17d32SKuninori Morimoto	rcar_sound,dai {
635f3f17d32SKuninori Morimoto		dai0 {
636f3f17d32SKuninori Morimoto			playback = <&ssi0 &src2 &dvc0>;
637f3f17d32SKuninori Morimoto			capture  = <&ssi1 &src3 &dvc1>;
638f3f17d32SKuninori Morimoto		};
639f3f17d32SKuninori Morimoto	};
640f3f17d32SKuninori Morimoto};
641f3f17d32SKuninori Morimoto
642f3f17d32SKuninori Morimoto&ssi1 {
643f3f17d32SKuninori Morimoto	shared-pin;
644f3f17d32SKuninori Morimoto};
64544bf5361SKuninori Morimoto
646f1511a14SKuninori Morimoto=============================================
64744bf5361SKuninori MorimotoExample: simple sound card for TDM
648f1511a14SKuninori Morimoto=============================================
64944bf5361SKuninori Morimoto
65044bf5361SKuninori Morimoto	rsnd_tdm: sound {
65144bf5361SKuninori Morimoto		compatible = "simple-audio-card";
65244bf5361SKuninori Morimoto
65344bf5361SKuninori Morimoto		simple-audio-card,format = "left_j";
65444bf5361SKuninori Morimoto		simple-audio-card,bitclock-master = <&sndcodec>;
65544bf5361SKuninori Morimoto		simple-audio-card,frame-master = <&sndcodec>;
65644bf5361SKuninori Morimoto
65744bf5361SKuninori Morimoto		sndcpu: simple-audio-card,cpu {
65844bf5361SKuninori Morimoto			sound-dai = <&rcar_sound>;
65944bf5361SKuninori Morimoto			dai-tdm-slot-num = <6>;
66044bf5361SKuninori Morimoto		};
66144bf5361SKuninori Morimoto
66244bf5361SKuninori Morimoto		sndcodec: simple-audio-card,codec {
66344bf5361SKuninori Morimoto			sound-dai = <&xxx>;
66444bf5361SKuninori Morimoto		};
66544bf5361SKuninori Morimoto	};
666b4c83b17SKuninori Morimoto
667f1511a14SKuninori Morimoto=============================================
668b4c83b17SKuninori MorimotoExample: simple sound card for Multi channel
669f1511a14SKuninori Morimoto=============================================
670b4c83b17SKuninori Morimoto
671b4c83b17SKuninori Morimoto&rcar_sound {
672b4c83b17SKuninori Morimoto	pinctrl-0 = <&sound_pins &sound_clk_pins>;
673b4c83b17SKuninori Morimoto	pinctrl-names = "default";
674b4c83b17SKuninori Morimoto
675b4c83b17SKuninori Morimoto	/* Single DAI */
676b4c83b17SKuninori Morimoto	#sound-dai-cells = <0>;
677b4c83b17SKuninori Morimoto
678b4c83b17SKuninori Morimoto
679b4c83b17SKuninori Morimoto	rcar_sound,dai {
680b4c83b17SKuninori Morimoto		dai0 {
681b4c83b17SKuninori Morimoto			playback = <&ssi0 &ssi1 &ssi2 &src0 &dvc0>;
682b4c83b17SKuninori Morimoto		};
683b4c83b17SKuninori Morimoto	};
684b4c83b17SKuninori Morimoto};
685