[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