sof/tools/topology/topology2/cavs-mixin-mixout-efx-hda.conf

132 lines
2.3 KiB
Plaintext
Raw Normal View History

Define {
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 {
HDA.0 {
name $HDA_ANALOG_DAI_NAME
dai_index 0
id 4
default_hw_conf_id 4
Object.Base.hw_config.1 {
name "HDA0"
}
direction duplex
}
}
Object.Pipeline {
mixout-gain-efx-dai-copier-playback.0 {
index 2
Object.Widget.copier.1 {
stream_name $HDA_ANALOG_DAI_NAME
dai_type "HDA"
copier_type "HDA"
}
Object.Widget.gain.1 {
Object.Control.mixer.1 {
name '2 Main Playback Volume'
}
}
Object.Widget.eqiir.1 {
Object.Control.bytes."1" {
name '2 Main playback Iir Eq'
}
}
Object.Widget.eqfir.1 {
Object.Control.bytes."1" {
name '2 Main playback Fir Eq'
}
}
}
host-copier-gain-mixin-playback.0 {
index 1
Object.Widget.copier.1 {
stream_name $ANALOG_PLAYBACK_PCM
}
Object.Widget.gain.1 {
Object.Control.mixer.1 {
name '1 2nd Playback Volume'
}
}
}
passthrough-capture.1 {
index 3
Object.Widget.copier.1 {
stream_name $ANALOG_CAPTURE_PCM
}
}
passthrough-be.1 {
index 4
direction capture
Object.Widget.copier."1" {
dai_type "HDA"
type "dai_out"
copier_type "HDA"
stream_name $HDA_ANALOG_DAI_NAME
node_type $HDA_LINK_INPUT_CLASS
Object.Base.audio_format.1 {
in_bit_depth 32
in_valid_bit_depth 32
out_bit_depth 32
out_valid_bit_depth 32
dma_buffer_size "$[$ibs * 2]"
}
}
}
}
Object.PCM {
pcm.0 {
id 0
name 'HDA Analog'
Object.Base.fe_dai.1 {
name "HDA Analog"
}
Object.PCM.pcm_caps.1 {
direction "playback"
name $ANALOG_PLAYBACK_PCM
formats 'S32_LE,S24_LE,S16_LE'
}
Object.PCM.pcm_caps.2 {
direction "capture"
name $ANALOG_CAPTURE_PCM
formats 'S32_LE,S24_LE,S16_LE'
}
direction duplex
}
}
# top-level pipeline connections
Object.Base {
route.1 {
sink 'copier.HDA.2.1'
source 'eqfir.2.1'
}
route.2 {
source 'mixin.1.1'
sink 'mixout.2.1'
}
route.3 {
source 'copier.HDA.4.1'
sink 'copier.host.3.1'
}
}