Skip to content

Commit d81feac

Browse files
singalsukv2019i
authored andcommitted
Tools: Tplg2: cavs-sdw: Enable speaker and microphone processing
This patch enables for all SDW PC topologies speaker endpoint post-processing with IIR, FIR, DRC. The IIR is set as default to 100 Hz high-pass. The FIR is pass-through. The DRC is set for a generic speaker profile. The microphone pre-processing is enabled for devices with SDW codec connected microphone. The IIR is set to 40 Hz high-pass, and the DRC to a generic microphone profile. Due to large amount of topologies built for SDW, the enhancements are enabled by default and disabled for some specific topologies. The explicit enable of processing for some devices we use for test are removed. For those there is no change in functionality. Some topologies are excluded from this change - Topologies for non-48 kHz sample rates, there are e.g. no 96 kHz blobs defined yet. - Topology with 8ch amplifier feedback (with four speakers?) - Chromebooks those apply post and pre-processing in closed components and/or sound server. - sof-tgl-rt715-rt711-rt1308-mono.tplg, due to no "mono". No idea if the added processing would be compatible. The topologies with added post-processing are (pre-processing for PCH-DMIC is already enabled): sof-lnl-cs42l43-l0-2ch, sof-lnl-cs42l43-l0-4ch, sof-lnl-cs42l43-l0-cs35l56-l3-2ch, sof-lnl-rt713-l0-rt1318-l1-2ch, sof-mtl-rt711-l0-rt1316-l3-2ch, sof-mtl-rt711-l0-rt1316-l3-4ch, sof-mtl-rt712-l0-2ch, sof-mtl-rt712-l0-4ch, sof-ptl-rt721-4ch, sof-ptl-rt722-4ch, sof-tgl-rt711-rt1308-4ch The topologies with added pre- post-processing are: sof-adl-cs42l43-l0-cs35l56-l23, sof-adl-rt711-l0-rt1308-l12-rt715-l3, sof-adl-rt711-l0-rt1316-l12-rt714-l3, sof-adl-rt711-l0-rt1316-l13-rt714-l2, sof-arl-cs42l43-l0-cs35l56-l2, sof-arl-cs42l43-l0-cs35l56-l23, sof-arl-cs42l43-l0, sof-arl-cs42l43-l2-cs35l56-l3, sof-arl-cs42l43-l2, sof-arl-rt722-l0_rt1320-l2, sof-lnl-cs42l43-l0-cs35l56-l23, sof-lnl-cs42l43-l0-cs35l56-l3, sof-lnl-cs42l43-l0, sof-lnl-rt1318-l12-rt714-l0, sof-lnl-rt712-l2-rt1320-l1, sof-lnl-rt712-l2-rt1712-l3, sof-lnl-rt713-l2-rt1320-l13, sof-mtl-cs42l43-l0-cs35l56-l12, sof-mtl-cs42l43-l0-cs35l56-l23, sof-mtl-cs42l43-l0, sof-mtl-cs42l43-l3-cs35l56-l01-spkagg, sof-mtl-rt1318-l12-rt714-l0, sof-mtl-rt711-l0-rt1316-l3, sof-mtl-rt712-l0-rt1712-l3, sof-mtl-rt712-l0, sof-mtl-rt712-vb-l0, sof-mtl-rt713-l0-rt1316-l12-rt1713-l3, sof-mtl-rt713-l0-rt1318-l1-rt1713-l3, sof-mtl-rt713-l0-rt1318-l12-rt1713-l3, sof-mtl-rt722-l0, sof-ptl-rt712-l2-rt1320-l1, sof-ptl-rt713-l2-rt1320-l13, sof-ptl-rt721, sof-ptl-rt722, sof-rpl-cs42l43-l0, sof-tgl-cs42l43-l3-cs35l56-l01, sof-tgl-rt711-rt1308-rt715, sof-tgl-rt711-rt1316-rt714, sof-tgl-rt712, Signed-off-by: Seppo Ingalsuo <[email protected]>
1 parent 72df5f6 commit d81feac

File tree

8 files changed

+30
-31
lines changed

8 files changed

+30
-31
lines changed

