mirror of https://github.com/thesofproject/sof.git
Topology2: add mixout-gain-smart-amp-dai-copier-playback pipeline
This patch adds mixout-gain-smart-amp-dai-copier-playback pipeline. Signed-off-by: Chao Song <chao.song@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
parent
82cedc1665
commit
cc21dfa01a
|
@ -0,0 +1,143 @@
|
|||
#
|
||||
# BE playback pipeline: mixout-gain-smart-amp-dai-copier.
|
||||
#
|
||||
# All attributes defined herein are namespaced
|
||||
# by alsatplg to "Object.Pipeline.mixout-gain-smart-amp-dai-copier-playback.N.attribute_name"
|
||||
#
|
||||
# Usage: mixout-gain-smart-amp-dai-copier-playback pipeline object can be instantiated as:
|
||||
#
|
||||
# Object.Pipeline.mixout-gain-smart-amp-dai-copier-playback."N" {
|
||||
# period 1000
|
||||
# time_domain "timer"
|
||||
# channels 2
|
||||
# rate 48000
|
||||
# }
|
||||
#
|
||||
# Where N is the unique pipeline ID within the same alsaconf node.
|
||||
#
|
||||
|
||||
<include/common/audio_format.conf>
|
||||
<include/components/copier.conf>
|
||||
<include/components/gain.conf>
|
||||
<include/components/mixout.conf>
|
||||
<include/components/pipeline.conf>
|
||||
<include/components/smart_amp.conf>
|
||||
|
||||
Class.Pipeline."mixout-gain-smart-amp-dai-copier-playback" {
|
||||
|
||||
<include/pipelines/pipeline-common.conf>
|
||||
|
||||
attributes {
|
||||
!constructor [
|
||||
"index"
|
||||
]
|
||||
|
||||
!immutable [
|
||||
"direction"
|
||||
]
|
||||
|
||||
#
|
||||
# mixout-gain-smart-amp-dai-copier-playback objects instantiated within the same
|
||||
# alsaconf node must have unique instance attribute
|
||||
#
|
||||
unique "instance"
|
||||
}
|
||||
|
||||
Object.Widget {
|
||||
mixout."1" {}
|
||||
copier."1" {
|
||||
type dai_in
|
||||
node_type $HDA_LINK_OUTPUT_CLASS
|
||||
num_audio_formats 2
|
||||
num_input_audio_formats 2
|
||||
num_output_audio_formats 2
|
||||
|
||||
# copier only supports one format based on mixin/mixout requirements: 32-bit 48KHz 2ch
|
||||
Object.Base.audio_format.1 {
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 24
|
||||
out_bit_depth 32
|
||||
out_valid_bit_depth 24
|
||||
dma_buffer_size "$[$obs * 2]"
|
||||
}
|
||||
|
||||
Object.Base.audio_format.2 {
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 32
|
||||
out_bit_depth 32
|
||||
out_valid_bit_depth 32
|
||||
dma_buffer_size "$[$obs * 2]"
|
||||
}
|
||||
}
|
||||
gain."1" {
|
||||
num_audio_formats 2
|
||||
num_input_audio_formats 2
|
||||
num_output_audio_formats 2
|
||||
|
||||
# 32-bit 48KHz 2ch
|
||||
Object.Base.audio_format.1 {
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 24
|
||||
out_bit_depth 32
|
||||
out_valid_bit_depth 24
|
||||
}
|
||||
|
||||
Object.Base.audio_format.2 {
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 32
|
||||
out_bit_depth 32
|
||||
out_valid_bit_depth 32
|
||||
}
|
||||
}
|
||||
|
||||
smart_amp."1" {
|
||||
num_input_audio_formats 2
|
||||
num_output_audio_formats 1
|
||||
# 32-bit 48KHz 2ch
|
||||
Object.Base.input_audio_format {
|
||||
1 {
|
||||
pin_index 0
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 32
|
||||
}
|
||||
2 {
|
||||
pin_index 1
|
||||
in_bit_depth 32
|
||||
in_valid_bit_depth 32
|
||||
}
|
||||
}
|
||||
Object.Base.output_audio_format.1 {
|
||||
pin_index 0
|
||||
out_bit_depth 32
|
||||
out_valid_bit_depth 32
|
||||
}
|
||||
}
|
||||
|
||||
pipeline."1" {
|
||||
priority 0
|
||||
lp_mode 0
|
||||
}
|
||||
}
|
||||
|
||||
Object.Base {
|
||||
route.1 {
|
||||
source mixout.$index.1
|
||||
sink gain.$index.1
|
||||
}
|
||||
|
||||
route.2 {
|
||||
source gain.$index.1
|
||||
sink smart_amp.$index.1
|
||||
}
|
||||
}
|
||||
|
||||
direction "playback"
|
||||
dynamic_pipeline 1
|
||||
time_domain "timer"
|
||||
channels 2
|
||||
channels_min 2
|
||||
channels_max 2
|
||||
rate 48000
|
||||
rate_min 48000
|
||||
rate_max 48000
|
||||
}
|
Loading…
Reference in New Issue