Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions tools/topology/topology2/avs-tplg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,31 @@
# Array of "input-file-name;output-file-name;comma separated pre-processor variables"
set(TPLGS
# CAVS HDMI only topology with passthrough pipelines
"sof-hda-generic\;sof-hda-generic-idisp\;USE_CHAIN_DMA=true"
"sof-hda-generic\;sof-hda-generic-idisp\;USE_CHAIN_DMA=true,DEEPBUFFER_FW_DMA_MS=100"
# CAVS HDA topology with mixer-based pipelines for HDA and passthrough pipelines for HDMI
"sof-hda-generic\;sof-hda-generic\;HDA_CONFIG=mix,USE_CHAIN_DMA=true"
"sof-hda-generic\;sof-hda-generic\;HDA_CONFIG=mix,USE_CHAIN_DMA=true,DEEPBUFFER_FW_DMA_MS=100"
# If the alsatplg plugins for NHLT are not available, the NHLT blobs will not be added to the
# topologies below.
"sof-hda-generic\;sof-hda-generic-2ch\;\
HDA_CONFIG=mix,NUM_DMICS=2,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-2ch.bin,USE_CHAIN_DMA=true"
HDA_CONFIG=mix,NUM_DMICS=2,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-2ch.bin,USE_CHAIN_DMA=true,\
DEEPBUFFER_FW_DMA_MS=100"
"sof-hda-generic\;sof-hda-generic-4ch\;\
HDA_CONFIG=mix,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-4ch.bin,USE_CHAIN_DMA=true"
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-4ch.bin,USE_CHAIN_DMA=true,DEEPBUFFER_FW_DMA_MS=100"
# CAVS SDW topology with passthrough pipelines
"cavs-sdw\;cavs-sdw"
"cavs-sdw\;cavs-sdw\;DEEPBUFFER_FW_DMA_MS=100"

# CAVS SDW with SRC gain and mixer support
"cavs-sdw-src-gain-mixin\;cavs-sdw-src-gain-mixin"

# SDW + HDMI topology with passthrough pipelines
"cavs-sdw\;cavs-sdw-hdmi\;NUM_HDMIS=4"
"cavs-sdw\;cavs-sdw-hdmi\;NUM_HDMIS=4,DEEPBUFFER_FW_DMA_MS=100"

# CAVS SSP topology for TGL
"cavs-nocodec\;sof-tgl-nocodec\;NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-tgl-nocodec.bin"
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-tgl-nocodec.bin,DEEPBUFFER_FW_DMA_MS=100"
"cavs-nocodec\;sof-adl-nocodec\;NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-adl-nocodec.bin"
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-adl-nocodec.bin,DEEPBUFFER_FW_DMA_MS=100"
)

add_custom_target(topology2_cavs)
Expand Down
46 changes: 13 additions & 33 deletions tools/topology/topology2/cavs-mixin-mixout-hda.conf
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
Define {
ANALOG_PLAYBACK_PCM 'Analog Playback'
ANALOG_CAPTURE_PCM 'Analog Capture'
HDA_ANALOG_DAI_NAME 'Analog Playback and Capture'
ANALOG_PLAYBACK_PCM 'Analog Playback'
ANALOG_CAPTURE_PCM 'Analog Capture'
HDA_ANALOG_DAI_NAME 'Analog Playback and Capture'
DEEP_BUFFER_PIPELINE_ID 15
DEEP_BUFFER_PCM_ID 31
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
DEEP_BUFFER_PCM_NAME 'Deepbuffer HDA Analog'
}

# include deep buffer config if buffer size is in 1 - 1000 ms.
IncludeByKey.DEEPBUFFER_FW_DMA_MS{
"[1-1000]" "platform/intel/deep-buffer.conf"
}

Object.Dai {
Expand Down Expand Up @@ -43,20 +53,6 @@ Object.Pipeline {
}
}