tools/topology/topology2/cavs-sdw.conf

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,17 @@ Define {
8181
SDW_JACK_CAPTURE_CH 2
8282
ADD_BT false
8383
SDW_LINK_VALID_BITS 24
84-
EFX_SPK_IIR_PARAMS passthrough
85-
EFX_SPK_FIR_PARAMS passthrough
86-
EFX_SPK_DRC_PARAMS passthrough
87-
EFX_MIC_TDFB_PARAMS passthrough
88-
EFX_MIC_DRC_PARAMS passthrough
89-
DMIC0_DAI_EQIIR "highpass_40hz_20db"
84+
# Used when NUM_SDW_AMP_LINKS is 1 or more
85+
SDW_SPK_ENHANCED_PLAYBACK true
86+
# Used when SDW_DMIC is 1
87+
SDW_DMIC_ENHANCED_CAPTURE true
88+
EFX_SPK_IIR_PARAMS "highpass_100hz_0db_48khz"
89+
EFX_SPK_FIR_PARAMS "passthrough"
90+
EFX_SPK_DRC_PARAMS "speaker_default"
91+
EFX_MIC_IIR_PARAMS "highpass_40hz_0db_48khz"
92+
EFX_MIC_TDFB_PARAMS "line2_generic_pm10deg"
93+
EFX_MIC_DRC_PARAMS "dmic_default"
94+
DMIC0_DAI_EQIIR "highpass_40hz_20db"
9095
}
9196

9297
# override defaults with platform-specific config

tools/topology/topology2/development/tplg-targets.cmake

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@ NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=3,DMIC1_ID=4,\
221221
DMIC1_ENABLE=passthrough,DMIC1_RATE=16000,\
222222
BT_NAME=SSP1-BT,BT_INDEX=1,BT_PCM_ID=20,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\
223223
NUM_SDW_AMP_LINKS=1,SDW_SPK_STREAM=SDW2-Playback,SDW_AMP_FEEDBACK=false,\
224-
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true"
224+
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true,\
225+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
225226

226227
# SDW + DMIC + HDMI, with 96 kHz DMIC1
227228
"cavs-sdw\;sof-mtl-sdw-cs42l42-l0-max98363-l2-4ch-48k-96k\;PLATFORM=mtl,\
@@ -230,15 +231,17 @@ NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=3,DMIC1_ID=4,\
230231
DMIC1_ENABLE=passthrough,DMIC1_RATE=96000,DMIC1_PCM_ID=22,\
231232
BT_NAME=SSP1-BT,BT_INDEX=1,BT_PCM_ID=20,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\
232233
NUM_SDW_AMP_LINKS=1,SDW_SPK_STREAM=SDW2-Playback,SDW_AMP_FEEDBACK=false,\
233-
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true"
234+
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true,\
235+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
234236

235237
# SDW + DMIC + HDMI, with 96 kHz DMIC0
236238
"cavs-sdw\;sof-mtl-sdw-cs42l42-l0-max98363-l2-4ch-96k\;PLATFORM=mtl,\
237239
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-sdw-cs42l42-l0-max98363-l2-4ch-96k.bin,\
238240
NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=3,DMIC1_ID=4,DMIC0_RATE=96000,\
239241
BT_NAME=SSP1-BT,BT_INDEX=1,BT_PCM_ID=20,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\
240242
NUM_SDW_AMP_LINKS=1,SDW_SPK_STREAM=SDW2-Playback,SDW_AMP_FEEDBACK=false,\
241-
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true"
243+
SDW_JACK_CAPTURE_CH=1,DEEPBUFFER_FW_DMA_MS=100,DEEPBUFFER_D0I3_COMPATIBLE=true,\
244+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
242245

243246
# SDW + DMIC + HDMI, with 16 kHz DMIC1
244247
"cavs-rt5682\;sof-mtl-max98360a-rt5682-4ch-48k-16k\;PLATFORM=mtl,\

tools/topology/topology2/platform/intel/sdw-amp-generic.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ Define {
1313
AMP_FEEDBACK_CH_PER_LINK 2
1414
SDW_AMP_FEEDBACK true
1515
AMP_PLAYBACK_NAME 'Speaker Playback'
16-
SDW_SPK_ENHANCED_PLAYBACK false
1716
}
1817

