topology2: sdw-dmic-generic: add eqiir to control DC offset

For some reason we had the EQIIR for topology1/IPC3 but we didn't add
it for topology2/IPC4.  All recordings show there's a strong DC offset
with RT722 and other codecs, so let's add this component by default in
the non-passthrough cases.

The widget is added in the scope of a pipeline, so that the
auto-generated instance is not handled at a global level.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This commit is contained in:
Pierre-Louis Bossart 2024-07-26 09:08:49 +02:00 committed by Liam Girdwood
parent 394b63a190
commit 22c3285788
1 changed files with 52 additions and 5 deletions

View File

@ -1,8 +1,10 @@
# route and pipeline index start from pcm id * 10
Define {
SDW_DMIC_CAPTURE_PCM_NAME "Microphone"
SDW_DMIC_STREAM 'SDW3-Capture'
SDW_DMIC_BE_ID 4
SDW_DMIC_PASSTHROUGH "false"
}
Object.Dai.ALH [
@ -71,6 +73,35 @@ Object.Widget {
priority 0
lp_mode 0
dynamic_pipeline 1
IncludeByKey.SDW_DMIC_PASSTHROUGH {
"false" {
Object.Widget.eqiir [
{
num_input_audio_formats 1
num_output_audio_formats 1
# index 41 is in herited from the pipeline definition
Object.Base.input_audio_format [
{
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_bit_depth 32
out_valid_bit_depth 32
}
]
Object.Control.bytes."1" {
<include/components/eqiir/highpass_40hz_0db_48khz.conf>
name '$SDW_DMIC_CAPTURE_PCM_NAME Capture IIR Eq'
}
}
]
}
}
}
]
}
@ -91,9 +122,25 @@ Object.PCM.pcm [
}
]
Object.Base.route [
IncludeByKey.SDW_DMIC_PASSTHROUGH {
"true" {
Object.Base.route [
{
source "alh-copier.$SDW_DMIC_STREAM.0"
sink "host-copier.4.capture"
}
]
]
}
"false" {
Object.Base.route [
{
source "alh-copier.$SDW_DMIC_STREAM.0"
sink "eqiir.41.0"
}
{
source "eqiir.41.0"
sink "host-copier.4.capture"
}
]
}
}