deepbuffer-playback.0 {
index 5

Object.Widget.copier.1 {
stream_name 'Analog Deepbuffer Playback'
}

Object.Widget.gain.1 {
Object.Control.mixer.1 {
name '5 3nd Playback Volume'
}
}
}

passthrough-capture.1 {
index 3
Object.Widget.copier.1 {
Expand Down Expand Up @@ -99,18 +95,6 @@ Object.PCM {
}
direction duplex
}

pcm.1 {
id 1
name 'DeepBuffer'
Object.Base.fe_dai.'DeepBuffer' {}
Object.PCM.pcm_caps.playback {
name 'Analog Deepbuffer Playback'
formats 'S32_LE,S24_LE,S16_LE'
}
direction playback
}

}

# top-level pipeline connections
Expand All @@ -127,8 +111,4 @@ Object.Base {
source 'copier.HDA.4.1'
sink 'copier.host.3.1'
}
route.4 {
source 'mixin.5.1'
sink 'mixout.2.1'
}
}
11 changes: 11 additions & 0 deletions tools/topology/topology2/cavs-nocodec.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<mixout-gain-dai-copier-playback.conf>
<dai-copier-gain-module-copier-capture.conf>
<gain-capture.conf>
<deepbuffer-playback.conf>
<data.conf>
<pcm.conf>
<pcm_caps.conf>
Expand Down Expand Up @@ -45,6 +46,11 @@ Define {
DMIC0_PCM_CAPS 'Passthrough Capture 13'
DMIC0_PIPELINE_STREAM_NAME 'copier.DMIC.14.1'
PLATFORM "none"
DEEP_BUFFER_PIPELINE_ID 15
DEEP_BUFFER_PCM_ID 31
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
DEEP_BUFFER_PCM_NAME 'Deepbuffer Port0'
}

# override defaults with platform-specific config
Expand All @@ -57,6 +63,11 @@ IncludeByKey.NUM_DMICS {
"[1-4]" "platform/intel/dmic-generic.conf"
}

# include deep buffer config if buffer size is in 1 - 1000 ms.
IncludeByKey.DEEPBUFFER_FW_DMA_MS{
"[1-1000]" "platform/intel/deep-buffer.conf"
}

#
# List of all DAIs
#
Expand Down
39 changes: 10 additions & 29 deletions tools/topology/topology2/cavs-sdw.conf
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ Define {
DMIC0_PCM_CAPS 'Passthrough Capture 13'
DMIC0_PIPELINE_STREAM_NAME 'copier.DMIC.14.1'
USE_CHAIN_DMA "false"
DEEP_BUFFER_PIPELINE_ID 15
DEEP_BUFFER_PCM_ID 31
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
DEEP_BUFFER_PCM_NAME 'Deepbuffer Jack Out'
}

# include DMIC config if needed.
Expand All @@ -66,6 +71,11 @@ IncludeByKey.NUM_HDMIS {
"[3-4]" "platform/intel/hdmi-generic.conf"
}

# include deep buffer config if buffer size is in 1 - 1000 ms.
IncludeByKey.DEEPBUFFER_FW_DMA_MS{
"[1-1000]" "platform/intel/deep-buffer.conf"
}

#
# List of all DAIs
#
Expand Down Expand Up @@ -134,20 +144,6 @@ Object.Pipeline {
}
}

deepbuffer-playback."5" {
index 5

Object.Widget.copier.1 {
stream_name 'Deepbuffer Playback'
}

Object.Widget.gain.1 {
Object.Control.mixer.1 {
name '5 2nd Playback Volume'
}
}
}

passthrough-capture."4" {
index 4
Object.Widget.pipeline.1.stream_name "copier.ALH.3.1"
Expand Down Expand Up @@ -199,16 +195,6 @@ Object.PCM {
formats 'S16_LE,S32_LE'
}
}
pcm."2" {
name 'DeepBuffer'
id 2
Object.Base.fe_dai.'DeepBuffer' {}
Object.PCM.pcm_caps.playback {
name 'Deepbuffer Playback'
formats 'S32_LE,S24_LE,S16_LE'
}
direction playback
}
}

