Skip to content

Commit

Permalink
ASoC: rsnd: add TDM Split mode support for Document
Browse files Browse the repository at this point in the history
This patch adds TDM Split mode support. rsnd driver is assuming
audio-graph-scu-card is used for Sound Card.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Kuninori Morimoto authored and Mark Brown committed Nov 6, 2018
1 parent 4e7788f commit cf704dc
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions Documentation/devicetree/bindings/sound/renesas,rsnd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,25 @@ In DMA mode, you can select not to use SSIU by using "no-busif" via SSI.
SSIU handles BUSIF which will be used for TDM Split mode.
This driver is assuming that audio-graph card will be used.

TDM Split mode merges 4 sounds. You can see 4 sound interface on system,
and these sounds will be merged SSIU/SSI.

aplay -D plughw:0,0 xxxx.wav &
aplay -D plughw:0,1 xxxx.wav &
aplay -D plughw:0,2 xxxx.wav &
aplay -D plughw:0,3 xxxx.wav

2ch 8ch
[MEM] -> [SSIU 30] -+-> [SSIU 3] --> [Codec]
2ch |
[MEM] -> [SSIU 31] -+
2ch |
[MEM] -> [SSIU 32] -+
2ch |
[MEM] -> [SSIU 33] -+

see "Example: simple sound card for TDM Split"

=============================================
* SSI (Serial Sound Interface)
=============================================
Expand Down Expand Up @@ -648,6 +667,78 @@ rsnd_tdm: sound {
};
};

=============================================
Example: simple sound card for TDM Split
=============================================

sound_card: sound {
compatible = "audio-graph-scu-card";
prefix = "xxxx";
routing = "xxxx Playback", "DAI0 Playback",
"xxxx Playback", "DAI1 Playback",
"xxxx Playback", "DAI2 Playback",
"xxxx Playback", "DAI3 Playback";
convert-channels = <8>; /* TDM Split */

dais = <&rsnd_port0 /* playback ch1/ch2 */
&rsnd_port1 /* playback ch3/ch4 */
&rsnd_port2 /* playback ch5/ch6 */
&rsnd_port3 /* playback ch7/ch8 */
>;
};

audio-codec {
...
port {
codec_0: endpoint@1 {
remote-endpoint = <&rsnd_ep0>;
};
codec_1: endpoint@2 {
remote-endpoint = <&rsnd_ep1>;
};
codec_2: endpoint@3 {
remote-endpoint = <&rsnd_ep2>;
};
codec_3: endpoint@4 {
remote-endpoint = <&rsnd_ep3>;
};
};
};

&rcar_sound {
...
ports {
rsnd_port0: port@0 {
rsnd_ep0: endpoint {
remote-endpoint = <&codec_0>;
...
playback = <&ssiu30 &ssi3>;
};
};
rsnd_port1: port@1 {
rsnd_ep1: endpoint {
remote-endpoint = <&codec_1>;
...
playback = <&ssiu31 &ssi3>;
};
};
rsnd_port2: port@2 {
rsnd_ep2: endpoint {
remote-endpoint = <&codec_2>;
...
playback = <&ssiu32 &ssi3>;
};
};
rsnd_port3: port@3 {
rsnd_ep3: endpoint {
remote-endpoint = <&codec_3>;
...
playback = <&ssiu33 &ssi3>;
};
};
};
};

=============================================
Example: simple sound card for Multi channel
=============================================
Expand Down

0 comments on commit cf704dc

Please sign in to comment.