diff --git a/tools/topology/topology2/cavs-nocodec.conf b/tools/topology/topology2/cavs-nocodec.conf index 2a644d430587..bac1fe2118c7 100644 --- a/tools/topology/topology2/cavs-nocodec.conf +++ b/tools/topology/topology2/cavs-nocodec.conf @@ -18,6 +18,7 @@ + @@ -166,7 +167,7 @@ Object.Dai.SSP [ # Pipeline definitions # # PCM1 ---> gain ---> Mixin ---> Mixout ---> gain ---> SSP1 -# PCM2 ---> gain ---> Mixin ---> Mixout ---> gain ---> SSP2 +# PCM2 ---> gain ---> SRC ---> Mixin ---> Mixout ---> gain ---> SSP2 # PCM4 ---> gain ---> Mixin -------------------------->\ # PCM3 ---> gain ---> Mixin ---->\ \ # PCM0 ---> gain ---> Mixin ---> Mixout ---> Mixin ---> Mixout ---> gain ---> smart_amp ---> SSP0 @@ -174,7 +175,7 @@ Object.Dai.SSP [ # /---------------------------------------------------------------------->/ # SSP0 ---> PCM0 # SSP1 ---> PCM1 -# SSP2 ---> PCM2 +# SSP2 ---> SRC ---> PCM2 IncludeByKey.PASSTHROUGH { "false" { @@ -192,6 +193,9 @@ IncludeByKey.PASSTHROUGH { } } } + ] + + Object.Pipeline.host-copier-gain-src-mixin-playback [ { index 5 @@ -573,6 +577,14 @@ IncludeByKey.PASSTHROUGH { pcm_id 0 } } + { + index 11 + + Object.Widget.host-copier.1 { + stream_name 'SSP2 Capture' + pcm_id 2 + } + } ] Object.Pipeline.io-gateway-capture [ @@ -609,17 +621,6 @@ IncludeByKey.PASSTHROUGH { } } -Object.Pipeline.host-gateway-capture [ - { - index 11 - - Object.Widget.host-copier.1 { - stream_name 'SSP2 Capture' - pcm_id 2 - } - } -] - Object.Pipeline.io-gateway-capture [ { index 12 @@ -644,6 +645,26 @@ Object.Pipeline.io-gateway-capture [ IncludeByKey.PASSTHROUGH { "false" { + Object.Pipeline.host-gateway-capture [ + { + index 11 + + Object.Widget.host-copier.1 { + stream_name 'SSP2 Capture' + pcm_id 2 + + + } + } + ] + + Object.Widget.src.1 { + index 11 + rate_in 48000 + + + } + IncludeByKey.NUM_DMICS { "[1-4]" { Object.Pipeline.gain-capture [ @@ -786,26 +807,6 @@ Object.PCM.pcm [ formats 'S16_LE,S24_LE,S32_LE' } } - { - name "$SSP2_PCM_NAME" - id 2 - direction "duplex" - Object.Base.fe_dai.1 { - name "$SSP2_PCM_NAME" - } - - Object.PCM.pcm_caps.1 { - direction "playback" - name "SSP2 Playback" - formats 'S16_LE,S24_LE,S32_LE' - } - - Object.PCM.pcm_caps.2 { - direction "capture" - name "SSP2 Capture" - formats 'S16_LE,S24_LE,S32_LE' - } - } ] IncludeByKey.PASSTHROUGH { @@ -851,16 +852,60 @@ IncludeByKey.PASSTHROUGH { channels_max $NUM_DMICS } } + { + name "$SSP2_PCM_NAME" + id 2 + direction "duplex" + Object.Base.fe_dai.1 { + name "$SSP2_PCM_NAME" + } + + Object.PCM.pcm_caps.1 { + direction "playback" + name "SSP2 Playback" + formats 'S16_LE,S24_LE,S32_LE' + rate_min 8000 + rate_max 192000 + } + + Object.PCM.pcm_caps.2 { + direction "capture" + name "SSP2 Capture" + formats 'S16_LE,S24_LE,S32_LE' + rate_min 8000 + rate_max 192000 + } + } ] } } -Object.Base.route [ - { - source "dai-copier.SSP.NoCodec-2.capture" - sink "host-copier.2.capture" +IncludeByKey.PASSTHROUGH { +"true" { + Object.PCM.pcm [ + { + name "$SSP2_PCM_NAME" + id 2 + direction "duplex" + Object.Base.fe_dai.1 { + name "$SSP2_PCM_NAME" + } + + Object.PCM.pcm_caps.1 { + direction "playback" + name "SSP2 Playback" + formats 'S16_LE,S24_LE,S32_LE' + } + + Object.PCM.pcm_caps.2 { + direction "capture" + name "SSP2 Capture" + formats 'S16_LE,S24_LE,S32_LE' + } + } + ] } -] +} IncludeByKey.PASSTHROUGH { "false" { @@ -936,6 +981,14 @@ IncludeByKey.PASSTHROUGH { source "gain.17.1" sink "host-copier.$SSP0_CAPTURE_PCM_ID.capture" } + { + source "dai-copier.SSP.NoCodec-2.capture" + sink "src.11.1" + } + { + source "src.11.1" + sink "host-copier.2.capture" + } ] } "true" { @@ -952,6 +1005,10 @@ IncludeByKey.PASSTHROUGH { source "host-copier.2.playback" sink "dai-copier.SSP.NoCodec-2.playback" } + { + source "dai-copier.SSP.NoCodec-2.capture" + sink "host-copier.2.capture" + } ] } } diff --git a/tools/topology/topology2/include/components/src.conf b/tools/topology/topology2/include/components/src.conf index 1cb7e18699d7..abb07bc5723e 100644 --- a/tools/topology/topology2/include/components/src.conf +++ b/tools/topology/topology2/include/components/src.conf @@ -54,7 +54,6 @@ Class.Widget."src" { ] !mandatory [ - "rate_out" "num_input_audio_formats" "num_output_audio_formats" "num_input_pins" diff --git a/tools/topology/topology2/include/components/src_format_s32_convert_from_48k.conf b/tools/topology/topology2/include/components/src_format_s32_convert_from_48k.conf new file mode 100644 index 000000000000..2185581258dc --- /dev/null +++ b/tools/topology/topology2/include/components/src_format_s32_convert_from_48k.conf @@ -0,0 +1,103 @@ +#src format array + num_output_audio_formats 14 + + Object.Base.output_audio_format [ + # 8khz output + { + out_rate 8000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 32 + out_valid_bit_depth 32 + obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]" + } + # 12khz output + { + out_rate 12000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 32 + out_valid_bit_depth 32 + obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]" + } + # 48khz output + { + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 64khz output + { + out_rate 64000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 32 + out_valid_bit_depth 32 + obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]" + } + # 96khz output + { + out_rate 96000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 32 + out_valid_bit_depth 32 + obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]" + } + # 192khz output + { + out_rate 192000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] + + num_input_audio_formats 1 + + Object.Base.input_audio_format [ + { + in_rate 48000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/components/src_format_s32_convert_to_48k.conf b/tools/topology/topology2/include/components/src_format_s32_convert_to_48k.conf new file mode 100644 index 000000000000..f20af68b3c3a --- /dev/null +++ b/tools/topology/topology2/include/components/src_format_s32_convert_to_48k.conf @@ -0,0 +1,99 @@ +#src format array + num_input_audio_formats 14 + + Object.Base.input_audio_format [ + # 8khz input + { + in_rate 8000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 11.025 khz input + { + in_rate 11025 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 12khz input + { + in_rate 12000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 16khz input + { + in_rate 16000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 22.05khz input + { + in_rate 22050 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 24khz input + { + in_rate 24000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 32khz input + { + in_rate 32000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 44.1khz input + { + in_rate 44100 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 48khz input + { + in_rate 48000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 64khz input + { + in_rate 64000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 88.2khz input + { + in_rate 88200 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 96khz input + { + in_rate 96000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 176.4khz input + { + in_rate 176400 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 192khz input + { + in_rate 192000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + ] + + num_output_audio_formats 1 + + Object.Base.output_audio_format [ + { + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/components/src_format_s32_passthrough.conf b/tools/topology/topology2/include/components/src_format_s32_passthrough.conf new file mode 100644 index 000000000000..adc8a391ef6b --- /dev/null +++ b/tools/topology/topology2/include/components/src_format_s32_passthrough.conf @@ -0,0 +1,178 @@ +#src format array + num_input_audio_formats 14 + + Object.Base.input_audio_format [ + # 8khz input + { + in_rate 8000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 11.025 khz input + { + in_rate 11025 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 12khz input + { + in_rate 12000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 16khz input + { + in_rate 16000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 22.05khz input + { + in_rate 22050 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 24khz input + { + in_rate 24000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 32khz input + { + in_rate 32000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 44.1khz input + { + in_rate 44100 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 48khz input + { + in_rate 48000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 64khz input + { + in_rate 64000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 88.2khz input + { + in_rate 88200 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 96khz input + { + in_rate 96000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 176.4khz input + { + in_rate 176400 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 192khz input + { + in_rate 192000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + ] + + num_output_audio_formats 14 + + Object.Base.output_audio_format [ + # 8khz output + { + out_rate 8000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 12khz output + { + out_rate 12000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 48khz output + { + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 64khz output + { + out_rate 64000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 96khz output + { + out_rate 96000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 192khz output + { + out_rate 192000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/components/src_format_s32_to_sxx_convert.conf b/tools/topology/topology2/include/components/src_format_s32_to_sxx_convert.conf new file mode 100644 index 000000000000..a76ba74ab2de --- /dev/null +++ b/tools/topology/topology2/include/components/src_format_s32_to_sxx_convert.conf @@ -0,0 +1,346 @@ +#src format array + num_input_audio_formats 14 + + Object.Base.input_audio_format [ + # 8khz input + { + in_rate 8000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 11.025 khz input + { + in_rate 11025 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 12khz input + { + in_rate 12000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 16khz input + { + in_rate 16000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 22.05khz input + { + in_rate 22050 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 24khz input + { + in_rate 24000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 32khz input + { + in_rate 32000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 44.1khz input + { + in_rate 44100 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 48khz input + { + in_rate 48000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 64khz input + { + in_rate 64000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 88.2khz input + { + in_rate 88200 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 96khz input + { + in_rate 96000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 176.4khz input + { + in_rate 176400 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 192khz input + { + in_rate 192000 + in_bit_depth 32 + in_valid_bit_depth 32 + } + ] + + num_output_audio_formats 42 + + Object.Base.output_audio_format [ + # 8khz output + { + out_rate 8000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 12khz output + { + out_rate 12000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 48khz output + { + out_rate 48000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 64khz output + { + out_rate 64000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 96khz output + { + out_rate 96000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 192khz output + { + out_rate 192000 + out_bit_depth 16 + out_valid_bit_depth 16 + } + # 8khz output + { + out_rate 8000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 12khz output + { + out_rate 12000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 48khz output + { + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 64khz output + { + out_rate 64000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 96khz output + { + out_rate 96000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 192khz output + { + out_rate 192000 + out_bit_depth 32 + out_valid_bit_depth 24 + } + # 8khz output + { + out_rate 8000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 12khz output + { + out_rate 12000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 48khz output + { + out_rate 48000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 64khz output + { + out_rate 64000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 96khz output + { + out_rate 96000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 192khz output + { + out_rate 192000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] diff --git a/tools/topology/topology2/include/components/src_format.conf b/tools/topology/topology2/include/components/src_format_sxx_to_s32_convert.conf similarity index 68% rename from tools/topology/topology2/include/components/src_format.conf rename to tools/topology/topology2/include/components/src_format_sxx_to_s32_convert.conf index 6fc582f0cf0b..0518fb2d2a6f 100644 --- a/tools/topology/topology2/include/components/src_format.conf +++ b/tools/topology/topology2/include/components/src_format_sxx_to_s32_convert.conf @@ -4,222 +4,251 @@ Object.Base.input_audio_format [ # 8khz input { - in_rate 8000 + in_rate 8000 in_bit_depth 16 in_valid_bit_depth 16 } - { - in_rate 8000 - in_bit_depth 32 - in_valid_bit_depth 24 - } - { - in_bit_depth 32 - in_valid_bit_depth 32 - } # 11.025 khz input { in_rate 11025 in_bit_depth 16 in_valid_bit_depth 16 } + # 12khz input { - in_rate 11025 - in_bit_depth 32 - in_valid_bit_depth 24 + in_rate 12000 + in_bit_depth 16 + in_valid_bit_depth 16 } + # 16khz input { - in_rate 11025 - in_bit_depth 32 - in_valid_bit_depth 32 + in_rate 16000 + in_bit_depth 16 + in_valid_bit_depth 16 } - # 12khz input + # 22.05khz input { - in_rate 12000 + in_rate 22050 in_bit_depth 16 in_valid_bit_depth 16 } + # 24khz input { - in_rate 12000 - in_bit_depth 32 - in_valid_bit_depth 24 + in_rate 24000 + in_bit_depth 16 + in_valid_bit_depth 16 } + # 32khz input { - in_rate 12000 - in_bit_depth 32 - in_valid_bit_depth 32 + in_rate 32000 + in_bit_depth 16 + in_valid_bit_depth 16 } - # 16khz input + # 44.1khz input { - in_rate 16000 + in_rate 44100 in_bit_depth 16 in_valid_bit_depth 16 } + # 48khz input { - in_rate 16000 - in_bit_depth 32 - in_valid_bit_depth 24 + in_rate 48000 + in_bit_depth 16 + in_valid_bit_depth 16 } + # 64khz input { - in_rate 16000 - in_bit_depth 32 - in_valid_bit_depth 32 + in_rate 64000 + in_bit_depth 16 + in_valid_bit_depth 16 } - # 22.05khz input + # 88.2khz input { - in_rate 22050 + in_rate 88200 in_bit_depth 16 in_valid_bit_depth 16 } + # 96khz input { - in_rate 22050 - in_bit_depth 32 - in_valid_bit_depth 24 + in_rate 96000 + in_bit_depth 16 + in_valid_bit_depth 16 } + # 176.4khz input { - in_rate 22050 - in_bit_depth 32 - in_valid_bit_depth 32 + in_rate 176400 + in_bit_depth 16 + in_valid_bit_depth 16 } - # 24khz input + # 192khz input { - in_rate 24000 + in_rate 192000 in_bit_depth 16 in_valid_bit_depth 16 } + # 8khz input { - in_rate 24000 + in_rate 8000 in_bit_depth 32 in_valid_bit_depth 24 } + # 11.025 khz input { - in_rate 24000 + in_rate 11025 in_bit_depth 32 - in_valid_bit_depth 32 + in_valid_bit_depth 24 } - # 32khz input + # 12khz input { - in_rate 32000 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 12000 + in_bit_depth 32 + in_valid_bit_depth 24 } + # 16khz input { - in_rate 32000 + in_rate 16000 in_bit_depth 32 in_valid_bit_depth 24 } + # 22.05khz input { - in_rate 32000 + in_rate 22050 in_bit_depth 32 - in_valid_bit_depth 32 + in_valid_bit_depth 24 } - # 44.1khz input + # 24khz input { - in_rate 44100 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 24000 + in_bit_depth 32 + in_valid_bit_depth 24 } + # 32khz input { - in_rate 44100 + in_rate 32000 in_bit_depth 32 in_valid_bit_depth 24 } + # 44.1khz input { in_rate 44100 in_bit_depth 32 - in_valid_bit_depth 32 + in_valid_bit_depth 24 } # 48khz input { in_rate 48000 - in_bit_depth 16 - in_valid_bit_depth 16 + in_bit_depth 32 + in_valid_bit_depth 24 } + # 64khz input { - in_rate 48000 + in_rate 64000 in_bit_depth 32 in_valid_bit_depth 24 } + # 88.2khz input { - in_rate 48000 + in_rate 88200 in_bit_depth 32 - in_valid_bit_depth 32 + in_valid_bit_depth 24 } - # 64khz input + # 96khz input { - in_rate 64000 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 96000 + in_bit_depth 32 + in_valid_bit_depth 24 } + # 176.4khz input { - in_rate 64000 + in_rate 176400 in_bit_depth 32 in_valid_bit_depth 24 } + # 192khz input { - in_rate 64000 + in_rate 192000 + in_bit_depth 32 + in_valid_bit_depth 24 + } + # 8khz input + { + in_rate 8000 in_bit_depth 32 in_valid_bit_depth 32 } - # 88.2khz input + # 11.025 khz input { - in_rate 88200 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 11025 + in_bit_depth 32 + in_valid_bit_depth 32 } + # 12khz input { - in_rate 88200 + in_rate 12000 in_bit_depth 32 - in_valid_bit_depth 24 + in_valid_bit_depth 32 } + # 16khz input { - in_rate 88200 + in_rate 16000 in_bit_depth 32 in_valid_bit_depth 32 } - # 96khz input + # 22.05khz input { - in_rate 96000 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 22050 + in_bit_depth 32 + in_valid_bit_depth 32 } + # 24khz input { - in_rate 96000 + in_rate 24000 in_bit_depth 32 - in_valid_bit_depth 24 + in_valid_bit_depth 32 } + # 32khz input { - in_rate 96000 + in_rate 32000 in_bit_depth 32 in_valid_bit_depth 32 } - # 176.4khz input + # 44.1khz input { - in_rate 176400 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 44100 + in_bit_depth 32 + in_valid_bit_depth 32 } + # 48khz input { - in_rate 176400 + in_rate 48000 in_bit_depth 32 - in_valid_bit_depth 24 + in_valid_bit_depth 32 } + # 64khz input { - in_rate 176400 + in_rate 64000 in_bit_depth 32 in_valid_bit_depth 32 } - # 192khz input + # 88.2khz input { - in_rate 192000 - in_bit_depth 16 - in_valid_bit_depth 16 + in_rate 88200 + in_bit_depth 32 + in_valid_bit_depth 32 } + # 96khz input { - in_rate 192000 + in_rate 96000 in_bit_depth 32 - in_valid_bit_depth 24 + in_valid_bit_depth 32 } + # 176.4khz input + { + in_rate 176400 + in_bit_depth 32 + in_valid_bit_depth 32 + } + # 192khz input { in_rate 192000 in_bit_depth 32 @@ -227,12 +256,91 @@ } ] - num_output_audio_formats 1 + num_output_audio_formats 14 Object.Base.output_audio_format [ + # 8khz output + { + out_rate 8000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 11.025 khz output + { + out_rate 11025 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 12khz output + { + out_rate 12000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 16khz output + { + out_rate 16000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 22.05khz output + { + out_rate 22050 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 24khz output + { + out_rate 24000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 32khz output + { + out_rate 32000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 44.1khz output + { + out_rate 44100 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 48khz output { out_rate 48000 out_bit_depth 32 out_valid_bit_depth 32 } + # 64khz output + { + out_rate 64000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 88.2khz output + { + out_rate 88200 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 96khz output + { + out_rate 96000 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 176.4khz output + { + out_rate 176400 + out_bit_depth 32 + out_valid_bit_depth 32 + } + # 192khz output + { + out_rate 192000 + out_bit_depth 32 + out_valid_bit_depth 32 + } ] diff --git a/tools/topology/topology2/include/components/src_passthrough_format.conf b/tools/topology/topology2/include/components/src_passthrough_format.conf deleted file mode 100644 index 898a6adbbebf..000000000000 --- a/tools/topology/topology2/include/components/src_passthrough_format.conf +++ /dev/null @@ -1,395 +0,0 @@ -#src format array - num_input_audio_formats 42 - num_output_audio_formats 42 - - # 8khz input - Object.Base.audio_format.1 { - in_rate 8000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 8000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.2 { - in_rate 8000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 8000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.3{ - in_rate 8000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 8000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 11.025 khz input - Object.Base.audio_format.4 { - in_rate 11025 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 11025 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.5 { - in_rate 11025 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 11025 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.6{ - in_rate 11025 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 11025 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 12khz input - Object.Base.audio_format.7 { - in_rate 12000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 12000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.8 { - in_rate 12000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 12000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.9{ - in_rate 12000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 12000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 16khz input - Object.Base.audio_format.10 { - in_rate 16000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 16000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.11 { - in_rate 16000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 16000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.12{ - in_rate 16000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 16000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 22.05khz input - Object.Base.audio_format.13 { - in_rate 22050 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 22050 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.14 { - in_rate 22050 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 22050 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.15{ - in_rate 22050 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 22050 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - - # 24khz input - Object.Base.audio_format.16 { - in_rate 24000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 24000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.17 { - in_rate 24000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 24000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.18{ - in_rate 24000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 24000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 32khz input - Object.Base.audio_format.19 { - in_rate 32000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 32000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.20 { - in_rate 32000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 32000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.21 { - in_rate 32000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 32000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 44.1khz input - Object.Base.audio_format.22 { - in_rate 44100 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 44100 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.23 { - in_rate 44100 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 44100 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.24{ - in_rate 44100 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 44100 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 48khz input - Object.Base.audio_format.25 { - in_rate 48000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 48000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.26 { - in_rate 48000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 48000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.27 { - in_rate 48000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 48000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 64khz input - Object.Base.audio_format.28 { - in_rate 64000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 64000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.29 { - in_rate 64000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 64000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.30 { - in_rate 64000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 64000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - # 88.2khz input - Object.Base.audio_format.31 { - in_rate 88200 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 88200 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.32 { - in_rate 88200 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 88200 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.33 { - in_rate 88200 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 88200 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 96khz input - Object.Base.audio_format.34 { - in_rate 96000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 96000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.35 { - in_rate 96000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 96000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.36 { - in_rate 96000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 96000 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 176.4khz input - Object.Base.audio_format.37 { - in_rate 176400 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 176400 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.38 { - in_rate 176400 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 176400 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.39 { - in_rate 176400 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 176400 - out_bit_depth 32 - out_valid_bit_depth 32 - } - - # 192khz input - Object.Base.audio_format.40 { - in_rate 192000 - in_bit_depth 16 - in_valid_bit_depth 16 - out_rate 192000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.41 { - in_rate 192000 - in_bit_depth 32 - in_valid_bit_depth 24 - out_rate 192000 - out_bit_depth 32 - out_valid_bit_depth 24 - } - - Object.Base.audio_format.42 { - in_rate 192000 - in_bit_depth 32 - in_valid_bit_depth 32 - out_rate 192000 - out_bit_depth 32 - out_valid_bit_depth 32 - } diff --git a/tools/topology/topology2/include/pipelines/cavs/host-copier-gain-src-mixin-playback.conf b/tools/topology/topology2/include/pipelines/cavs/host-copier-gain-src-mixin-playback.conf index c8b3d5f4216a..05ab5ea46c05 100644 --- a/tools/topology/topology2/include/pipelines/cavs/host-copier-gain-src-mixin-playback.conf +++ b/tools/topology/topology2/include/pipelines/cavs/host-copier-gain-src-mixin-playback.conf @@ -52,17 +52,17 @@ Class.Pipeline."host-copier-gain-src-mixin-playback" { node_type $HDA_HOST_OUTPUT_CLASS num_output_pins 1 - + } gain."1" { - + } src."1" { rate_out 48000 - + } mixin."1" {} diff --git a/tools/topology/topology2/include/pipelines/cavs/src-gain-mixin-playback.conf b/tools/topology/topology2/include/pipelines/cavs/src-gain-mixin-playback.conf index aaab347faf37..36a2e29a7824 100644 --- a/tools/topology/topology2/include/pipelines/cavs/src-gain-mixin-playback.conf +++ b/tools/topology/topology2/include/pipelines/cavs/src-gain-mixin-playback.conf @@ -47,7 +47,7 @@ Class.Pipeline."src-gain-mixin-playback" { type "aif_in" num_output_pins 1 - + node_type $HDA_HOST_OUTPUT_CLASS } @@ -55,7 +55,7 @@ Class.Pipeline."src-gain-mixin-playback" { src."1" { rate_out 48000 - + } gain."1" {