Skip to content
Closed
69 changes: 66 additions & 3 deletions tools/topology/topology2/cavs-mixin-mixout-efx-hda.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ Define {
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
DEEP_BUFFER_PCM_NAME 'Deepbuffer HDA Analog'
HDA_ANALOG_CAPTURE_RATE 48000
HDA_ANALOG_PLAYBACK_RATE 48000
HDA_MIC_ENHANCED_CAPTURE 'false'
HDA_MIC_TDFB_PCM_ID 201
HDA_MIC_TDFB_PCM_NAME 'Analog Enhanced Audio'
HDA_MIC_TDFB_HOST_PIPELINE_ID 23
HDA_MIC_TDFB_HOST_PIPELINE_SINK 'copier.host.23.1'
HDA_MIC_TDFB_PCM_CAPS 'Enhanced Audio Capture 23'
HDA_MIC_DAI_PIPELINE_SRC 'module-copier.4.2'
}

# include deep buffer config if buffer size is in 1 - 1000 ms.
Expand Down Expand Up @@ -136,13 +145,12 @@ Object.Pipeline {
}
]

io-gateway [
dai-copier-eqiir-module-copier-capture [
{
index 4
direction capture

Object.Widget.dai-copier."1" {
dai_type "HDA"
dai_type "HDA"
type "dai_out"
copier_type "HDA"
stream_name $HDA_ANALOG_DAI_NAME
Expand All @@ -152,17 +160,60 @@ Object.Pipeline {
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $HDA_ANALOG_CAPTURE_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $HDA_ANALOG_CAPTURE_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
Object.Widget.eqiir.1 {
Object.Control.bytes."1" {
name '$ANALOG_CAPTURE_PCM IIR Eq'
<include/components/eqiir/highpass_40hz_0db_48khz.conf>
}
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $HDA_ANALOG_CAPTURE_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $HDA_ANALOG_CAPTURE_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
Object.Widget.module-copier."2" {
stream_name $HDA_ANALOG_DAI_NAME
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $HDA_ANALOG_CAPTURE_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $HDA_ANALOG_CAPTURE_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
}
]
}
Expand Down Expand Up @@ -201,6 +252,10 @@ IncludeByKey.EFX_DRC_COMPONENT {
}
{
source 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.capture'
sink 'eqiir.4.1'
}
{
source 'module-copier.4.2'
sink 'host-copier.0.capture'
}
{
Expand All @@ -221,6 +276,10 @@ IncludeByKey.EFX_DRC_COMPONENT {
}
{
source 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.capture'
sink 'eqiir.4.1'
}
{
source 'module-copier.4.2'
sink 'host-copier.0.capture'
}
{
Expand All @@ -230,3 +289,7 @@ IncludeByKey.EFX_DRC_COMPONENT {
]
}
}

IncludeByKey.HDA_MIC_ENHANCED_CAPTURE {
"true" "platform/intel/hda-enhanced-capture.conf"
}
41 changes: 38 additions & 3 deletions tools/topology/topology2/cavs-mixin-mixout-hda.conf
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,9 @@ Object.Pipeline {
}
]

highpass-capture-be [
dai-copier-eqiir-module-copier-capture [
{
index 4
direction capture

Object.Widget.dai-copier."1" {
dai_type "HDA"
Expand Down Expand Up @@ -230,8 +229,44 @@ Object.Pipeline {
Object.Widget.eqiir.1 {
Object.Control.bytes."1" {
name '$ANALOG_CAPTURE_PCM IIR Eq'
<include/components/eqiir/highpass_40hz_0db_48khz.conf>
}
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $HDA_ANALOG_CAPTURE_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $HDA_ANALOG_CAPTURE_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
Object.Widget.module-copier."2" {
stream_name $HDA_ANALOG_DAI_NAME
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $HDA_ANALOG_CAPTURE_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $HDA_ANALOG_CAPTURE_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
}
]
}
Expand Down Expand Up @@ -275,7 +310,7 @@ Object.Base.route [
sink 'eqiir.4.1'
}
{
source 'eqiir.4.1'
source 'module-copier.4.2'
sink 'host-copier.0.capture'
}
{
Expand Down
5 changes: 2 additions & 3 deletions tools/topology/topology2/cavs-nocodec.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<mixout-gain-dai-copier-playback.conf>
<mixout-gain-smart-amp-dai-copier-playback.conf>
<dai-copier-gain-module-copier-capture.conf>
<dai-copier-eqiir-module-copier-capture.conf>
<dai-copier-eqiir-gain-module-copier-capture.conf>
<gain-module-copier.conf>
<gain-capture.conf>
<gain-copier-capture.conf>
Expand Down Expand Up @@ -57,10 +57,9 @@ Define {
# override DMIC default definitions
DMIC0_HOST_PIPELINE_ID 13
DMIC0_DAI_PIPELINE_ID 14
DMIC0_HOST_PIPELINE_SINK 'gain.13.1'
DMIC0_HOST_PIPELINE_SINK 'host-copier.10.capture'
DMIC0_DAI_PIPELINE_SRC 'module-copier.14.2'
DMIC0_DAI_COPIER 'dai-copier.DMIC.NoCodec-6.capture'
DMIC0_DAI_GAIN 'eqiir.14.1'
DMIC0_NAME 'NoCodec-6'
DMIC1_NAME 'NoCodec-7'
DMIC0_PCM_CAPS 'Gain Capture 13'
Expand Down
5 changes: 2 additions & 3 deletions tools/topology/topology2/cavs-rt5682.conf
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<mixout-gain-eqiir-dts-dai-copier-playback.conf>
<deepbuffer-playback.conf>
<dai-copier-be.conf>
<dai-copier-eqiir-module-copier-capture.conf>
<dai-copier-eqiir-gain-module-copier-capture.conf>
<gain-capture.conf>
<gain-module-copier.conf>
<google-rtc-aec-capture.conf>
Expand Down Expand Up @@ -57,10 +57,9 @@ Define {
DMIC1_ID 2
DMIC0_HOST_PIPELINE_ID 13
DMIC0_DAI_PIPELINE_ID 14
DMIC0_HOST_PIPELINE_SINK 'gain.13.1'
DMIC0_HOST_PIPELINE_SINK 'host-copier.99.capture'
DMIC0_DAI_PIPELINE_SRC 'module-copier.14.2'
DMIC0_DAI_COPIER 'dai-copier.DMIC.dmic01.capture'
DMIC0_DAI_GAIN 'eqiir.14.1'
DMIC0_NAME 'dmic01'
DMIC0_PCM_CAPS 'Gain Capture 13'
# override BE link ids
Expand Down
5 changes: 2 additions & 3 deletions tools/topology/topology2/cavs-sdw.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<virtual.conf>
<host-copier-gain-mixin-playback.conf>
<mixout-gain-alh-dai-copier-playback.conf>
<dai-copier-eqiir-module-copier-capture.conf>
<dai-copier-eqiir-gain-module-copier-capture.conf>
<gain-capture.conf>
<gain-copier-capture.conf>
<deepbuffer-playback.conf>
Expand Down Expand Up @@ -56,10 +56,9 @@ Define {
PDM1_MIC_B_ENABLE 1
DMIC0_HOST_PIPELINE_ID 100
DMIC0_DAI_PIPELINE_ID 101
DMIC0_HOST_PIPELINE_SINK 'gain.100.1'
DMIC0_HOST_PIPELINE_SINK 'host-copier.10.capture'
DMIC0_DAI_PIPELINE_SRC 'module-copier.101.2'
DMIC0_DAI_COPIER 'dai-copier.DMIC.dmic01.capture'
DMIC0_DAI_GAIN 'eqiir.101.1'
DMIC0_NAME 'dmic01'
DMIC0_ID 4
DMIC1_ID 5
Expand Down
13 changes: 7 additions & 6 deletions tools/topology/topology2/development/tplg-targets.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,19 @@ NHLT_BIN=nhlt-sof-lnl-nocodec-fpga-4ch.bin,PASSTHROUGH=true,DMIC_IO_CLK=19200000
"cavs-sdw\;sof-lnl-fpga-rt711-l0\;PLATFORM=lnl,NUM_HDMIS=0,PASSTHROUGH=true"

# CAVS HDA topology with mixer-based efx eq pipelines for HDA and passthrough pipelines for HDMI
"sof-hda-generic\;sof-hda-efx-generic\;HDA_CONFIG=efx,\
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,EFX_DRC_PARAMS=passthrough"
"sof-hda-generic\;sof-hda-efx-generic\;HDA_CONFIG=efx,HDA_MIC_ENHANCED_CAPTURE=true,\
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,EFX_DRC_PARAMS=passthrough,\
EFX_HDA_MIC_TDFB_PARAMS=line2_generic_pm10deg,EFX_HDA_MIC_DRC_PARAMS=passthrough"

"sof-hda-generic\;sof-hda-efx-generic-2ch\;\
HDA_CONFIG=efx,NUM_DMICS=2,\
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,\
EFX_DRC_PARAMS=passthrough"
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,EFX_DRC_PARAMS=passthrough,\
DMIC0_ENHANCED_CAPTURE=true,EFX_DMIC0_TDFB_PARAMS=line2_generic_pm10deg,EFX_DMIC0_DRC_PARAMS=dmic_default"

"sof-hda-generic\;sof-hda-efx-generic-4ch\;\
HDA_CONFIG=efx,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,\
EFX_DRC_PARAMS=passthrough"
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,EFX_DRC_PARAMS=passthrough,\
DMIC0_ENHANCED_CAPTURE=true,EFX_DMIC0_TDFB_PARAMS=line4_generic_pm10deg,EFX_DMIC0_DRC_PARAMS=dmic_default"

"sof-hda-generic\;sof-hda-efx-mbdrc-generic\;HDA_CONFIG=efx,\
EFX_FIR_PARAMS=passthrough,EFX_IIR_PARAMS=passthrough,\
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Exported with script example_drc.m 18-Dec-2023
# Exported with script example_drc.m 17-May-2024
# cd tools/tune/drc; octave --no-window-system example_drc.m
Object.Base.data."drc_config" {
bytes "
Expand All @@ -9,12 +9,12 @@ Object.Base.data."drc_config" {
0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0xe7,0x00,0x00,0x00,0x0f,
0x00,0x00,0x00,0xdd,0x00,0x00,0x00,0x19,
0x00,0x00,0x00,0x0a,0xd3,0x4d,0x62,0x00,
0x0c,0x57,0x99,0x03,0x66,0x66,0x66,0x06,
0x5c,0xea,0xc1,0x00,0xbf,0x84,0x23,0x00,
0x03,0x3e,0xd6,0xff,0x4e,0xf4,0x50,0x00,
0xb6,0xa0,0xb5,0x09,0x4c,0x10,0x61,0x04,
0x72,0x5a,0x23,0x01,0x66,0x66,0x66,0x06,
0xd7,0x18,0xb8,0x00,0x31,0xcd,0x1a,0x00,
0x04,0xb3,0xe4,0xff,0x4e,0xf4,0x50,0x00,
0xf1,0x0d,0x51,0x07,0x9a,0x81,0xac,0x03,
0x1c,0xc7,0x71,0x00,0x77,0x77,0x77,0xff,
0xd8,0x77,0x1f,0x00,0x05,0x00,0x00,0x00,
0x00,0x80,0x43,0x00,0xd7,0x7d,0x04,0x00,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Exported with script example_drc.m 17-May-2024
# cd tools/tune/drc; octave --no-window-system example_drc.m
Object.Base.data."drc_config" {
bytes "
0x53,0x4f,0x46,0x34,0x00,0x00,0x00,0x00,
0x6c,0x00,0x00,0x00,0x00,0xa0,0x01,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0xe2,0x00,0x00,0x00,0x14,
0x00,0x00,0x00,0x0a,0xd3,0x4d,0x62,0x00,
0x8a,0x1b,0x06,0x02,0x66,0x66,0x66,0x06,
0x2f,0x97,0xba,0x00,0x18,0x0c,0x1e,0x00,
0x20,0x42,0xe0,0xff,0x4e,0xf4,0x50,0x00,
0x9a,0x9f,0x34,0x08,0xd3,0x2c,0xd8,0x04,
0x1c,0xc7,0x71,0x00,0x77,0x77,0x77,0xff,
0xd8,0x77,0x1f,0x00,0x05,0x00,0x00,0x00,
0x00,0x80,0x43,0x00,0xd7,0x7d,0x04,0x00,
0xa0,0xce,0x25,0x00,0xd7,0x7d,0x09,0x00,
0xb1,0xb5,0x00,0x00"
}
Loading