Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single)

This patch adds Codec2Codec-Single sample to audio-graph-card2-custom-sample.dtsi.
Because it can use very basic connection only for now,
it can use only

- 2channels
- S32_LE format

Test-Component driver has "IN" and "OUT" widget. Thus the route is

+--+
| | <-- Codec6 <-- IN
| | --> Codec7 --> OUT
+--+

One note here is that it will start works when it boot.
In other words we can't stop it so far.
We need to update driver for it in the future.

...
asoc-audio-graph-card2-custom-sample: test_codec.7 <-> test_codec.6 mapping ok
test-component test_codec: test_dai_startup() : test_codec.6
test-component test_codec: test_dai_startup() : test_codec.7
...

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87o87ulu2o.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Kuninori Morimoto and committed by
Mark Brown
349b15ef cb2d94aa

+22 -1
+22 -1
sound/soc/generic/audio-graph-card2-custom-sample.dtsi
··· 48 48 * cpu5 <-@--* *--@-> | | -> codec4 49 49 * cpu6 <-@--* * | | -> codec5 50 50 * **** +-+ 51 + * 52 + * [Codec2Codec] 53 + * +-@-> codec6 54 + * | 55 + * +---> codec7 51 56 */ 52 57 audio-graph-card2-custom-sample { 53 58 /* ··· 77 72 "DAI5 Capture", "TC DAI4 Capture", 78 73 "DAI5 Capture", "TC DAI5 Capture", 79 74 "DAI6 Capture", "TC DAI4 Capture", 80 - "DAI6 Capture", "TC DAI5 Capture"; 75 + "DAI6 Capture", "TC DAI5 Capture", 76 + /* for [Codec2Codec] */ 77 + "TC OUT", "TC DAI7 Playback", 78 + "TC DAI6 Capture", "TC IN"; 81 79 82 80 links = <&cpu0 /* normal: cpu side only */ 83 81 &mcpu0 /* multi: cpu side only */ 84 82 &fe00 &fe01 &be0 /* dpcm: both FE / BE */ 85 83 &fe10 &fe11 &be1 /* dpcm-m: both FE / BE */ 84 + &c2c /* c2c: cpu side only */ 86 85 >; 87 86 88 87 multi { ··· 119 110 ports@1 { 120 111 be0: port@0 { be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; }; 121 112 be1: port@1 { be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; }; 113 + }; 114 + }; 115 + 116 + codec2codec { 117 + ports@0 { 118 + rate = <48000>; 119 + c2c: port@0 { c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; }; 120 + port@1 { c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; }; 122 121 }; 123 122 }; 124 123 }; ··· 177 160 port@3 { codec3_ep: endpoint { remote-endpoint = <&be00_ep>; }; }; 178 161 port@4 { codec4_ep: endpoint { remote-endpoint = <&mbe1_ep>; }; }; 179 162 port@5 { codec5_ep: endpoint { remote-endpoint = <&mbe2_ep>; }; }; 163 + port@6 { bitclock-master; 164 + frame-master; 165 + codec6_ep: endpoint { remote-endpoint = <&c2cf_ep>; }; }; 166 + port@7 { codec7_ep: endpoint { remote-endpoint = <&c2cb_ep>; }; }; 180 167 }; 181 168 }; 182 169 };