[Sound-open-firmware] [RFC PATCH 4/5] topology: sof: add pipeline loopback dai

Xiuli Pan xiuli.pan at linux.intel.com
Wed May 30 11:51:28 CEST 2018


From: Pan Xiuli <xiuli.pan at linux.intel.com>

Add a switch widget for playback dai as the loopback dai.
The switch will control the software dai loopback.

Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>
---
 topology/sof/pipe-dai-loopback.m4 | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 topology/sof/pipe-dai-loopback.m4

diff --git a/topology/sof/pipe-dai-loopback.m4 b/topology/sof/pipe-dai-loopback.m4
new file mode 100644
index 0000000..e62f6b0
--- /dev/null
+++ b/topology/sof/pipe-dai-loopback.m4
@@ -0,0 +1,36 @@
+# DAI Playback connector
+
+# Include topology builder
+include(`utils.m4')
+include(`dai.m4')
+include(`pipeline.m4')
+include(`mixercontrol.m4')
+include(`switch.m4')
+
+#
+# DAI definitions
+#
+C_CONTROLMIXER(Loop Back Switch, PIPELINE_ID,
+	CONTROLMIXER_OPS(volsw, 256 binds the mixer control to volume get/put handlers, volsw, volsw),
+	CONTROLMIXER_MIN(, 0),
+	CONTROLMIXER_MAX(, 1),
+	false,
+	,
+	Channel register and shift for Front Left/Right,
+	LIST(`	', KCONTROL_CHANNEL(FL, 2, 0), KCONTROL_CHANNEL(FR, 2, 1)))
+
+W_DAI_OUT(DAI_TYPE, DAI_INDEX, DAI_BE, DAI_FORMAT, 0, 2, 2, dai0p_plat_conf)
+W_SWITCH(LoopBack, DAI_FORMAT, 1, 1, 1, LIST(`               ', "Loop Back Switch PIPELINE_ID"))
+
+#
+# DAI pipeline - always use 0 for DAIs
+#
+W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
+
+#
+# Graph connections to pipelines
+
+P_GRAPH(DAI_NAME, PIPELINE_ID,
+	LIST(`		',
+	`kdapm(N_SWITCH(LoopBack), Loop Back Switch PIPELINE_ID, DAI_BUF)',
+	`dapm(N_DAI_OUT, N_SWITCH(LoopBack))'))
-- 
2.7.4



More information about the Sound-open-firmware mailing list