Object.Base {
Expand All @@ -226,9 +212,4 @@ Object.Base {
source "mixin.1.1"
sink "mixout.2.1"
}

route.3 {
source 'mixin.5.1'
sink 'mixout.2.1'
}
}
39 changes: 39 additions & 0 deletions tools/topology/topology2/platform/intel/deep-buffer.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

Object.Pipeline {
deepbuffer-playback."1" {
index $DEEP_BUFFER_PIPELINE_ID

Object.Widget.copier.1 {
stream_name $DEEP_BUFFER_PCM_NAME
}

Object.Widget.gain.1 {
Object.Control.mixer.1 {
name 'Deepbuffer Volume'
}
}
}
}

Object.PCM {
pcm.$DEEP_BUFFER_PCM_ID {
name $DEEP_BUFFER_PCM_NAME
id $DEEP_BUFFER_PCM_ID
direction playback
playback_compatible_d0i3 true

Object.Base.fe_dai.'DeepBuffer' {}

Object.PCM.pcm_caps.playback {
name $DEEP_BUFFER_PCM_NAME
formats 'S16_LE,S24_LE,S32_LE'
}
}
}

Object.Base {
route."1000" {
source $DEEP_BUFFER_PIPELINE_SRC
sink $DEEP_BUFFER_PIPELINE_SINK
}
}
14 changes: 8 additions & 6 deletions tools/topology/topology2/sof-ace-tplg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
# Array of "input-file-name;output-file-name;comma separated pre-processor variables"
set(TPLGS
# HDMI only topology with passthrough pipelines
"sof-hda-generic\;sof-hda-generic-idisp\;USE_CHAIN_DMA=true"
"sof-hda-generic\;sof-hda-generic-idisp\;USE_CHAIN_DMA=true,DEEPBUFFER_FW_DMA_MS=100"
# HDA topology with mixer-based pipelines for HDA and passthrough pipelines for HDMI
"sof-hda-generic\;sof-hda-generic\;HDA_CONFIG=mix,USE_CHAIN_DMA=true"
"sof-hda-generic\;sof-hda-generic\;HDA_CONFIG=mix,USE_CHAIN_DMA=true,DEEPBUFFER_FW_DMA_MS=100"
# If the alsatplg plugins for NHLT are not available, the NHLT blobs will not be added to the
# topologies below.
"sof-hda-generic\;sof-hda-generic-4ch\;PLATFORM=mtl,\
HDA_CONFIG=mix,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-4ch.bin"
HDA_CONFIG=mix,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,PREPROCESS_PLUGINS=nhlt,\
NHLT_BIN=nhlt-sof-hda-generic-4ch.bin,DEEPBUFFER_FW_DMA_MS=100"
"sof-hda-generic\;sof-hda-generic-2ch\;PLATFORM=mtl,\
HDA_CONFIG=mix,NUM_DMICS=2,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-2ch.bin"
HDA_CONFIG=mix,NUM_DMICS=2,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-2ch.bin,\
DEEPBUFFER_FW_DMA_MS=100"

# SDW topology with passthrough pipelines
"cavs-sdw\;mtl-sdw"
Expand All @@ -21,11 +23,11 @@ HDA_CONFIG=mix,NUM_DMICS=2,PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic

# SDW + DMIC topology with passthrough pipelines
"cavs-sdw\;sof-mtl-rt711-4ch\;NUM_DMICS=4,DMIC0_ID=2,DMIC1_ID=3,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-rt711-4ch.bin"
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-rt711-4ch.bin,DEEPBUFFER_FW_DMA_MS=100"

# SSP topology for MTL
"cavs-nocodec\;sof-mtl-nocodec\;PLATFORM=mtl,NUM_DMICS=2,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-nocodec.bin"
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-nocodec.bin,DEEPBUFFER_FW_DMA_MS=100"

"cavs-rt5682\;sof-mtl-max98357a-rt5682\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,NUM_HDMIS=4,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-max98357a-rt5682.bin"
Expand Down