Lines Matching +full:multi +full:- +full:channel

1 Renesas R-Car sound
7 Renesas R-Car and RZ/G sound is constructed from below modules
11 - SRC : Sampling Rate Converter
12 - CMD
13 - CTU : Channel Transfer Unit
14 - MIX : Mixer
15 - DVC : Digital Volume and Mute Function
22 * Multi channel
25 Multi channel is supported by Multi-SSI, or TDM-SSI.
27 Multi-SSI : 6ch case, you can use stereo x 3 SSI
28 TDM-SSI : 6ch case, you can use TDM
34 See datasheet to check SRC/CTU/MIX/DVC connect-limitation.
36 ${LINUX}/arch/arm/boot/dts/r8a7790-lager.dts can be good example.
39 Playback: [MEM] -> [SRC2] -> [DVC0] -> [SSIU0/SSI0] -> [codec]
40 Capture: [MEM] <- [DVC1] <- [SRC3] <- [SSIU1/SSI1] <- [codec]
63 ------> [SRC] ------>
74 ------------------
76 ------------------
78 You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it.
81 ------------------
83 ------------------
91 * CTU (Channel Transfer Unit)
95 ------> [CTU] -------->
97 CTU can convert [xx]ch to [yy]ch, or exchange outputed channel.
101 Renesas R-Car datasheet
102 - Sampling Rate Converter Unit (SCU)
103 - SCU Operation
104 - CMD Block
105 - Functional Blocks in CMD
107 Renesas R-Car datasheet
108 - Sampling Rate Converter Unit (SCU)
109 - Register Description
110 - CTUn Scale Value exx Register (CTUn_SVxxR)
113 - comment of header
115 You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it.
116 see "Example: simple sound card for channel convert"
118 Ex) Exchange output channel
119 Input -> Output
120 1ch -> 0ch
121 0ch -> 1ch
143 aplay -D plughw:0,0 xxxx.wav &
144 aplay -D plughw:0,1 yyyy.wav
146 You need to use "simple-scu-audio-card" or "audio-graph-scu-card" for it.
148 [MEM] -> [SRC1] -> [CTU02] -+-> [MIX0] -> [DVC0] -> [SSI0]
150 [MEM] -> [SRC2] -> [CTU03] -+
186 In DMA mode, you can select not to use SSIU by using "no-busif" via SSI.
189 This driver is assuming that audio-graph card will be used.
194 aplay -D plughw:0,0 xxxx.wav &
195 aplay -D plughw:0,1 xxxx.wav &
196 aplay -D plughw:0,2 xxxx.wav &
197 aplay -D plughw:0,3 xxxx.wav
200 [MEM] -> [SSIU 30] -+-> [SSIU 3] --> [Codec]
202 [MEM] -> [SSIU 31] -+
204 [MEM] -> [SSIU 32] -+
206 [MEM] -> [SSIU 33] -+
217 Note: The system will drop non-SSI modules in PIO mode
221 pio-transfer
230 no-busif;
239 shared-pin;
242 ** Multi-SSI
244 You can use Multi-SSI.
247 see "Example: simple sound card for Multi channel"
249 ** TDM-SSI
253 Driver can automatically switches TDM <-> stereo mode in this case.
261 - compatible : "renesas,rcar_sound-<soctype>", fallbacks
262 "renesas,rcar_sound-gen1" if generation1, and
263 "renesas,rcar_sound-gen2" if generation2 (or RZ/G1)
264 "renesas,rcar_sound-gen3" if generation3 (or RZ/G2)
266 - "renesas,rcar_sound-r8a7742" (RZ/G1H)
267 - "renesas,rcar_sound-r8a7743" (RZ/G1M)
268 - "renesas,rcar_sound-r8a7744" (RZ/G1N)
269 - "renesas,rcar_sound-r8a7745" (RZ/G1E)
270 - "renesas,rcar_sound-r8a77470" (RZ/G1C)
271 - "renesas,rcar_sound-r8a774a1" (RZ/G2M)
272 - "renesas,rcar_sound-r8a774b1" (RZ/G2N)
273 - "renesas,rcar_sound-r8a774c0" (RZ/G2E)
274 - "renesas,rcar_sound-r8a774e1" (RZ/G2H)
275 - "renesas,rcar_sound-r8a7778" (R-Car M1A)
276 - "renesas,rcar_sound-r8a7779" (R-Car H1)
277 - "renesas,rcar_sound-r8a7790" (R-Car H2)
278 - "renesas,rcar_sound-r8a7791" (R-Car M2-W)
279 - "renesas,rcar_sound-r8a7793" (R-Car M2-N)
280 - "renesas,rcar_sound-r8a7794" (R-Car E2)
281 - "renesas,rcar_sound-r8a7795" (R-Car H3)
282 - "renesas,rcar_sound-r8a7796" (R-Car M3-W)
283 - "renesas,rcar_sound-r8a77965" (R-Car M3-N)
284 - "renesas,rcar_sound-r8a77990" (R-Car E3)
285 - "renesas,rcar_sound-r8a77995" (R-Car D3)
286 - reg : Should contain the register physical address.
289 SRU/ADG/SSIU/SSI/AUDIO-DMAC-periperi if generation2/generation3
290 Select extended AUDIO-DMAC-periperi address if SoC has it,
291 otherwise select normal AUDIO-DMAC-periperi address.
292 - reg-names : Should contain the register names.
295 - rcar_sound,ssi : Should contain SSI feature.
298 - rcar_sound,ssiu : Should contain SSIU feature.
301 - rcar_sound,src : Should contain SRC feature.
304 - rcar_sound,ctu : Should contain CTU feature.
307 - rcar_sound,mix : Should contain MIX feature.
310 - rcar_sound,dvc : Should contain DVC feature.
313 - rcar_sound,dai : DAI contents.
316 - #sound-dai-cells : it must be 0 if your system is using single DAI
317 it must be 1 if your system is using multi DAI
318 - clocks : References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks.
319 - clock-names : List of necessary clock names.
320 "ssi-all", "ssi.X", "src.X", "mix.X", "ctu.X",
324 - #clock-cells : it must be 0 if your system has audio_clkout
326 - clock-frequency : for all audio_clkout0/1/2/3
327 - clkout-lr-asynchronous : boolean property. it indicates that audio_clkoutn
328 is asynchronizes with lr-clock.
329 - resets : References to SSI resets.
330 - reset-names : List of valid reset names.
331 "ssi-all", "ssi.X"
334 - interrupts : Should contain SSI interrupt for PIO transfer
335 - shared-pin : if shared clock pin
336 - pio-transfer : use PIO transfer mode
337 - no-busif : BUSIF is not ussed when [mem -> SSI] via DMA case
338 - dma : Should contain Audio DMAC entry
339 - dma-names : SSI case "rx" (=playback), "tx" (=capture)
344 - dma : Should contain Audio DMAC entry
345 - dma-names : "rx" (=playback), "tx" (=capture)
348 - dma : Should contain Audio DMAC entry
349 - dma-names : "rx" (=playback), "tx" (=capture)
352 - dma : Should contain Audio DMAC entry
353 - dma-names : "tx" (=playback/capture)
356 - playback : list of playback modules
357 - capture : list of capture modules
365 #sound-dai-cells = <1>;
366 compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2";
372 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
387 clock-names = "ssi-all",
396 dvc0: dvc-0 {
398 dma-names = "tx";
400 dvc1: dvc-1 {
402 dma-names = "tx";
407 mix0: mix-0 { };
408 mix1: mix-1 { };
412 ctu00: ctu-0 { };
413 ctu01: ctu-1 { };
414 ctu02: ctu-2 { };
415 ctu03: ctu-3 { };
416 ctu10: ctu-4 { };
417 ctu11: ctu-5 { };
418 ctu12: ctu-6 { };
419 ctu13: ctu-7 { };
423 src0: src-0 {
426 dma-names = "rx", "tx";
428 src1: src-1 {
431 dma-names = "rx", "tx";
433 src2: src-2 {
436 dma-names = "rx", "tx";
438 src3: src-3 {
441 dma-names = "rx", "tx";
443 src4: src-4 {
446 dma-names = "rx", "tx";
448 src5: src-5 {
451 dma-names = "rx", "tx";
453 src6: src-6 {
456 dma-names = "rx", "tx";
458 src7: src-7 {
461 dma-names = "rx", "tx";
463 src8: src-8 {
466 dma-names = "rx", "tx";
468 src9: src-9 {
471 dma-names = "rx", "tx";
476 ssiu00: ssiu-0 {
478 dma-names = "rx", "tx";
480 ssiu01: ssiu-1 {
482 dma-names = "rx", "tx";
487 ssiu95: ssiu-49 {
489 dma-names = "rx", "tx";
491 ssiu96: ssiu-50 {
493 dma-names = "rx", "tx";
495 ssiu97: ssiu-51 {
497 dma-names = "rx", "tx";
502 ssi0: ssi-0 {
505 dma-names = "rx", "tx";
507 ssi1: ssi-1 {
510 dma-names = "rx", "tx";
515 ssi8: ssi-8 {
518 dma-names = "rx", "tx";
520 ssi9: ssi-9 {
523 dma-names = "rx", "tx";
552 compatible = "simple-audio-card";
554 simple-audio-card,format = "left_j";
555 simple-audio-card,bitclock-master = <&sndcodec>;
556 simple-audio-card,frame-master = <&sndcodec>;
558 sndcpu: simple-audio-card,cpu {
559 sound-dai = <&rcar_sound>;
562 sndcodec: simple-audio-card,codec {
563 sound-dai = <&ak4643>;
569 pinctrl-0 = <&sound_pins &sound_clk_pins>;
570 pinctrl-names = "default";
573 #sound-dai-cells = <0>;
585 shared-pin;
593 compatible = "simple-scu-audio-card";
603 simple-audio-card,convert-rate = <48000>;
605 simple-audio-card,cpu {
606 sound-dai = <&rcar_sound>;
608 simple-audio-card,codec {
614 Example: simple sound card for channel convert
618 compatible = "simple-scu-audio-card";
625 simple-audio-card,convert-channels = <2>;
627 simple-audio-card,cpu {
628 sound-dai = <&rcar_sound>;
630 simple-audio-card,codec {
640 compatible = "simple-scu-audio-card";
642 simple-audio-card,cpu@0 {
643 sound-dai = <&rcar_sound 0>;
645 simple-audio-card,cpu@1 {
646 sound-dai = <&rcar_sound 1>;
648 simple-audio-card,codec {
670 compatible = "simple-audio-card";
672 simple-audio-card,format = "left_j";
673 simple-audio-card,bitclock-master = <&sndcodec>;
674 simple-audio-card,frame-master = <&sndcodec>;
676 sndcpu: simple-audio-card,cpu {
677 sound-dai = <&rcar_sound>;
678 dai-tdm-slot-num = <6>;
681 sndcodec: simple-audio-card,codec {
682 sound-dai = <&xxx>;
691 compatible = "audio-graph-scu-card";
697 convert-channels = <8>; /* TDM Split */
706 audio-codec {
710 remote-endpoint = <&rsnd_ep0>;
713 remote-endpoint = <&rsnd_ep1>;
716 remote-endpoint = <&rsnd_ep2>;
719 remote-endpoint = <&rsnd_ep3>;
729 remote-endpoint = <&codec_0>;
736 remote-endpoint = <&codec_1>;
743 remote-endpoint = <&codec_2>;
750 remote-endpoint = <&codec_3>;
759 Example: simple sound card for Multi channel
763 pinctrl-0 = <&sound_pins &sound_clk_pins>;
764 pinctrl-names = "default";
767 #sound-dai-cells = <0>;