[Sound-open-firmware] [RFC PATCH 3/5] topology: m4: add switch widget

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


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

Add macro to build for switch widget

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

diff --git a/topology/m4/switch.m4 b/topology/m4/switch.m4
new file mode 100644
index 0000000..33be9f2
--- /dev/null
+++ b/topology/m4/switch.m4
@@ -0,0 +1,46 @@
+divert(-1)
+
+dnl Define macro for Switch widget
+
+dnl Mixer Name)
+define(`N_SWITCH', `SWITCH'PIPELINE_ID`.'$1)
+
+dnl Pipe Buffer name in pipeline (pipeline, buffer)
+define(`NPIPELINE_SWITCH', `SWITCH'$1`.'$2)
+
+dnl W_SWITCH(name, format, periods_sink, periods_source, preload, kcontrols_list)
+define(`W_SWITCH',
+`SectionVendorTuples."'N_SWITCH($1)`_tuples_w" {'
+`	tokens "sof_comp_tokens"'
+`	tuples."word" {'
+`		SOF_TKN_COMP_PERIOD_SINK_COUNT'		STR($3)
+`		SOF_TKN_COMP_PERIOD_SOURCE_COUNT'	STR($4)
+`		SOF_TKN_COMP_PRELOAD_COUNT'		STR($5)
+`	}'
+`}'
+`SectionData."'N_SWITCH($1)`_data_w" {'
+`	tuples "'N_SWITCH($1)`_tuples_w"'
+`}'
+`SectionVendorTuples."'N_SWITCH($1)`_tuples_str" {'
+`	tokens "sof_comp_tokens"'
+`	tuples."string" {'
+`		SOF_TKN_COMP_FORMAT'	STR($2)
+`	}'
+`}'
+`SectionData."'N_SWITCH($1)`_data_str" {'
+`	tuples "'N_SWITCH($1)`_tuples_str"'
+`}'
+`SectionWidget."'N_SWITCH($1)`" {'
+`	index "'PIPELINE_ID`"'
+`	type "mixer"'
+`	no_pm "true"'
+`	data ['
+`		"'N_SWITCH($1)`_data_w"'
+`		"'N_SWITCH($1)`_data_str"'
+`	]'
+`	mixer ['
+		$6
+`	]'
+`}')
+
+divert(0)dnl
-- 
2.7.4



More information about the Sound-open-firmware mailing list