This patch adds a m4 wrpper for Vendor Tuples sections in pipeline definition
Signed-off-by: Ranjani Sridharan ranjani.sridharan@linux.intel.com --- topology/dsps/bdw.m4 | 59 +++++---------------------------------- topology/dsps/bxt.m4 | 59 +++++---------------------------------- topology/dsps/byt.m4 | 59 +++++---------------------------------- topology/dsps/cht.m4 | 59 +++++---------------------------------- topology/dsps/hsw.m4 | 59 +++++---------------------------------- topology/m4/local.m4 | 13 +++++++++ topology/sof/pipe-pcm-media.m4 | 8 +----- topology/sof/pipe-src-capture.m4 | 8 +----- topology/sof/pipe-src-playback.m4 | 8 +----- 9 files changed, 51 insertions(+), 281 deletions(-)
diff --git a/topology/dsps/bdw.m4 b/topology/dsps/bdw.m4 index 428e8bb..ca8d712 100644 --- a/topology/dsps/bdw.m4 +++ b/topology/dsps/bdw.m4 @@ -3,94 +3,49 @@ #
# Low Latency PCM Configuration -SectionVendorTuples."pipe_ll_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "50000" - } -} +W_VENDORTUPLES(pipe_ll_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "50000"'))
SectionData."pipe_ll_schedule_plat" { tuples "pipe_ll_schedule_plat_tokens" }
# Media PCM Configuration -SectionVendorTuples."pipe_media_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "100000" - } -} +W_VENDORTUPLES(pipe_media_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "100000"'))
SectionData."pipe_media_schedule_plat" { tuples "pipe_media_schedule_plat_tokens" }
# Tone Signal Generator Configuration -SectionVendorTuples."pipe_tone_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "200000" - } -} +W_VENDORTUPLES(pipe_tone_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "200000"'))
SectionData."pipe_tone_schedule_plat" { tuples "pipe_tone_schedule_plat_tokens" }
# DAI0 platform playback configuration -SectionVendorTuples."dai0p_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" - } -} +W_VENDORTUPLES(dai0p_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC_CHAN "0"'))
SectionData."dai0p_plat_conf" { tuples "dai0p_plat_tokens" }
# DAI0 platform capture configuration -SectionVendorTuples."dai0c_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" - } -} +W_VENDORTUPLES(dai0c_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC "1"'))
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" }
# PCM platform configuration -SectionVendorTuples."pcm_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC PIPELINE_DMAC - SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN - } -} +W_VENDORTUPLES(pcm_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC PIPELINE_DMAC', `SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN'))
SectionData."pcm_plat_conf" { tuples "pcm_plat_tokens" }
# DAI schedule Configuration - scheduled by IRQ -SectionVendorTuples."pipe_dai_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "5000" - } -} +W_VENDORTUPLES(pipe_dai_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "5000"'))
SectionData."pipe_dai_schedule_plat" { tuples "pipe_dai_schedule_plat_tokens" diff --git a/topology/dsps/bxt.m4 b/topology/dsps/bxt.m4 index 688e9fa..5ab353e 100644 --- a/topology/dsps/bxt.m4 +++ b/topology/dsps/bxt.m4 @@ -3,94 +3,49 @@ #
# Low Latency PCM Configuration -SectionVendorTuples."pipe_ll_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "50000" - } -} +W_VENDORTUPLES(pipe_ll_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "50000"'))
SectionData."pipe_ll_schedule_plat" { tuples "pipe_ll_schedule_plat_tokens" }
# Media PCM Configuration -SectionVendorTuples."pipe_media_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "100000" - } -} +W_VENDORTUPLES(pipe_media_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "100000"'))
SectionData."pipe_media_schedule_plat" { tuples "pipe_media_schedule_plat_tokens" }
# Tone Signal Generator Configuration -SectionVendorTuples."pipe_tone_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "200000" - } -} +W_VENDORTUPLES(pipe_tone_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "200000"'))
SectionData."pipe_tone_schedule_plat" { tuples "pipe_tone_schedule_plat_tokens" }
# DAI0 platform playback configuration -SectionVendorTuples."dai0p_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" - } -} +W_VENDORTUPLES(dai0p_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC_CHAN "0"'))
SectionData."dai0p_plat_conf" { tuples "dai0p_plat_tokens" }
# DAI0 platform capture configuration -SectionVendorTuples."dai0c_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" - } -} +W_VENDORTUPLES(dai0c_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC "1"'))
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" }
# PCM platform configuration -SectionVendorTuples."pcm_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC PIPELINE_DMAC - SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN - } -} +W_VENDORTUPLES(pcm_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC PIPELINE_DMAC', `SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN'))
SectionData."pcm_plat_conf" { tuples "pcm_plat_tokens" }
# DAI schedule Configuration - scheduled by IRQ -SectionVendorTuples."pipe_dai_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "5000" - } -} +W_VENDORTUPLES(pipe_dai_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "5000"'))
SectionData."pipe_dai_schedule_plat" { tuples "pipe_dai_schedule_plat_tokens" diff --git a/topology/dsps/byt.m4 b/topology/dsps/byt.m4 index b4defaa..2091573 100644 --- a/topology/dsps/byt.m4 +++ b/topology/dsps/byt.m4 @@ -3,94 +3,49 @@ #
# Low Latency PCM Configuration -SectionVendorTuples."pipe_ll_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "50000" - } -} +W_VENDORTUPLES(pipe_ll_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "50000"'))
SectionData."pipe_ll_schedule_plat" { tuples "pipe_ll_schedule_plat_tokens" }
# Media PCM Configuration -SectionVendorTuples."pipe_media_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "100000" - } -} +W_VENDORTUPLES(pipe_media_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "100000"'))
SectionData."pipe_media_schedule_plat" { tuples "pipe_media_schedule_plat_tokens" }
# Tone Signal Generator Configuration -SectionVendorTuples."pipe_tone_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "200000" - } -} +W_VENDORTUPLES(pipe_tone_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "200000"'))
SectionData."pipe_tone_schedule_plat" { tuples "pipe_tone_schedule_plat_tokens" }
# DAI0 platform playback configuration -SectionVendorTuples."dai0p_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" - } -} +W_VENDORTUPLES(dai0p_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC_CHAN "0"'))
SectionData."dai0p_plat_conf" { tuples "dai0p_plat_tokens" }
# DAI0 platform capture configuration -SectionVendorTuples."dai0c_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" - } -} +W_VENDORTUPLES(dai0c_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC "1"'))
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" }
# PCM platform configuration -SectionVendorTuples."pcm_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC PIPELINE_DMAC - SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN - } -} +W_VENDORTUPLES(pcm_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC PIPELINE_DMAC', `SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN'))
SectionData."pcm_plat_conf" { tuples "pcm_plat_tokens" }
# DAI schedule Configuration - scheduled by IRQ -SectionVendorTuples."pipe_dai_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "5000" - } -} +W_VENDORTUPLES(pipe_dai_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "5000"'))
SectionData."pipe_dai_schedule_plat" { tuples "pipe_dai_schedule_plat_tokens" diff --git a/topology/dsps/cht.m4 b/topology/dsps/cht.m4 index fdee83d..97bee2b 100644 --- a/topology/dsps/cht.m4 +++ b/topology/dsps/cht.m4 @@ -3,94 +3,49 @@ #
# Low Latency PCM Configuration -SectionVendorTuples."pipe_ll_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "50000" - } -} +W_VENDORTUPLES(pipe_ll_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "50000"'))
SectionData."pipe_ll_schedule_plat" { tuples "pipe_ll_schedule_plat_tokens" }
# Media PCM Configuration -SectionVendorTuples."pipe_media_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "100000" - } -} +W_VENDORTUPLES(pipe_media_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "100000"'))
SectionData."pipe_media_schedule_plat" { tuples "pipe_media_schedule_plat_tokens" }
# Tone Signal Generator Configuration -SectionVendorTuples."pipe_tone_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "200000" - } -} +W_VENDORTUPLES(pipe_tone_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "200000"'))
SectionData."pipe_tone_schedule_plat" { tuples "pipe_tone_schedule_plat_tokens" }
# DAI0 platform playback configuration -SectionVendorTuples."dai0p_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" - } -} +W_VENDORTUPLES(dai0p_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC_CHAN "0"'))
SectionData."dai0p_plat_conf" { tuples "dai0p_plat_tokens" }
# DAI0 platform capture configuration -SectionVendorTuples."dai0c_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" - } -} +W_VENDORTUPLES(dai0c_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC "1"'))
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" }
# PCM platform configuration -SectionVendorTuples."pcm_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC PIPELINE_DMAC - SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN - } -} +W_VENDORTUPLES(pcm_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC PIPELINE_DMAC', `SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN'))
SectionData."pcm_plat_conf" { tuples "pcm_plat_tokens" }
# DAI schedule Configuration - scheduled by IRQ -SectionVendorTuples."pipe_dai_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "5000" - } -} +W_VENDORTUPLES(pipe_dai_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "5000"'))
SectionData."pipe_dai_schedule_plat" { tuples "pipe_dai_schedule_plat_tokens" diff --git a/topology/dsps/hsw.m4 b/topology/dsps/hsw.m4 index edb417f..9233e45 100644 --- a/topology/dsps/hsw.m4 +++ b/topology/dsps/hsw.m4 @@ -3,94 +3,49 @@ #
# Low Latency PCM Configuration -SectionVendorTuples."pipe_ll_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "50000" - } -} +W_VENDORTUPLES(pipe_ll_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "50000"'))
SectionData."pipe_ll_schedule_plat" { tuples "pipe_ll_schedule_plat_tokens" }
# Media PCM Configuration -SectionVendorTuples."pipe_media_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "100000" - } -} +W_VENDORTUPLES(pipe_media_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "100000"'))
SectionData."pipe_media_schedule_plat" { tuples "pipe_media_schedule_plat_tokens" }
# Tone Signal Generator Configuration -SectionVendorTuples."pipe_tone_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "200000" - } -} +W_VENDORTUPLES(pipe_tone_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "200000"'))
SectionData."pipe_tone_schedule_plat" { tuples "pipe_tone_schedule_plat_tokens" }
# DAI0 platform playback configuration -SectionVendorTuples."dai0p_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "0" - } -} +W_VENDORTUPLES(dai0p_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC_CHAN "0"'))
SectionData."dai0p_plat_conf" { tuples "dai0p_plat_tokens" }
# DAI0 platform capture configuration -SectionVendorTuples."dai0c_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC "1" - SOF_TKN_DAI_DMAC_CHAN "1" - } -} +W_VENDORTUPLES(dai0c_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC "1"', `SOF_TKN_DAI_DMAC "1"'))
SectionData."dai0c_plat_conf" { tuples "dai0c_plat_tokens" }
# PCM platform configuration -SectionVendorTuples."pcm_plat_tokens" { - tokens "sof_dai_tokens" - - tuples."word" { - SOF_TKN_DAI_DMAC PIPELINE_DMAC - SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN - } -} +W_VENDORTUPLES(pcm_plat_tokens, sof_dai_tokens, TUPLES(`SOF_TKN_DAI_DMAC PIPELINE_DMAC', `SOF_TKN_DAI_DMAC_CHAN PIPELINE_DMAC_CHAN'))
SectionData."pcm_plat_conf" { tuples "pcm_plat_tokens" }
# DAI schedule Configuration - scheduled by IRQ -SectionVendorTuples."pipe_dai_schedule_plat_tokens" { - tokens "sof_sched_tokens" - - tuples."word" { - SOF_TKN_SCHED_MIPS "5000" - } -} +W_VENDORTUPLES(pipe_dai_schedule_plat_tokens, sof_sched_tokens, TUPLES(`SOF_TKN_SCHED_MIPS "5000"'))
SectionData."pipe_dai_schedule_plat" { tuples "pipe_dai_schedule_plat_tokens" diff --git a/topology/m4/local.m4 b/topology/m4/local.m4 index 7e99a60..e48a9d5 100644 --- a/topology/m4/local.m4 +++ b/topology/m4/local.m4 @@ -19,6 +19,9 @@ define(`PIPELINEGRAPH', `pushdef(`i', $#)pushdef(`j', `1')PIPELINEGRAPH_LOOP($@) define(`PIPELINEGRAPH_LOOP',`argn(j,$@) ifelse(i,`1', `',`define(`i', decr(i))define(`j', incr(j))$0($@)')')
+define(`TUPLES', `pushdef(`i', $#)pushdef(`j', `1')TUPLES_LOOP($@)popdef(i)popdef(j)') +define(`TUPLES_LOOP',`argn(j,$@) + ifelse(i,`1', `',`define(`i', decr(i))define(`j', incr(j))$0($@)')')
dnl create direct DAPM/pipeline link between 2 widgets) define(`dapm', `"$1, , $2"') @@ -628,6 +631,16 @@ define(`PCM_CAPABILITIES', ` buffer_size_max STR($12)' `}')
+dnl W_VENDORTUPLES(name, tokens, RATE_OUT) +define(`W_VENDORTUPLES', +`SectionVendorTuples.STR($1) {' +` tokens STR($2)' +`' +` tuples."word" {' +` $3' +` }' +`}') + divert(0) dnl
diff --git a/topology/sof/pipe-pcm-media.m4 b/topology/sof/pipe-pcm-media.m4 index dd89361..2bf2bd4 100644 --- a/topology/sof/pipe-pcm-media.m4 +++ b/topology/sof/pipe-pcm-media.m4 @@ -26,13 +26,7 @@ C_CONTROLMIXER(PCM PCM_ID Playback Volume, PIPELINE_ID, # SRC Configuration #
-SectionVendorTuples."media_src_tokens" { - tokens "sof_src_tokens" - - tuples."word" { - SOF_TKN_SRC_RATE_OUT "48000" - } -} +W_VENDORTUPLES(media_src_tokens, sof_src_tokens, TUPLES(`SOF_TKN_SRC_RATE_OUT "48000"'))
SectionData."media_src_conf" { tuples "media_src_tokens" diff --git a/topology/sof/pipe-src-capture.m4 b/topology/sof/pipe-src-capture.m4 index e1ae5a9..a58242d 100644 --- a/topology/sof/pipe-src-capture.m4 +++ b/topology/sof/pipe-src-capture.m4 @@ -20,13 +20,7 @@ W_PCM_CAPTURE(Passthrough Capture, PIPELINE_DMAC, PIPELINE_DMAC_CHAN, 4, 0, 2) # SRC Configuration #
-SectionVendorTuples."media_src_tokens" { - tokens "sof_src_tokens" - - tuples."word" { - SOF_TKN_SRC_RATE_OUT "48000" - } -} +W_VENDORTUPLES(media_src_tokens, sof_src_tokens, TUPLES(`SOF_TKN_SRC_RATE_OUT "48000"'))
SectionData."media_src_conf" { tuples "media_src_tokens" diff --git a/topology/sof/pipe-src-playback.m4 b/topology/sof/pipe-src-playback.m4 index 276a510..0fc7fcc 100644 --- a/topology/sof/pipe-src-playback.m4 +++ b/topology/sof/pipe-src-playback.m4 @@ -20,13 +20,7 @@ W_PCM_PLAYBACK(Passthrough Playback, PIPELINE_DMAC, PIPELINE_DMAC_CHAN, 4, 0, 2) # SRC Configuration #
-SectionVendorTuples."media_src_tokens" { - tokens "sof_src_tokens" - - tuples."word" { - SOF_TKN_SRC_RATE_OUT "48000" - } -} +W_VENDORTUPLES(media_src_tokens, sof_src_tokens, TUPLES(`SOF_TKN_SRC_RATE_OUT "48000"'))
SectionData."media_src_conf" { tuples "media_src_tokens"