[Sound-open-firmware] [PATCH] topology: Add support for DAI pipeline ID config
Allow topology to configure the pipeline ID of any DAI specific pipeline instead of using 0.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- topology/m4/build.m4 | 26 +++++++++++++------------- topology/reef-apl-nocodec.m4 | 4 ++-- topology/reef-bdw-rt286.m4 | 4 ++-- topology/reef-bdw-rt5640.m4 | 4 ++-- topology/reef-bxt-nocodec.m4 | 4 ++-- topology/reef-byt-nocodec.m4 | 4 ++-- topology/reef-byt-rt5640.m4 | 4 ++-- topology/reef-byt-rt5651.m4 | 4 ++-- topology/reef-cht-nocodec.m4 | 4 ++-- topology/reef-hsw-rt5640.m4 | 4 ++-- 10 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/topology/m4/build.m4 b/topology/m4/build.m4 index 7d248da..273e6b4 100644 --- a/topology/m4/build.m4 +++ b/topology/m4/build.m4 @@ -81,7 +81,7 @@ define(`PIPELINE_ADD', `include($1)' )
-dnl DAI_ADD(pipeline, dai type, dai_index, stream_name, buffer, periods, format, frames, deadline, priority, core) +dnl DAI_ADD(pipeline, pipeline id, dai type, dai_index, stream_name, buffer, periods, format, frames, deadline, priority, core) define(`DAI_ADD', `undefine(`PIPELINE_ID')' `undefine(`DAI_TYPE')' @@ -94,18 +94,18 @@ define(`DAI_ADD', `undefine(`SCHEDULE_DEADLINE')' `undefine(`SCHEDULE_PRIORITY')' `undefine(`SCHEDULE_CORE')' -`define(`PIPELINE_ID', 0)' -`define(`DAI_TYPE', STR($2))' -`define(`DAI_INDEX', STR($3))' -`define(`DAI_SNAME', $4)' -`define(`DAI_BUF', $5)' -`define(`DAI_NAME', $2$3)' -`define(`DAI_PERIODS', $6)' -`define(`DAI_FORMAT', $7)' -`define(`SCHEDULE_FRAMES', $8)' -`define(`SCHEDULE_DEADLINE', $9)' -`define(`SCHEDULE_PRIORITY', $10)' -`define(`SCHEDULE_CORE', $11)' +`define(`PIPELINE_ID', $2)' +`define(`DAI_TYPE', STR($3))' +`define(`DAI_INDEX', STR($4))' +`define(`DAI_SNAME', $5)' +`define(`DAI_BUF', $6)' +`define(`DAI_NAME', $3$4)' +`define(`DAI_PERIODS', $7)' +`define(`DAI_FORMAT', $8)' +`define(`SCHEDULE_FRAMES', $9)' +`define(`SCHEDULE_DEADLINE', $10)' +`define(`SCHEDULE_PRIORITY', $11)' +`define(`SCHEDULE_CORE', $12)' `include($1)' )
diff --git a/topology/reef-apl-nocodec.m4 b/topology/reef-apl-nocodec.m4 index ef80fd3..068c06b 100644 --- a/topology/reef-apl-nocodec.m4 +++ b/topology/reef-apl-nocodec.m4 @@ -75,11 +75,11 @@ SectionGraph."pipe-apl-nocodec" {
# playback DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-bdw-rt286.m4 b/topology/reef-bdw-rt286.m4 index e3f8dd9..1a6042a 100644 --- a/topology/reef-bdw-rt286.m4 +++ b/topology/reef-bdw-rt286.m4 @@ -75,11 +75,11 @@ SectionGraph."pipe-bdw-rt286" {
# playback DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-bdw-rt5640.m4 b/topology/reef-bdw-rt5640.m4 index 4344605..2453103 100644 --- a/topology/reef-bdw-rt5640.m4 +++ b/topology/reef-bdw-rt5640.m4 @@ -75,11 +75,11 @@ SectionGraph."pipe-bdw-rt5640" {
# playback DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-bxt-nocodec.m4 b/topology/reef-bxt-nocodec.m4 index 486d4ea..e86b30f 100644 --- a/topology/reef-bxt-nocodec.m4 +++ b/topology/reef-bxt-nocodec.m4 @@ -75,11 +75,11 @@ SectionGraph."pipe-bxt-nocodec" {
# playback DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-byt-nocodec.m4 b/topology/reef-byt-nocodec.m4 index 938666d..27e7468 100644 --- a/topology/reef-byt-nocodec.m4 +++ b/topology/reef-byt-nocodec.m4 @@ -66,11 +66,11 @@ SectionGraph."pipe-byt-nocodec" {
# playback DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-byt-rt5640.m4 b/topology/reef-byt-rt5640.m4 index 05743e2..8d70e52 100644 --- a/topology/reef-byt-rt5640.m4 +++ b/topology/reef-byt-rt5640.m4 @@ -66,11 +66,11 @@ SectionGraph."pipe-byt-rt5640" {
# playback DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, Audio, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, Audio, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, Audio, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, Audio, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-byt-rt5651.m4 b/topology/reef-byt-rt5651.m4 index cb9dcc2..b759137 100644 --- a/topology/reef-byt-rt5651.m4 +++ b/topology/reef-byt-rt5651.m4 @@ -66,11 +66,11 @@ SectionGraph."pipe-byt-rt5651" {
# playback DAI is SSP2 using "Audio" DAPM stream name and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, Audio, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, Audio, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using "Audio" DAPM stream name and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, Audio, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, Audio, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-cht-nocodec.m4 b/topology/reef-cht-nocodec.m4 index 52e8d50..5f2be4c 100644 --- a/topology/reef-cht-nocodec.m4 +++ b/topology/reef-cht-nocodec.m4 @@ -66,11 +66,11 @@ SectionGraph."pipe-cht-nocodec" {
# playback DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 2, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP2 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 2, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present diff --git a/topology/reef-hsw-rt5640.m4 b/topology/reef-hsw-rt5640.m4 index af18633..f64d36b 100644 --- a/topology/reef-hsw-rt5640.m4 +++ b/topology/reef-hsw-rt5640.m4 @@ -75,11 +75,11 @@ SectionGraph."pipe-hsw-rt5640" {
# playback DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-playback.m4, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, 0, I2S, PIPELINE_SOURCE_1, 2, s24le, 48, 1000, 0, 0)
# capture DAI is SSP0 using I2S DAPM stream and 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priorty 0 -DAI_ADD(sof/pipe-dai-capture.m4, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0) +DAI_ADD(sof/pipe-dai-capture.m4, 1, SSP, 0, I2S, PIPELINE_SINK_2, 2, s24le, 48, 1000, 0, 0)
# # BE configurations - overrides config in ACPI if present
Add a flag to specify whether the pipeline processing work can be scheduled via a timer or an IRQ source. IRQ scheduling will primarily be used by pipelines that include a DAI.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- topology/m4/local.m4 | 5 +++-- topology/sof/pipe-dai-capture.m4 | 2 +- topology/sof/pipe-dai-playback.m4 | 2 +- topology/sof/pipe-low-latency-capture.m4 | 2 +- topology/sof/pipe-low-latency-playback.m4 | 2 +- topology/sof/pipe-passthrough-playback.m4 | 2 +- topology/sof/pipe-passthrough-vol-playback.m4 | 2 +- topology/sof/pipe-pcm-media.m4 | 2 +- topology/sof/pipe-tone.m4 | 2 +- topology/sof/tokens.m4 | 1 + 10 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/topology/m4/local.m4 b/topology/m4/local.m4 index 5ff0a3d..50c6b5d 100644 --- a/topology/m4/local.m4 +++ b/topology/m4/local.m4 @@ -370,7 +370,7 @@ define(`NPIPELINE_BUFFER', `BUF'$1`.'$2) dnl Pipeline name) define(`N_PIPELINE', `PIPELINE.'PIPELINE_ID`.'$1)
-dnl W_PIPELINE(stream, deadline, priority, frames, core, platform) +dnl W_PIPELINE(stream, deadline, priority, frames, core, timer, platform) define(`W_PIPELINE', `SectionVendorTuples."'N_PIPELINE($1)`_tuples" {' ` tokens "sof_sched_tokens"' @@ -379,6 +379,7 @@ define(`W_PIPELINE', ` SOF_TKN_SCHED_PRIORITY' STR($3) ` SOF_TKN_SCHED_CORE' STR($5) ` SOF_TKN_SCHED_FRAMES' STR($4) +` SOF_TKN_SCHED_TIMER' STR($6) ` }' `}' `SectionData."'N_PIPELINE($1)`_data" {' @@ -391,7 +392,7 @@ define(`W_PIPELINE', ` stream_name "'$1`"' ` data [' ` "'N_PIPELINE($1)`_data"' -` "'$6`"' +` "'$7`"' ` ]' `}')
diff --git a/topology/sof/pipe-dai-capture.m4 b/topology/sof/pipe-dai-capture.m4 index cc44c0e..45c6ff4 100644 --- a/topology/sof/pipe-dai-capture.m4 +++ b/topology/sof/pipe-dai-capture.m4 @@ -11,7 +11,7 @@ W_DAI_IN(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 2, 0, 0, dai0c_plat_conf) # # DAI pipeline - always use 0 for DAIs # -W_PIPELINE(N_DAI_IN, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat) +W_PIPELINE(N_DAI_IN, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
# # Graph connections to pipelines diff --git a/topology/sof/pipe-dai-playback.m4 b/topology/sof/pipe-dai-playback.m4 index f0967c2..f99aac0 100644 --- a/topology/sof/pipe-dai-playback.m4 +++ b/topology/sof/pipe-dai-playback.m4 @@ -11,7 +11,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, 2, 2, dai0p_plat_conf) # # DAI pipeline - always use 0 for DAIs # -W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat) +W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
# # Graph connections to pipelines diff --git a/topology/sof/pipe-low-latency-capture.m4 b/topology/sof/pipe-low-latency-capture.m4 index d041dca..22df648 100644 --- a/topology/sof/pipe-low-latency-capture.m4 +++ b/topology/sof/pipe-low-latency-capture.m4 @@ -81,7 +81,7 @@ indir(`define', concat(`PIPELINE_SINK_', PIPELINE_ID), N_BUFFER(0)) # Pipeline Configuration. #
-W_PIPELINE(N_PGA(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat) +#W_PIPELINE(N_PGA(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
# # PCM Configuration diff --git a/topology/sof/pipe-low-latency-playback.m4 b/topology/sof/pipe-low-latency-playback.m4 index 3db55cf..c29165e 100644 --- a/topology/sof/pipe-low-latency-playback.m4 +++ b/topology/sof/pipe-low-latency-playback.m4 @@ -146,7 +146,7 @@ indir(`define', concat(`PIPELINE_MIXER_', PIPELINE_ID), N_MIXER(0)) # Pipeline Configuration. #
-W_PIPELINE(N_PGA(1), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat) +#W_PIPELINE(N_PGA(1), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_ll_schedule_plat)
# # PCM Configuration diff --git a/topology/sof/pipe-passthrough-playback.m4 b/topology/sof/pipe-passthrough-playback.m4 index 732e173..46ed949 100644 --- a/topology/sof/pipe-passthrough-playback.m4 +++ b/topology/sof/pipe-passthrough-playback.m4 @@ -28,7 +28,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, 2, 2, dai0p_plat_conf) # # DAI pipeline - always use 0 for DAIs # -W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_dai_schedule_plat) +W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
# # Pipeline Graph diff --git a/topology/sof/pipe-passthrough-vol-playback.m4 b/topology/sof/pipe-passthrough-vol-playback.m4 index be3f9ec..ffc9000 100644 --- a/topology/sof/pipe-passthrough-vol-playback.m4 +++ b/topology/sof/pipe-passthrough-vol-playback.m4 @@ -65,7 +65,7 @@ W_DAI_OUT(DAI_SNAME, DAI_TYPE, DAI_INDEX, DAI_FORMAT, 0, DAI_PERIODS, # DAI pipeline - always use 0 for DAIs # W_PIPELINE(N_DAI_OUT, SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, - SCHEDULE_CORE, pipe_dai_schedule_plat) + SCHEDULE_CORE, 0, pipe_dai_schedule_plat)
# # Pipeline Graph diff --git a/topology/sof/pipe-pcm-media.m4 b/topology/sof/pipe-pcm-media.m4 index b766e23..b04b353 100644 --- a/topology/sof/pipe-pcm-media.m4 +++ b/topology/sof/pipe-pcm-media.m4 @@ -111,7 +111,7 @@ indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(2)) # Pipeline Configuration. #
-W_PIPELINE(N_SRC(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_media_schedule_plat) +W_PIPELINE(N_SRC(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 1, pipe_media_schedule_plat)
# # PCM Configuration diff --git a/topology/sof/pipe-tone.m4 b/topology/sof/pipe-tone.m4 index 0cfb73c..ccead10 100644 --- a/topology/sof/pipe-tone.m4 +++ b/topology/sof/pipe-tone.m4 @@ -84,4 +84,4 @@ indir(`define', concat(`PIPELINE_SOURCE_', PIPELINE_ID), N_BUFFER(1)) # Pipeline Configuration. #
-W_PIPELINE(N_TONE(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, pipe_tone_schedule_plat) +W_PIPELINE(N_TONE(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHEDULE_CORE, 1, pipe_tone_schedule_plat) diff --git a/topology/sof/tokens.m4 b/topology/sof/tokens.m4 index 530220a..704effc 100644 --- a/topology/sof/tokens.m4 +++ b/topology/sof/tokens.m4 @@ -28,6 +28,7 @@ SectionVendorTokens."sof_sched_tokens" { SOF_TKN_SCHED_MIPS "202" SOF_TKN_SCHED_CORE "203" SOF_TKN_SCHED_FRAMES "204" + SOF_TKN_SCHED_TIMER "205" }
SectionVendorTokens."sof_volume_tokens" {
Add a testing SRC passthrough pipeline.
Signed-off-by: Liam Girdwood liam.r.girdwood@linux.intel.com --- topology/Makefile.am | 5 ++- topology/test-passthrough-24bit-48k-src-ssp2.m4 | 55 +++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 topology/test-passthrough-24bit-48k-src-ssp2.m4
diff --git a/topology/Makefile.am b/topology/Makefile.am index 98661f7..09618c8 100644 --- a/topology/Makefile.am +++ b/topology/Makefile.am @@ -22,7 +22,10 @@ MACHINES = \ reef-bdw-rt5640.tplg \ reef-byt-rt5640.tplg \ reef-byt-rt5651.tplg \ - reef-hsw-rt5640.tplg + reef-hsw-rt5640.tplg \ + test-passthrough-24bit-48k-ssp2.tplg \ + test-passthrough-24bit-48k-vol-ssp2.tplg \ + test-passthrough-24bit-48k-src-ssp2.tplg
# Uncomment the following line if you want to debug conf files .PRECIOUS: %.conf diff --git a/topology/test-passthrough-24bit-48k-src-ssp2.m4 b/topology/test-passthrough-24bit-48k-src-ssp2.m4 new file mode 100644 index 0000000..5f88d7d --- /dev/null +++ b/topology/test-passthrough-24bit-48k-src-ssp2.m4 @@ -0,0 +1,55 @@ +# +# Topology for pass through pipeline +# + +# Include topology builder +include(`local.m4') +include(`build.m4') + +# Include TLV library +include(`common/tlv.m4') + +# Include Token library +include(`sof/tokens.m4') + +# Include Baytrail DSP configuration +include(`dsps/byt.m4') + +# +# Machine Specific Config - !! MUST BE SET TO MATCH TEST MACHINE DRIVER !! +# + +# DAI Link Name +define(`TEST_DAI_LINK_NAME', `Baytrail Audio') + +# DAI Link Stream Name +define(`TEST_DAI_LINK_STREAM_NAME', `Audio') + + +# +# Define the pipeline +# +# PCM0 ---> volume ---> SSP2 +# + +# Low Latency playback pipeline 1 on PCM 0 using max 2 channels of s24le. +# Schedule 48 frames per 1000us deadline on core 0 with priority 0 +# Use DMAC 0 channel 1 for PCM audio playback data + +PIPELINE_PCM_DAI_ADD(sof/pipe-passthrough-src-playback.m4, + 1, 0, 2, s24le, + 48, 1000, 0, 0, 0, 1, + SSP, 2, TEST_DAI_LINK_STREAM_NAME, s24le, 2) + +# +# BE configurations - overrides config in ACPI if present +# +# Clocks masters wrt codec +# +# 24bit I2S using 25bit sample conatiner on SSP2 +# +DAI_CONFIG(SSP, 2, TEST_DAI_LINK_NAME, TEST_DAI_LINK_STREAM_NAME, I2S, 24, + DAI_CLOCK(mclk, 19200000, slave), + DAI_CLOCK(bclk, 2400000, slave), + DAI_CLOCK(fsync, 48000, slave), + DAI_TDM(2, 25, 3, 3))
participants (1)
-
Liam Girdwood