1918
Object.Dai.ALH [

tools/topology/topology2/platform/intel/sdw-dmic-generic.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ Define {
55
SDW_DMIC_STREAM 'SDW3-Capture'
66
SDW_DMIC_BE_ID 4
77
SDW_DMIC_PASSTHROUGH "false"
8-
SDW_DMIC_ENHANCED_CAPTURE "false"
98
SDW_DMIC_HOST_PIPELINE_ID 40
109
}
1110

tools/topology/topology2/production/tplg-targets-ace1.cmake

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6,DMIC0_ENHANCED_CAPTURE=true,\
99
EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default"
1010

1111
"cavs-sdw\;sof-mtl-rt711-l0-rt1316-l23-rt714-l1\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1,\
12-
SDW_SPK_STREAM=SDW2-Playback,SDW_SPK_IN_STREAM=SDW2-Capture,SDW_DMIC_STREAM=SDW1-Capture,\
13-
EFX_SPK_IIR_PARAMS=highpass_100hz_0db_48khz,EFX_SPK_DRC_PARAMS=speaker_default,\
14-
EFX_MIC_TDFB_PARAMS=line2_generic_pm10deg,EFX_MIC_DRC_PARAMS=dmic_default.conf,\
15-
SDW_SPK_ENHANCED_PLAYBACK=true,SDW_DMIC_ENHANCED_CAPTURE=true"
12+
SDW_SPK_STREAM=SDW2-Playback,SDW_SPK_IN_STREAM=SDW2-Capture,SDW_DMIC_STREAM=SDW1-Capture"
1613

1714
"cavs-sdw\;sof-mtl-rt711-l0-rt1316-l3\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,\
1815
SDW_SPK_STREAM=SDW3-Playback,SDW_SPK_IN_STREAM=SDW3-Capture,\
@@ -75,8 +72,7 @@ SDW_DMIC_STREAM=SDW0-Capture"
7572

7673
# Jack codec + SmartAmp topology. No SDW_DMIC connection
7774
"cavs-sdw\;sof-mtl-rt713-l0-rt1316-l12\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,\
78-
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6,SDW_SPK_ENHANCED_PLAYBACK=true,\
79-
EFX_SPK_IIR_PARAMS=highpass_100hz_0db_48khz,EFX_SPK_DRC_PARAMS=speaker_default"
75+
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6"
8076

8177
"cavs-sdw\;sof-mtl-rt722-l0\;PLATFORM=mtl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,\
8278
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\
@@ -104,7 +100,7 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
104100
"cavs-sdw\;sof-mtl-cs35l56-l01-fb8\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=2,\
105101
SDW_AMP_FEEDBACK=true,SDW_SPK_STREAM=Playback,SDW_SPK_IN_STREAM=Capture,\
106102
AMP_FEEDBACK_CH=8,AMP_FEEDBACK_CH_PER_LINK=4,SDW_JACK=false,NUM_DMICS=0,\
107-
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6"
103+
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6,SDW_SPK_ENHANCED_PLAYBACK=false"
108104

109105
# ARL has the same DSP generation. So reuse the platform = mtl.
110106
"cavs-sdw\;sof-arl-cs42l43-l0\;PLATFORM=mtl,NUM_SDW_AMP_LINKS=1,SDW_DMIC=1,\
@@ -222,5 +218,5 @@ PDM1_MIC_B_ENABLE=1,DMIC0_ID=3,DMIC1_ID=4,\
222218
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-sdw-cs42l42-l0-max98363-l2.bin,\
223219
BT_NAME=SSP1-BT,BT_INDEX=1,BT_PCM_ID=20,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\
224220
NUM_SDW_AMP_LINKS=1,SDW_SPK_STREAM=SDW2-Playback,SDW_AMP_FEEDBACK=false,\
225-
SDW_JACK_CAPTURE_CH=1"
221+
SDW_JACK_CAPTURE_CH=1,SDW_SPK_ENHANCED_PLAYBACK=false"
226222
)

tools/topology/topology2/production/tplg-targets-ace2.cmake

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,15 @@ HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6,DMIC0_ENHANCED_CAPTURE=true,\
99
EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default"
1010

1111
"cavs-sdw\;sof-lnl-rt711-l0-rt1316-l23-rt714-l1\;PLATFORM=lnl,NUM_SDW_AMP_LINKS=2,SDW_DMIC=1,\
12-
SDW_SPK_STREAM=SDW2-Playback,SDW_SPK_IN_STREAM=SDW2-Capture,SDW_DMIC_STREAM=SDW1-Capture,\
13-
EFX_SPK_IIR_PARAMS=highpass_100hz_0db_48khz,EFX_SPK_DRC_PARAMS=speaker_default,\
14-
EFX_MIC_TDFB_PARAMS=line2_generic_pm10deg,EFX_MIC_DRC_PARAMS=dmic_default.conf,\
15-
SDW_SPK_ENHANCED_PLAYBACK=true,SDW_DMIC_ENHANCED_CAPTURE=true"
12+
SDW_SPK_STREAM=SDW2-Playback,SDW_SPK_IN_STREAM=SDW2-Capture,SDW_DMIC_STREAM=SDW1-Capture"
1613

