[Sound-open-firmware] [RFC PATCH 3/4] topology: add SAMPLE_RATE token for tone comp and include it in the tone comp definition

Ranjani Sridharan ranjani.sridharan at linux.intel.com
Thu Jun 14 05:46:38 CEST 2018


Add sample_rate token for tone and modify the tone widget definition
to include the sample_rate tuple.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
---
 topology/m4/pipeline.m4   |  4 +++-
 topology/m4/tone.m4       | 11 +++++++++--
 topology/sof/pipe-tone.m4 |  2 +-
 topology/sof/tokens.m4    |  5 +++++
 4 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/topology/m4/pipeline.m4 b/topology/m4/pipeline.m4
index 0cfe486..8002d06 100644
--- a/topology/m4/pipeline.m4
+++ b/topology/m4/pipeline.m4
@@ -89,7 +89,7 @@ define(`PIPELINE_PCM_DAI_ADD',
 
 dnl PIPELINE_ADD(pipeline,
 dnl     pipe id, max channels, format,
-dnl     frames, deadline, priority, core)
+dnl     frames, deadline, priority, core, sample_rate)
 define(`PIPELINE_ADD',
 `undefine(`PIPELINE_ID')'
 `undefine(`PIPELINE_CHANNELS')'
@@ -98,6 +98,7 @@ define(`PIPELINE_ADD',
 `undefine(`SCHEDULE_DEADLINE')'
 `undefine(`SCHEDULE_PRIORITY')'
 `undefine(`SCHEDULE_CORE')'
+`undefine(`SAMPLE_RATE')'
 `define(`PIPELINE_ID', $2)'
 `define(`PIPELINE_CHANNELS', $3)'
 `define(`PIPELINE_FORMAT', $4)'
@@ -105,6 +106,7 @@ define(`PIPELINE_ADD',
 `define(`SCHEDULE_DEADLINE', $6)'
 `define(`SCHEDULE_PRIORITY', $7)'
 `define(`SCHEDULE_CORE', $8)'
+`define(`SAMPLE_RATE', $9)'
 `include($1)'
 )
 
diff --git a/topology/m4/tone.m4 b/topology/m4/tone.m4
index 6a88b37..ee0dc09 100644
--- a/topology/m4/tone.m4
+++ b/topology/m4/tone.m4
@@ -5,7 +5,7 @@ dnl Define macro for siggen widget
 dnl Tone name)
 define(`N_TONE', `TONE'PIPELINE_ID`.'$1)
 
-dnl W_TONE(name, format, periods_sink, periods_source, preload, kcontrols_list)
+dnl W_TONE(name, format, periods_sink, periods_source, preload, sample_rate, kcontrols_list)
 define(`W_TONE',
 `SectionVendorTuples."'N_TONE($1)`_tuples_w" {'
 `	tokens "sof_comp_tokens"'
@@ -15,8 +15,15 @@ define(`W_TONE',
 `		SOF_TKN_COMP_PRELOAD_COUNT'		STR($5)
 `	}'
 `}'
+`SectionVendorTuples."'N_TONE($1)`_tone_tuples_w" {'
+`	tokens "sof_tone_tokens"'
+`	tuples."word" {'
+`		SOF_TKN_TONE_SAMPLE_RATE'		STR($6)
+`	}'
+`}'
 `SectionData."'N_TONE($1)`_data_w" {'
 `	tuples "'N_TONE($1)`_tuples_w"'
+`	tuples "'N_TONE($1)`_tone_tuples_w"'
 `}'
 `SectionVendorTuples."'N_TONE($1)`_tuples_str" {'
 `	tokens "sof_comp_tokens"'
@@ -36,7 +43,7 @@ define(`W_TONE',
 `		"'N_TONE($1)`_data_str"'
 `	]'
 `	mixer ['
-		$6
+		$7
 `	]'
 `}')
 
diff --git a/topology/sof/pipe-tone.m4 b/topology/sof/pipe-tone.m4
index fc5eb00..b946d72 100644
--- a/topology/sof/pipe-tone.m4
+++ b/topology/sof/pipe-tone.m4
@@ -42,7 +42,7 @@ C_CONTROLMIXER(Tone Switch, PIPELINE_ID,
 #
 
 # "Tone 0" has 2 sink period and 0 source periods
-W_TONE(0, PIPELINE_FORMAT, 2, 0, 0, LIST(`		', "Tone Switch PIPELINE_ID"))
+W_TONE(0, PIPELINE_FORMAT, 2, 0, 0, SAMPLE_RATE, LIST(`		', "Tone Switch PIPELINE_ID"))
 
 # "Tone Volume" has 2 sink period and 2 source periods
 W_PGA(0, PIPELINE_FORMAT, 2, 2, 0, LIST(`		', "Tone Volume PIPELINE_ID"))
diff --git a/topology/sof/tokens.m4 b/topology/sof/tokens.m4
index f0b3428..89f0101 100644
--- a/topology/sof/tokens.m4
+++ b/topology/sof/tokens.m4
@@ -77,3 +77,8 @@ SectionVendorTokens."sof_dmic_pdm_tokens" {
 	SOF_TKN_INTEL_DMIC_PDM_CLK_EDGE		"705"
 	SOF_TKN_INTEL_DMIC_PDM_SKEW		"706"
 }
+
+SectionVendorTokens."sof_tone_tokens" {
+	SOF_TKN_TONE_SAMPLE_RATE		"800"
+}
+
-- 
2.17.1



More information about the Sound-open-firmware mailing list