From 6cdc238c52b2e9b960119260b2718479dfcf0986 Mon Sep 17 00:00:00 2001 From: Jaska Uimonen Date: Fri, 5 Oct 2018 09:43:21 +0300 Subject: [PATCH] topology: enable pcm rate setting from top level m4 Enable setting pcm min and max rate from top level m4 pipeline macro. This way it is possible to configure the whole pipeline to correct samplerate range in 1 file. Previously you needed to modify the pipeline macros where the rate was hardcoded. Signed-off-by: Jaska Uimonen --- topology/m4/pipeline.m4 | 12 ++ topology/sof-apl-da7219.m4 | 8 +- topology/sof-apl-eq-pcm512x.m4 | 6 +- topology/sof-apl-hdmi.m4 | 6 +- topology/sof-apl-nocodec.m4 | 26 ++-- topology/sof-apl-pcm512x.m4 | 2 +- topology/sof-apl-rt298.m4 | 8 +- topology/sof-apl-tdf8532.m4 | 20 +-- topology/sof-apl-wm8804.m4 | 2 +- topology/sof-bdw-rt286.m4 | 8 +- topology/sof-bdw-rt5640.m4 | 8 +- topology/sof-byt-da7213.m4 | 8 +- topology/sof-byt-nocodec.m4 | 8 +- topology/sof-byt-rt5640.m4 | 8 +- topology/sof-byt-rt5645.m4 | 8 +- topology/sof-byt-rt5651.m4 | 8 +- topology/sof-cht-max98090.m4 | 6 +- topology/sof-cht-nocodec.m4 | 8 +- topology/sof-cnl-rt274.m4 | 4 +- topology/sof-glk-da7219.m4 | 14 +-- topology/sof-hda-generic.m4 | 14 +-- topology/sof-hsw-rt5640.m4 | 8 +- topology/sof-icl-nocodec.m4 | 4 +- topology/sof/pipe-eq-volume-playback.m4 | 2 +- topology/sof/pipe-low-latency-capture.m4 | 2 +- topology/sof/pipe-low-latency-playback.m4 | 2 +- topology/sof/pipe-passthrough-capture.m4 | 2 +- topology/sof/pipe-passthrough-playback.m4 | 2 +- topology/sof/pipe-pcm-media.m4 | 2 +- topology/sof/pipe-src-capture.m4 | 2 +- topology/sof/pipe-src-playback.m4 | 2 +- topology/sof/pipe-volume-capture.m4 | 2 +- topology/sof/pipe-volume-playback.m4 | 2 +- topology/test/test-all.m4 | 8 +- topology/test/test-capture.m4 | 3 +- topology/test/test-equalizer-playback-ssp.m4 | 4 +- topology/test/test-playback.m4 | 4 +- topology/test/tplg-build.sh | 126 ++++++++++++------- 38 files changed, 213 insertions(+), 156 deletions(-) diff --git a/topology/m4/pipeline.m4 b/topology/m4/pipeline.m4 index 7c1f307..2115995 100644 --- a/topology/m4/pipeline.m4 +++ b/topology/m4/pipeline.m4 @@ -43,6 +43,8 @@ define(`PIPELINE_PCM_ADD', `undefine(`SCHEDULE_DEADLINE')' `undefine(`SCHEDULE_PRIORITY')' `undefine(`SCHEDULE_CORE')' +`undefine(`PCM_MIN_RATE')' +`undefine(`PCM_MAX_RATE')' `define(`PIPELINE_ID', $2)' `define(`PCM_ID', $3)' `define(`PIPELINE_CHANNELS', $4)' @@ -51,6 +53,8 @@ define(`PIPELINE_PCM_ADD', `define(`SCHEDULE_DEADLINE', $7)' `define(`SCHEDULE_PRIORITY', $8)' `define(`SCHEDULE_CORE', $9)' +`define(`PCM_MIN_RATE', $10)' +`define(`PCM_MAX_RATE', $11)' `include($1)' `DEBUG_PCM_ADD($1, $3)' ) @@ -72,6 +76,8 @@ define(`PIPELINE_PCM_DAI_ADD', `undefine(`DAI_INDEX')' `undefine(`DAI_FORMAT')' `undefine(`DAI_PERIODS')' +`undefine(`PCM_MIN_RATE')' +`undefine(`PCM_MAX_RATE')' `define(`PIPELINE_ID', $2)' `define(`PCM_ID', $3)' `define(`PIPELINE_CHANNELS', $4)' @@ -85,6 +91,8 @@ define(`PIPELINE_PCM_DAI_ADD', `define(`DAI_FORMAT', $12)' `define(`DAI_PERIODS', $13)' `define(`DAI_NAME', $10$11)' +`define(`PCM_MIN_RATE', $14)' +`define(`PCM_MAX_RATE', $15)' `include($1)' ) @@ -99,6 +107,8 @@ define(`PIPELINE_ADD', `undefine(`SCHEDULE_DEADLINE')' `undefine(`SCHEDULE_PRIORITY')' `undefine(`SCHEDULE_CORE')' +`undefine(`PCM_MIN_RATE')' +`undefine(`PCM_MAX_RATE')' `define(`PIPELINE_ID', $2)' `define(`PIPELINE_CHANNELS', $3)' `define(`PIPELINE_FORMAT', $4)' @@ -106,6 +116,8 @@ define(`PIPELINE_ADD', `define(`SCHEDULE_DEADLINE', $6)' `define(`SCHEDULE_PRIORITY', $7)' `define(`SCHEDULE_CORE', $8)' +`define(`PCM_MIN_RATE', $9)' +`define(`PCM_MAX_RATE', $10)' `include($1)' ) diff --git a/topology/sof-apl-da7219.m4 b/topology/sof-apl-da7219.m4 index 0c102fe..9004199 100644 --- a/topology/sof-apl-da7219.m4 +++ b/topology/sof-apl-da7219.m4 @@ -32,26 +32,26 @@ DEBUG_START # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 2 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 2, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 3, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 4 on PCM 0 using max 4 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 #PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, PIPELINE_PCM_ADD(sof/pipe-passthrough-capture.m4, 4, 99, 4, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 8000, 192000) # # DAIs configuration diff --git a/topology/sof-apl-eq-pcm512x.m4 b/topology/sof-apl-eq-pcm512x.m4 index f1fda8d..cfb2d2c 100644 --- a/topology/sof-apl-eq-pcm512x.m4 +++ b/topology/sof-apl-eq-pcm512x.m4 @@ -23,11 +23,13 @@ include(`platform/intel/bxt.m4') # PCM0 ----> volume -----> SSP5 (pcm512x) # +DEBUG_START + # Low Latency playback pipeline 1 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-eq-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration @@ -53,3 +55,5 @@ DAI_CONFIG(SSP, 5, 0, SSP5-Codec, SSP_CLOCK(fsync, 48000, codec_slave), SSP_TDM(2, 32, 3, 3), SSP_CONFIG_DATA(SSP, 5, 24))) + +DEBUG_END diff --git a/topology/sof-apl-hdmi.m4 b/topology/sof-apl-hdmi.m4 index 00d7c68..9148495 100644 --- a/topology/sof-apl-hdmi.m4 +++ b/topology/sof-apl-hdmi.m4 @@ -33,19 +33,19 @@ dnl frames, deadline, priority, core) # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 2 on PCM 1 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 2, 1, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 3 on PCM 2 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 3, 2, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration diff --git a/topology/sof-apl-nocodec.m4 b/topology/sof-apl-nocodec.m4 index da61ece..31760ad 100644 --- a/topology/sof-apl-nocodec.m4 +++ b/topology/sof-apl-nocodec.m4 @@ -44,79 +44,79 @@ dnl frames, deadline, priority, core) # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 2, 0, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 3 on PCM 1 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 3, 1, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 4 on PCM 1 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 4, 1, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 5 on PCM 2 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 5, 2, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 6 on PCM 2 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 6, 2, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 7 on PCM 3 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 7, 3, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 8 on PCM 3 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 8, 3, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 9 on PCM 4 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 9, 4, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 10 on PCM 4 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 10, 4, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 11 on PCM 5 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 11, 5, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 12 on PCM 5 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 12, 5, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Passthrough capture pipeline 13 on PCM 6 using max 4 channels. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-passthrough-capture.m4, 13, 6, 4, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 8000, 192000) # # DAIs configuration diff --git a/topology/sof-apl-pcm512x.m4 b/topology/sof-apl-pcm512x.m4 index 48257ae..549f7da 100644 --- a/topology/sof-apl-pcm512x.m4 +++ b/topology/sof-apl-pcm512x.m4 @@ -29,7 +29,7 @@ DEBUG_START # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration diff --git a/topology/sof-apl-rt298.m4 b/topology/sof-apl-rt298.m4 index e6dbec8..ef80ec3 100644 --- a/topology/sof-apl-rt298.m4 +++ b/topology/sof-apl-rt298.m4 @@ -31,25 +31,25 @@ include(`platform/intel/bxt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 5 on PCM 5 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 5, 5, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 6 on PCM 6 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 6, 6, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 7 on PCM 7 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 7, 7, 2, s16le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration # diff --git a/topology/sof-apl-tdf8532.m4 b/topology/sof-apl-tdf8532.m4 index c82c1f0..b7618cd 100644 --- a/topology/sof-apl-tdf8532.m4 +++ b/topology/sof-apl-tdf8532.m4 @@ -36,61 +36,61 @@ include(`platform/intel/bxt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 1, 0, 4, s32le, - 48, 1000, 0, 0, SSP, 4, s32le, 2) + 48, 1000, 0, 0, SSP, 4, s32le, 2, 48000, 48000) # Low Latency playback pipeline 2 on PCM 1 using max 8 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 2, 1, 8, s32le, - 48, 1000, 0, 0, SSP, 2, s32le, 2) + 48, 1000, 0, 0, SSP, 2, s32le, 2, 48000, 48000) # Low Latency capture pipeline 3 on PCM 1 using max 8 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 3, 1, 8, s32le, - 48, 1000, 0, 0, SSP, 2, s32le, 2) + 48, 1000, 0, 0, SSP, 2, s32le, 2, 48000, 48000) # Low Latency playback pipeline 4 on PCM 2 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 4, 2, 2, s16le, - 48, 1000, 0, 0, SSP, 0, s16le, 2) + 48, 1000, 0, 0, SSP, 0, s16le, 2, 48000, 48000) # Low Latency capture pipeline 5 on PCM 2 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 5, 2, 2, s16le, - 48, 1000, 0, 0, SSP, 0, s16le, 2) + 48, 1000, 0, 0, SSP, 0, s16le, 2, 48000, 48000) # Low Latency capture pipeline 6 on PCM 3 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 6, 3, 2, s16le, - 48, 1000, 0, 0, SSP, 1, s16le, 2) + 48, 1000, 0, 0, SSP, 1, s16le, 2, 48000, 48000) # Low Latency playback pipeline 7 on PCM 4 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 7, 4, 2, s16le, - 48, 1000, 0, 0, SSP, 3, s16le, 2) + 48, 1000, 0, 0, SSP, 3, s16le, 2, 48000, 48000) # Low Latency capture pipeline 8 on PCM 4 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 8, 4, 2, s16le, - 48, 1000, 0, 0, SSP, 3, s16le, 2) + 48, 1000, 0, 0, SSP, 3, s16le, 2, 48000, 48000) # Low Latency playback pipeline 9 on PCM 5 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 9, 5, 2, s16le, - 48, 1000, 0, 0, SSP, 5, s16le, 2) + 48, 1000, 0, 0, SSP, 5, s16le, 2, 48000, 48000) # Low Latency capture pipeline 10 on PCM 5 using max 2 channels of s16le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 10, 5, 2, s16le, - 48, 1000, 0, 0, SSP, 5, s16le, 2) + 48, 1000, 0, 0, SSP, 5, s16le, 2, 48000, 48000) # diff --git a/topology/sof-apl-wm8804.m4 b/topology/sof-apl-wm8804.m4 index 4dc15eb..4a86552 100644 --- a/topology/sof-apl-wm8804.m4 +++ b/topology/sof-apl-wm8804.m4 @@ -27,7 +27,7 @@ include(`platform/intel/bxt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration diff --git a/topology/sof-bdw-rt286.m4 b/topology/sof-bdw-rt286.m4 index a750344..698a8b4 100644 --- a/topology/sof-bdw-rt286.m4 +++ b/topology/sof-bdw-rt286.m4 @@ -33,25 +33,25 @@ include(`platform/intel/bdw.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 96 frames per 2000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 96, 2000, 1, 0) + 96, 2000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-bdw-rt286" { diff --git a/topology/sof-bdw-rt5640.m4 b/topology/sof-bdw-rt5640.m4 index 454e050..6d06a5c 100644 --- a/topology/sof-bdw-rt5640.m4 +++ b/topology/sof-bdw-rt5640.m4 @@ -33,25 +33,25 @@ include(`platform/intel/bdw.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 96 frames per 2000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 96, 2000, 1, 0) + 96, 2000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-bdw-rt5640" { diff --git a/topology/sof-byt-da7213.m4 b/topology/sof-byt-da7213.m4 index 6008ff0..f8208fc 100644 --- a/topology/sof-byt-da7213.m4 +++ b/topology/sof-byt-da7213.m4 @@ -33,25 +33,25 @@ include(`platform/intel/byt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-byt-da7212" { diff --git a/topology/sof-byt-nocodec.m4 b/topology/sof-byt-nocodec.m4 index 6df25ca..e7dba27 100644 --- a/topology/sof-byt-nocodec.m4 +++ b/topology/sof-byt-nocodec.m4 @@ -33,25 +33,25 @@ include(`platform/intel/byt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-byt-nocodec" { diff --git a/topology/sof-byt-rt5640.m4 b/topology/sof-byt-rt5640.m4 index 2177fe3..93732d0 100644 --- a/topology/sof-byt-rt5640.m4 +++ b/topology/sof-byt-rt5640.m4 @@ -33,25 +33,25 @@ include(`platform/intel/byt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-byt-rt5640" { diff --git a/topology/sof-byt-rt5645.m4 b/topology/sof-byt-rt5645.m4 index 23f1a75..4fc9ba9 100644 --- a/topology/sof-byt-rt5645.m4 +++ b/topology/sof-byt-rt5645.m4 @@ -33,25 +33,25 @@ include(`platform/intel/byt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0 48000, 48000) # Connect pipelines together SectionGraph."pipe-byt-rt5645" { diff --git a/topology/sof-byt-rt5651.m4 b/topology/sof-byt-rt5651.m4 index 724c34e..e165d6e 100644 --- a/topology/sof-byt-rt5651.m4 +++ b/topology/sof-byt-rt5651.m4 @@ -33,25 +33,25 @@ include(`platform/intel/byt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-byt-rt5651" { diff --git a/topology/sof-cht-max98090.m4 b/topology/sof-cht-max98090.m4 index 627181f..7d2c28a 100644 --- a/topology/sof-cht-max98090.m4 +++ b/topology/sof-cht-max98090.m4 @@ -39,19 +39,19 @@ PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-cht-max98090" { diff --git a/topology/sof-cht-nocodec.m4 b/topology/sof-cht-nocodec.m4 index dae6dca..b9f4f06 100644 --- a/topology/sof-cht-nocodec.m4 +++ b/topology/sof-cht-nocodec.m4 @@ -33,25 +33,25 @@ include(`platform/intel/cht.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-cht-nocodec" { diff --git a/topology/sof-cnl-rt274.m4 b/topology/sof-cnl-rt274.m4 index d40efc1..80c29a9 100644 --- a/topology/sof-cnl-rt274.m4 +++ b/topology/sof-cnl-rt274.m4 @@ -29,13 +29,13 @@ include(`platform/intel/cnl.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s24le, - 48, 1000, 0, 0, SSP, 0, s24le, 2) + 48, 1000, 0, 0, SSP, 0, s24le, 2, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s24le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 2, 0, 2, s24le, - 48, 1000, 0, 0, SSP, 0, s24le, 2) + 48, 1000, 0, 0, SSP, 0, s24le, 2, 48000, 48000) # # DAI configuration diff --git a/topology/sof-glk-da7219.m4 b/topology/sof-glk-da7219.m4 index 85f4a7e..b09e59f 100644 --- a/topology/sof-glk-da7219.m4 +++ b/topology/sof-glk-da7219.m4 @@ -34,47 +34,47 @@ include(`platform/intel/dmic.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 2 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 2, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 3, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 4 on PCM 99 using max 4 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 #PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, PIPELINE_PCM_ADD(sof/pipe-passthrough-capture.m4, 4, 99, 4, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 8000, 192000) # Low Latency playback pipeline 5 on PCM 5 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 # PIPELINE_PCM_ADD(sof/pipe-passthrough-playback.m4, PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 5, 5, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 6 on PCM 6 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 # PIPELINE_PCM_ADD(sof/pipe-passthrough-playback.m4, PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 6, 6, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 7 on PCM 7 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 # PIPELINE_PCM_ADD(sof/pipe-passthrough-playback.m4, PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 7, 7, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration diff --git a/topology/sof-hda-generic.m4 b/topology/sof-hda-generic.m4 index 079fa1b..e72280c 100644 --- a/topology/sof-hda-generic.m4 +++ b/topology/sof-hda-generic.m4 @@ -31,43 +31,43 @@ include(`platform/intel/bxt.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 3, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 4 on PCM 1 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4, 4, 1, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 7 on PCM 3 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 7, 3, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 8 on PCM 4 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 8, 4, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency playback pipeline 9 on PCM 5 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4, 9, 5, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # # DAIs configuration diff --git a/topology/sof-hsw-rt5640.m4 b/topology/sof-hsw-rt5640.m4 index 272cb15..40469a5 100644 --- a/topology/sof-hsw-rt5640.m4 +++ b/topology/sof-hsw-rt5640.m4 @@ -33,25 +33,25 @@ include(`platform/intel/hsw.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-playback.m4, 1, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s32le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_ADD(sof/pipe-low-latency-capture.m4, 2, 0, 2, s32le, - 48, 1000, 0, 0) + 48, 1000, 0, 0, 48000, 48000) # PCM Media Playback pipeline 3 on PCM 1 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 1 PIPELINE_PCM_ADD(sof/pipe-pcm-media.m4, 3, 1, 2, s32le, - 192, 4000, 1, 0) + 192, 4000, 1, 0, 8000, 192000) # Tone Playback pipeline 5 using max 2 channels of s32le. # Schedule 192 frames per 4000us deadline on core 0 with priority 2 PIPELINE_ADD(sof/pipe-tone.m4, 5, 2, s32le, - 192, 4000, 2, 0) + 192, 4000, 2, 0, 48000, 48000) # Connect pipelines together SectionGraph."pipe-hsw-rt5640" { diff --git a/topology/sof-icl-nocodec.m4 b/topology/sof-icl-nocodec.m4 index 1dffe18..501c7fc 100644 --- a/topology/sof-icl-nocodec.m4 +++ b/topology/sof-icl-nocodec.m4 @@ -29,13 +29,13 @@ include(`platform/intel/icl.m4') # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-playback.m4, 1, 0, 2, s24le, - 48, 1000, 0, 0, SSP, 0, s24le, 2) + 48, 1000, 0, 0, SSP, 0, s24le, 2, 48000, 48000) # Low Latency capture pipeline 2 on PCM 0 using max 2 channels of s24le. # Schedule 48 frames per 1000us deadline on core 0 with priority 0 PIPELINE_PCM_DAI_ADD(sof/pipe-volume-capture.m4, 2, 0, 2, s24le, - 48, 1000, 0, 0, SSP, 0, s24le, 2) + 48, 1000, 0, 0, SSP, 0, s24le, 2, 48000, 48000) # # DAI configuration diff --git a/topology/sof/pipe-eq-volume-playback.m4 b/topology/sof/pipe-eq-volume-playback.m4 index fc40c4d..05c42ae 100644 --- a/topology/sof/pipe-eq-volume-playback.m4 +++ b/topology/sof/pipe-eq-volume-playback.m4 @@ -121,5 +121,5 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_I # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-low-latency-capture.m4 b/topology/sof/pipe-low-latency-capture.m4 index 897fe05..2dcdb6d 100644 --- a/topology/sof/pipe-low-latency-capture.m4 +++ b/topology/sof/pipe-low-latency-capture.m4 @@ -64,4 +64,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Low Latency Capture PCM_ID # PCM Configuration # -PCM_CAPABILITIES(Low Latency Capture PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, PIPELINE_CHANNELS, 2, 4, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Low Latency Capture PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 4, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-low-latency-playback.m4 b/topology/sof/pipe-low-latency-playback.m4 index c316bf4..81b2c9b 100644 --- a/topology/sof/pipe-low-latency-playback.m4 +++ b/topology/sof/pipe-low-latency-playback.m4 @@ -115,5 +115,5 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Low Latency Playback PCM_I # PCM capabilities supported by FW -PCM_CAPABILITIES(Low Latency Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Low Latency Playback PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-passthrough-capture.m4 b/topology/sof/pipe-passthrough-capture.m4 index 5eb29a2..5ef90f2 100644 --- a/topology/sof/pipe-passthrough-capture.m4 +++ b/topology/sof/pipe-passthrough-capture.m4 @@ -44,4 +44,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Capture PCM_ID # PCM Configuration # -PCM_CAPABILITIES(Passthrough Capture PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), 8000, 192000, 1, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Capture PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, 1, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-passthrough-playback.m4 b/topology/sof/pipe-passthrough-playback.m4 index b0ee463..7fc6241 100644 --- a/topology/sof/pipe-passthrough-playback.m4 +++ b/topology/sof/pipe-passthrough-playback.m4 @@ -44,4 +44,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_I # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), 48000, 48000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, COMP_FORMAT_NAME(PIPELINE_FORMAT), PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-pcm-media.m4 b/topology/sof/pipe-pcm-media.m4 index ae2090d..9abfcdb 100644 --- a/topology/sof/pipe-pcm-media.m4 +++ b/topology/sof/pipe-pcm-media.m4 @@ -95,7 +95,7 @@ W_PIPELINE(N_SRC(0), SCHEDULE_DEADLINE, SCHEDULE_PRIORITY, SCHEDULE_FRAMES, SCHE # PCM capabilities supported by FW -PCM_CAPABILITIES(Media Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 8000, 192000, 2, PIPELINE_CHANNELS, 2, 32, 192, 262144, 8388608, 8388608) +PCM_CAPABILITIES(Media Playback PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 32, 192, 262144, 8388608, 8388608) # PCM Low Latency Playback and Capture SectionPCM.STR(Media Playback PCM_ID) { diff --git a/topology/sof/pipe-src-capture.m4 b/topology/sof/pipe-src-capture.m4 index e151bf0..de9f12a 100644 --- a/topology/sof/pipe-src-capture.m4 +++ b/topology/sof/pipe-src-capture.m4 @@ -61,4 +61,4 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Capture PCM_ID # PCM Configuration # -PCM_CAPABILITIES(Passthrough Capture PCM_ID, `S32_LE,S24_LE,S16_LE', 8000, 96000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Capture PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-src-playback.m4 b/topology/sof/pipe-src-playback.m4 index 8003b50..402e7bf 100644 --- a/topology/sof/pipe-src-playback.m4 +++ b/topology/sof/pipe-src-playback.m4 @@ -61,5 +61,5 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_I # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 8000, 192000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-volume-capture.m4 b/topology/sof/pipe-volume-capture.m4 index a044ed6..4b0f56c 100644 --- a/topology/sof/pipe-volume-capture.m4 +++ b/topology/sof/pipe-volume-capture.m4 @@ -66,5 +66,5 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Capture PCM_ID # PCM Configuration # -PCM_CAPABILITIES(Passthrough Capture PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Capture PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/sof/pipe-volume-playback.m4 b/topology/sof/pipe-volume-playback.m4 index e373adc..9cfb5e7 100644 --- a/topology/sof/pipe-volume-playback.m4 +++ b/topology/sof/pipe-volume-playback.m4 @@ -67,5 +67,5 @@ indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Passthrough Playback PCM_I # PCM Configuration # -PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', 48000, 48000, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) +PCM_CAPABILITIES(Passthrough Playback PCM_ID, `S32_LE,S24_LE,S16_LE', PCM_MIN_RATE, PCM_MAX_RATE, 2, PIPELINE_CHANNELS, 2, 16, 192, 16384, 65536, 65536) diff --git a/topology/test/test-all.m4 b/topology/test/test-all.m4 index 518c909..57a3d8e 100644 --- a/topology/test/test-all.m4 +++ b/topology/test/test-all.m4 @@ -30,6 +30,8 @@ include(`byt.m4') # TEST_SSP_PHY_BITS - SSP physical slot size # TEST_SSP_DATA_BITS - SSP data slot size # TEST_SSP_MODE - SSP mode e.g. I2S, LEFT_J, DSP_A and DSP_B +# TEST_PCM_MIN_RATE - min samplerate pcm/pipeline supports +# TEST_PCM_MAX_RATE - max samplerate pcm/pipeline supports # # @@ -44,7 +46,8 @@ include(`byt.m4') PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-playback.m4, 1, 0, 2, TEST_PIPE_FORMAT, 48, 1000, 0, 0, - TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2) + TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2, + TEST_PCM_MIN_RATE, TEST_PCM_MAX_RATE) # Passthrough playback pipeline 2 on PCM 0 using max 2 channels of s24le. @@ -53,7 +56,8 @@ PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-playback.m4, PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-capture.m4, 2, 0, 2, TEST_PIPE_FORMAT, 48, 1000, 0, 0, - TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2) + TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2, + TEST_PCM_MIN_RATE, TEST_PCM_MAX_RATE) # # DAI configuration diff --git a/topology/test/test-capture.m4 b/topology/test/test-capture.m4 index 4e10d3d..9a8e4e8 100644 --- a/topology/test/test-capture.m4 +++ b/topology/test/test-capture.m4 @@ -45,7 +45,8 @@ include(`byt.m4') PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-capture.m4, 2, 0, 4, TEST_PIPE_FORMAT, 48, 1000, 0, 0, - TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2) + TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2, + TEST_PCM_MIN_RATE, TEST_PCM_MAX_RATE) # # DAI configuration diff --git a/topology/test/test-equalizer-playback-ssp.m4 b/topology/test/test-equalizer-playback-ssp.m4 index ab775a4..50d3946 100644 --- a/topology/test/test-equalizer-playback-ssp.m4 +++ b/topology/test/test-equalizer-playback-ssp.m4 @@ -43,7 +43,9 @@ include(`dsps/byt.m4') PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-playback.m4, 1, 0, 2, TEST_PIPE_FORMAT, 48, 1000, 0, 0, 0, 1, - SSP, TEST_SSP_PORT, TEST_SSP_FORMAT, 2) + SSP, TEST_SSP_PORT, TEST_SSP_FORMAT, 2, + TEST_PCM_MIN_RATE, TEST_PCM_MAX_RATE) + # # DAI configuration # diff --git a/topology/test/test-playback.m4 b/topology/test/test-playback.m4 index 9833ea9..8c6bb7b 100644 --- a/topology/test/test-playback.m4 +++ b/topology/test/test-playback.m4 @@ -44,7 +44,9 @@ include(`byt.m4') PIPELINE_PCM_DAI_ADD(sof/pipe-TEST_PIPE_NAME-playback.m4, 1, 0, 2, TEST_PIPE_FORMAT, 48, 1000, 0, 0, - TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2) + TEST_DAI_TYPE, TEST_DAI_PORT, TEST_DAI_FORMAT, 2, + TEST_PCM_MIN_RATE, TEST_PCM_MAX_RATE) + # # DAI configuration # diff --git a/topology/test/tplg-build.sh b/topology/test/tplg-build.sh index bd50593..d0fc7ea 100755 --- a/topology/test/tplg-build.sh +++ b/topology/test/tplg-build.sh @@ -38,10 +38,10 @@ M4_STRINGS="" function simple_test { if [ $5 == "SSP" ] then - TESTS=("${!14}") + TESTS=("${!16}") elif [ $5 == "DMIC" ] then - TESTS=("${!15}") + TESTS=("${!17}") fi for i in ${TESTS[@]} do @@ -63,6 +63,8 @@ function simple_test { -DTEST_DMIC_DUTY_MAX=${12} \ -DTEST_DMIC_SAMPLE_RATE=${13} \ -DTEST_DMIC_PDM_CONFIG=${14} \ + -DTEST_PCM_MIN_RATE=${15} \ + -DTEST_PCM_MAX_RATE=${16} \ $i.m4 > ${TFILE}.conf echo "Compiling test $i -> ${TFILE}.tplg" alsatplg -v 1 -c ${TFILE}.conf -o ${TFILE}.tplg @@ -85,6 +87,7 @@ function simple_test { -DTEST_SSP_MCLK=${11},-DTEST_SSP_PHY_BITS=$8\ -DTEST_SSP_DATA_BITS=$9,-DTEST_SSP_MODE=${12}\ -DTEST_SSP_MCLK_ID=${13},-DTEST_DAI_TYPE=$5\ + -DTEST_PCM_MIN_RATE=${14},-DTEST_PCM_MAX_RATE=${15}\ $i.m4,${TFILE}," #create input string for batch processing of conf files TEST_STRINGS+=${TFILE}"," @@ -113,6 +116,8 @@ function simple_test { -DTEST_SSP_MODE=${12} \ -DTEST_SSP_MCLK_ID=${13} \ -DTEST_DAI_TYPE=$5 \ + -DTEST_PCM_MIN_RATE=${14} \ + -DTEST_PCM_MAX_RATE=${15} \ $i.m4 > ${TFILE}.conf echo "Compiling test $i -> ${TFILE}.tplg" alsatplg -v 1 -c ${TFILE}.conf -o ${TFILE}.tplg @@ -125,20 +130,20 @@ function simple_test { echo "Preparing topology build input..." # Pre-process the simple tests -simple_test nocodec passthrough "NoCodec-2" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec passthrough "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s16le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec src "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] - -simple_test codec passthrough "SSP2-Codec" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec passthrough "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec volume "SSP2-Codec" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec volume "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec volume "SSP2-Codec" s24le SSP 2 s16le 20 16 1920000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec volume "SSP2-Codec" s16le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] -simple_test codec src "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 SIMPLE_TESTS[@] +simple_test nocodec passthrough "NoCodec-2" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec passthrough "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s16le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec src "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 8000 192000 SIMPLE_TESTS[@] + +simple_test codec passthrough "SSP2-Codec" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec passthrough "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec volume "SSP2-Codec" s16le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec volume "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec volume "SSP2-Codec" s24le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec volume "SSP2-Codec" s16le SSP 2 s24le 25 24 2400000 19200000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test codec src "SSP2-Codec" s24le SSP 2 s24le 25 24 2400000 19200000 I2S 0 8000 192000 SIMPLE_TESTS[@] # for APL APL_PROTOCOL_TESTS=(I2S LEFT_J DSP_A DSP_B) @@ -157,25 +162,38 @@ do do for mclk_id in ${MCLK_IDS[@]} do - simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] + if [ $mode == "volume" ] + then + pcm_min=48000 + pcm_max=48000 + elif [ $mode == "src" ] + then + pcm_min=8000 + pcm_max=192000 + else + pcm_min=48000 + pcm_max=48000 + fi - simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] + simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] + + simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id $pcm_min $pcm_max SIMPLE_TESTS[@] done done done for mclk_id in ${MCLK_IDS[@]} do - simple_test nocodec passthrough "NoCodec-${ssp}" s16le SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test nocodec passthrough "NoCodec-${ssp}" s24le SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test nocodec passthrough "NoCodec-${ssp}" s32le SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] + simple_test nocodec passthrough "NoCodec-${ssp}" s16le SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] + simple_test nocodec passthrough "NoCodec-${ssp}" s24le SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] + simple_test nocodec passthrough "NoCodec-${ssp}" s32le SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] - simple_test codec passthrough "SSP${ssp}-Codec" s16le SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test codec passthrough "SSP${ssp}-Codec" s24le SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] - simple_test codec passthrough "SSP${ssp}-Codec" s32le SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id SIMPLE_TESTS[@] + simple_test codec passthrough "SSP${ssp}-Codec" s16le SSP $ssp s16le 16 16 1536000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] + simple_test codec passthrough "SSP${ssp}-Codec" s24le SSP $ssp s24le 32 24 3072000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] + simple_test codec passthrough "SSP${ssp}-Codec" s32le SSP $ssp s32le 32 32 3072000 24576000 $protocol $mclk_id 48000 48000 SIMPLE_TESTS[@] done done done @@ -188,35 +206,48 @@ do do for format in ${APL_FORMAT_TESTS[@]} do - simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 SIMPLE_TESTS[@] - simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 SIMPLE_TESTS[@] + if [ $mode == "volume" ] + then + pcm_min=48000 + pcm_max=48000 + elif [ $mode == "src" ] + then + pcm_min=8000 + pcm_max=192000 + else + pcm_min=48000 + pcm_max=48000 + fi + + simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test nocodec $mode "NoCodec-${ssp}" $format SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 $pcm_min $pcm_max SIMPLE_TESTS[@] - simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 SIMPLE_TESTS[@] - simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 SIMPLE_TESTS[@] + simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 $pcm_min $pcm_max SIMPLE_TESTS[@] + simple_test codec $mode "SSP${ssp}-Codec" $format SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 $pcm_min $pcm_max SIMPLE_TESTS[@] done done - simple_test nocodec passthrough "NoCodec-${ssp}" s16le SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 SIMPLE_TESTS[@] - simple_test nocodec passthrough "NoCodec-${ssp}" s24le SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 SIMPLE_TESTS[@] + simple_test nocodec passthrough "NoCodec-${ssp}" s16le SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 48000 48000 SIMPLE_TESTS[@] + simple_test nocodec passthrough "NoCodec-${ssp}" s24le SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 48000 48000 SIMPLE_TESTS[@] - simple_test codec passthrough "SSP${ssp}-Codec" s16le SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 SIMPLE_TESTS[@] - simple_test codec passthrough "SSP${ssp}-Codec" s24le SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 SIMPLE_TESTS[@] + simple_test codec passthrough "SSP${ssp}-Codec" s16le SSP $ssp s16le 20 16 1920000 19200000 $protocol 0 48000 48000 SIMPLE_TESTS[@] + simple_test codec passthrough "SSP${ssp}-Codec" s24le SSP $ssp s24le 25 24 2400000 19200000 $protocol 0 48000 48000 SIMPLE_TESTS[@] done done # for CNL -simple_test nocodec passthrough "NoCodec-2" s16le SSP 2 s16le 25 16 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec passthrough "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s16le SSP 2 s16le 25 16 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s16le SSP 2 s24le 25 24 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec volume "NoCodec-2" s24le SSP 2 s16le 25 16 2400000 24000000 I2S 0 SIMPLE_TESTS[@] -simple_test nocodec src "NoCodec-4" s24le SSP 4 s24le 25 24 2400000 24000000 I2S 0 SIMPLE_TESTS[@] +simple_test nocodec passthrough "NoCodec-2" s16le SSP 2 s16le 25 16 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec passthrough "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s16le SSP 2 s16le 25 16 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s16le SSP 2 s24le 25 24 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s24le SSP 2 s24le 25 24 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec volume "NoCodec-2" s24le SSP 2 s16le 25 16 2400000 24000000 I2S 0 48000 48000 SIMPLE_TESTS[@] +simple_test nocodec src "NoCodec-4" s24le SSP 4 s24le 25 24 2400000 24000000 I2S 0 8000 192000 SIMPLE_TESTS[@] # Tone test: Tone component only supports s32le currently -simple_test codec tone "SSP2-Codec" s32le SSP 2 s16le 20 16 1920000 19200000 I2S 0 TONE_TEST[@] +simple_test codec tone "SSP2-Codec" s32le SSP 2 s16le 20 16 1920000 19200000 I2S 0 48000 48000 TONE_TEST[@] #Tone Test for APL -simple_test codec tone "SSP5-Codec" s32le SSP 5 s24le 32 24 3072000 24576000 I2S 0 TONE_TEST[@] -simple_test codec tone "SSP5-Codec" s32le SSP 5 s32le 32 32 3072000 24576000 I2S 0 TONE_TEST[@] +simple_test codec tone "SSP5-Codec" s32le SSP 5 s24le 32 24 3072000 24576000 I2S 0 48000 48000 TONE_TEST[@] +simple_test codec tone "SSP5-Codec" s32le SSP 5 s32le 32 32 3072000 24576000 I2S 0 48000 48000 TONE_TEST[@] # DMIC Test Topologies for APL/GLK DMIC_PDM_CONFIGS=(MONO_PDM0_MICA MONO_PDM0_MICB STEREO_PDM0 STEREO_PDM1 FOUR_CH_PDM0_PDM1) @@ -231,6 +262,7 @@ do do simple_test nocodec passthrough "DMIC0" $format DMIC 0\ $format 1 500000 4800000 40 60 $rate $pdm\ + 8000 96000\ DMIC_TEST[@] done done @@ -241,7 +273,7 @@ then echo "Batch processing m4 files..." M4_STRINGS=${M4_STRINGS%?} #m4 processing - echo $M4_STRINGS | tr " " "," | tr '\n' '\0' | xargs -P0 -d ',' -n14 bash -c 'm4 "${@:1:${#}-1}" > ${14}.conf' m4 + echo $M4_STRINGS | tr " " "," | tr '\n' '\0' | xargs -P0 -d ',' -n16 bash -c 'm4 "${@:1:${#}-1}" > ${16}.conf' m4 #execute alsatplg to create topology binary TEST_STRINGS=${TEST_STRINGS%?}