[PATCH v4 14/16] ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi)

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Wed Oct 6 02:35:52 CEST 2021


From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>

This patch adds DPCM link Multi-CPU/Codec sample to
audio-graph-card2-custom-sample.dtsi.
This sample is assuming MIXer connection.
One note is that Multi-FE is not supported on ASoC

	FE		BE
		****	+-+
	CPU5 -- *  * -- | | -- Codec4
	CPU6 -- *  *	| | -- Codec5
		****	+-+

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
---
 .../audio-graph-card2-custom-sample.dtsi      | 36 ++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
index b03dbce504cb..4bc96e0aa447 100644
--- a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
+++ b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi
@@ -37,6 +37,17 @@ / {
 	 *	cpu3 <- at --*  *-- at -> codec3
 	 *	cpu4 <- at --*  *
 	 *		  ****
+	 *
+	 * [DPCM-Multi]
+	 *
+	 * --NOTE--
+	 * Multi-FE is not supported by ASoC.
+	 *
+	 *	FE		BE
+	 *		  ****	    +-+
+	 *	cpu5 <- at --*  *-- at -> | | -> codec4
+	 *	cpu6 <- at --*  *	    | | -> codec5
+	 *		  ****	    +-+
 	 */
 	audio-graph-card2-custom-sample {
 		/*
@@ -51,11 +62,22 @@ audio-graph-card2-custom-sample {
 		routing = "TC DAI3 Playback",	"DAI3 Playback",
 			  "TC DAI3 Playback",	"DAI4 Playback",
 			  "DAI3 Capture",	"TC DAI3 Capture",
-			  "DAI4 Capture",	"TC DAI3 Capture";
+			  "DAI4 Capture",	"TC DAI3 Capture",
+			/* for [DPCM-Multi]	   */
+			/* BE			FE */
+			  "TC DAI4 Playback",	"DAI5 Playback",
+			  "TC DAI5 Playback",	"DAI5 Playback",
+			  "TC DAI4 Playback",	"DAI6 Playback",
+			  "TC DAI5 Playback",	"DAI6 Playback",
+			  "DAI5 Capture",	"TC DAI4 Capture",
+			  "DAI5 Capture",	"TC DAI5 Capture",
+			  "DAI6 Capture",	"TC DAI4 Capture",
+			  "DAI6 Capture",	"TC DAI5 Capture";
 
 		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  */
 		>;
 
 		multi {
@@ -69,6 +91,11 @@ ports at 1 {
 				port at 1 { mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
 				port at 2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
 			};
+			ports at 2 {
+				port at 0 { mbe_ep:  endpoint { remote-endpoint = <&be10_ep>;  }; };
+				port at 1 { mbe1_ep: endpoint { remote-endpoint = <&codec4_ep>; }; };
+				port at 2 { mbe2_ep: endpoint { remote-endpoint = <&codec5_ep>; }; };
+			};
 		};
 
 		dpcm {
@@ -76,10 +103,13 @@ dpcm {
 			ports at 0 {
 			fe00:	port at 0 { fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };
 			fe01:	port at 1 { fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };
+			fe10:	port at 2 { fe10_ep: endpoint { remote-endpoint = <&cpu5_ep>; }; };
+			fe11:	port at 3 { fe11_ep: endpoint { remote-endpoint = <&cpu6_ep>; }; };
 			};
 			/* BE */
 			ports at 1 {
 			be0:	port at 0 { be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };
+			be1:	port at 1 { be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };
 			};
 		};
 	};
@@ -102,6 +132,8 @@ ports {
 			      port at 2 { cpu2_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; };
 			      port at 3 { cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };
 			      port at 4 { cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };
+			      port at 5 { cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; };
+			      port at 6 { cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; };
 		};
 	};
 
@@ -126,6 +158,8 @@ ports {
 			port at 1  { codec1_ep:  endpoint { remote-endpoint = <&mcodec1_ep>; }; };
 			port at 2  { codec2_ep:  endpoint { remote-endpoint = <&mcodec2_ep>; }; };
 			port at 3  { codec3_ep:  endpoint { remote-endpoint = <&be00_ep>; }; };
+			port at 4  { codec4_ep:  endpoint { remote-endpoint = <&mbe1_ep>; }; };
+			port at 5  { codec5_ep:  endpoint { remote-endpoint = <&mbe2_ep>; }; };
 		};
 	};
 };
-- 
2.25.1



More information about the Alsa-devel mailing list