[PATCH v3 13/16] ASoC: rich-graph-card-sample.dtsi: add DPCM sample (Single)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>

This patch adds DPCM link Single-CPU/Codec sample to
rich-graph-card-sample.dtsi.
This sample is assuming MIXer connection.

	FE		BE
		****
	CPU3 -- *  * -- Codec3
	CPU4 -- *  *
		****

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
---
 sound/soc/generic/rich-graph-card-sample.dtsi | 36 +++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/sound/soc/generic/rich-graph-card-sample.dtsi b/sound/soc/generic/rich-graph-card-sample.dtsi
index 7339d1999f99..2402827bbdaf 100644
--- a/sound/soc/generic/rich-graph-card-sample.dtsi
+++ b/sound/soc/generic/rich-graph-card-sample.dtsi
@@ -30,6 +30,13 @@ / {
 	 *	cpu1 <--| |<-@--------->| |-> codec1
 	 *	cpu2 <--| |		| |-> codec2
 	 *		+-+		+-+
+	 *
+	 * [DPCM]
+	 *	FE		BE
+	 *		  ****
+	 *	cpu3 <-@--*  *--@-> codec3
+	 *	cpu4 <-@--*  *
+	 *		  ****
 	 */
 	rich-graph-card-sample {
 		/*
@@ -39,8 +46,16 @@ rich-graph-card-sample {
 		 */
 		compatible = "rich-custom-card-sample";
 
+			/* for [DPCM]		   */
+			/* BE			FE */
+		routing = "TC DAI3 Playback",	"DAI3 Playback",
+			  "TC DAI3 Playback",	"DAI4 Playback",
+			  "DAI3 Capture",	"TC DAI3 Capture",
+			  "DAI4 Capture",	"TC DAI3 Capture";
+
 		links = <&cpu0			/* normal: cpu side only */
 			 &mcpu0			/* multi:  cpu side only */
+			 &fe00 &fe01 &be0	/* dpcm:   both FE / BE  */
 		>;
 
 		multi {
@@ -55,6 +70,18 @@ ports@1 {
 				port@2 { mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
 			};
 		};
+
+		dpcm {
+			/* FE */
+			ports@0 {
+			fe00:	port@0 { fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };
+			fe01:	port@1 { fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };
+			};
+			/* BE */
+			ports@1 {
+			be0:	port@0 { be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };
+			};
+		};
 	};
 
 	test_cpu {
@@ -72,6 +99,8 @@ ports {
 			cpu0: port@0 { cpu0_ep: endpoint { remote-endpoint = <&codec0_ep>; }; };
 			      port@1 { cpu1_ep: endpoint { remote-endpoint = <&mcpu1_ep>; }; };
 			      port@2 { cpu2_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; };
+			      port@3 { cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };
+			      port@4 { cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };
 		};
 	};
 
@@ -85,9 +114,16 @@ test_codec {
 		 */
 		compatible = "test-codec";
 		ports {
+			/*
+			 * prefix can be added to *component*,
+			 * see rich-graph-card::routing
+			 */
+			prefix = "TC";
+
 			port@0  { codec0_ep:  endpoint { remote-endpoint = <&cpu0_ep>; }; };
 			port@1  { codec1_ep:  endpoint { remote-endpoint = <&mcodec1_ep>; }; };
 			port@2  { codec2_ep:  endpoint { remote-endpoint = <&mcodec2_ep>; }; };
+			port@3  { codec3_ep:  endpoint { remote-endpoint = <&be00_ep>; }; };
 		};
 	};
 };
-- 
2.25.1




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux