diff mbox series

[v3,15/16] ASoC: rich-graph-card-sample.dtsi: add Codec2Codec sample (Single)

Message ID 878s05usu2.wl-kuninori.morimoto.gx@renesas.com
State New
Headers show
Series ASoC: Add Rich Graph Card support | expand

Commit Message

Kuninori Morimoto Sept. 10, 2021, 1:23 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

This patch adds Codec2Codec-Single sample to rich-graph-card-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-rich-graph-card rich-graph-card-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>
---
 sound/soc/generic/rich-graph-card-sample.dtsi | 23 ++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/sound/soc/generic/rich-graph-card-sample.dtsi b/sound/soc/generic/rich-graph-card-sample.dtsi
index 25b9c52cb072..f67adae0322c 100644
--- a/sound/soc/generic/rich-graph-card-sample.dtsi
+++ b/sound/soc/generic/rich-graph-card-sample.dtsi
@@ -48,6 +48,11 @@  / {
 	 *	cpu5 <-@--*  *--@-> | | -> codec4
 	 *	cpu6 <-@--*  *	    | | -> codec5
 	 *		  ****	    +-+
+	 *
+	 * [Codec2Codec]
+	 *			   +-@-> codec6
+	 *			   |
+	 *			   +---> codec7
 	 */
 	rich-graph-card-sample {
 		/*
@@ -72,12 +77,16 @@  rich-graph-card-sample {
 			  "DAI5 Capture",	"TC DAI4 Capture",
 			  "DAI5 Capture",	"TC DAI5 Capture",
 			  "DAI6 Capture",	"TC DAI4 Capture",
-			  "DAI6 Capture",	"TC DAI5 Capture";
+			  "DAI6 Capture",	"TC DAI5 Capture",
+			/* for [Codec2Codec] */
+			  "TC OUT",		"TC DAI7 Playback",
+			  "TC DAI6 Capture",	"TC IN";
 
 		links = <&cpu0			/* normal: cpu side only */
 			 &mcpu0			/* multi:  cpu side only */
 			 &fe00 &fe01 &be0	/* dpcm:   both FE / BE  */
 			 &fe10 &fe11 &be1	/* dpcm-m: both FE / BE  */
+			 &c2c			/* c2c:    cpu side only */
 		>;
 
 		multi {
@@ -112,6 +121,14 @@  ports@1 {
 			be1:	port@1 { be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };
 			};
 		};
+
+		codec2codec {
+			ports@0 {
+				rate = <48000>;
+			c2c:	port@0 { c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; };
+				port@1 { c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; };
+			};
+		};
 	};
 
 	test_cpu {
@@ -158,6 +175,10 @@  ports {
 			port@3  { codec3_ep:  endpoint { remote-endpoint = <&be00_ep>; }; };
 			port@4  { codec4_ep:  endpoint { remote-endpoint = <&mbe1_ep>; }; };
 			port@5  { codec5_ep:  endpoint { remote-endpoint = <&mbe2_ep>; }; };
+			port@6  { bitclock-master;
+				  frame-master;
+				  codec6_ep:  endpoint { remote-endpoint = <&c2cf_ep>; }; };
+			port@7  { codec7_ep:  endpoint { remote-endpoint = <&c2cb_ep>; }; };
 		};
 	};
 };