1714
"cavs-sdw\;sof-lnl-rt712-l2-rt1712-l3\;PLATFORM=lnl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,\
1815
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\
1916
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
2017

2118
"cavs-sdw\;sof-lnl-rt722-l0\;PLATFORM=lnl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,\
2219
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\
23-
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
24-
EFX_SPK_IIR_PARAMS=highpass_100hz_0db_48khz,EFX_SPK_DRC_PARAMS=speaker_default,\
25-
EFX_MIC_TDFB_PARAMS=line2_generic_pm10deg,EFX_MIC_DRC_PARAMS=dmic_default.conf,\
26-
SDW_SPK_ENHANCED_PLAYBACK=true,SDW_DMIC_ENHANCED_CAPTURE=true"
20+
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
2721

2822
"cavs-sdw\;sof-lnl-rt712-l2-rt1320-l1\;PLATFORM=lnl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=2,\
2923
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\

tools/topology/topology2/production/tplg-targets-ace3.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
2222
"cavs-sdw\;sof-ptl-rt722-96k\;PLATFORM=ptl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,\
2323
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\
2424
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
25-
JACK_RATE=96000,DEEP_BUF_JACK_RATE=96000"
25+
JACK_RATE=96000,DEEP_BUF_JACK_RATE=96000,\
26+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
2627

2728
"cavs-sdw\;sof-ptl-rt722-192k\;PLATFORM=ptl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,\
2829
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\
2930
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
30-
JACK_RATE=192000,DEEP_BUF_JACK_RATE=192000"
31+
JACK_RATE=192000,DEEP_BUF_JACK_RATE=192000,\
32+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
3133

3234
"cavs-sdw\;sof-ptl-rt722-4ch\;PLATFORM=ptl,SDW_DMIC=1,NUM_SDW_AMP_LINKS=1,NUM_DMICS=4,\
3335
PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=5,DMIC1_ID=6,HDMI1_ID=7,HDMI2_ID=8,HDMI3_ID=9,\

tools/topology/topology2/production/tplg-targets-cavs25.cmake

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ SDW_DMIC=1,SDW_DMIC_STREAM=SDW2-Capture"
1515

1616
"cavs-sdw\;sof-tgl-rt715-rt711-rt1308-mono\;NUM_SDW_AMP_LINKS=1,SDW_DMIC=1,\
1717
SDW_JACK_OUT_STREAM=SDW1-Playback,SDW_JACK_IN_STREAM=SDW1-Capture,\
18-
SDW_SPK_STREAM=SDW2-Playback,SDW_DMIC_STREAM=SDW0-Capture,SDW_AMP_FEEDBACK=false"
18+
SDW_SPK_STREAM=SDW2-Playback,SDW_DMIC_STREAM=SDW0-Capture,SDW_AMP_FEEDBACK=false,\
19+
SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
1920

2021
"cavs-sdw\;sof-adl-rt711-l0-rt1308-l12-rt715-l3\;NUM_SDW_AMP_LINKS=2,SDW_DMIC=1,SDW_AMP_FEEDBACK=false"
2122

@@ -40,7 +41,7 @@ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"
4041
"cavs-sdw\;sof-tgl-cs35l56-l01-fb8\;NUM_SDW_AMP_LINKS=2,\
4142
SDW_AMP_FEEDBACK=true,SDW_SPK_STREAM=Playback,SDW_SPK_IN_STREAM=Capture,\
4243
AMP_FEEDBACK_CH=8,AMP_FEEDBACK_CH_PER_LINK=4,SDW_JACK=false,NUM_DMICS=0,\
43-
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6"
44+
HDMI1_ID=4,HDMI2_ID=5,HDMI3_ID=6,SDW_SPK_ENHANCED_PLAYBACK=false,SDW_DMIC_ENHANCED_CAPTURE=false"
4445

4546
# IPC4 topology for TGL rt712 Headset, Amp and DMIC
4647
"cavs-sdw\;sof-tgl-rt712\;SDW_JACK_OUT_STREAM=Playback-SimpleJack,\

0 commit comments

Comments
 (0)