topology2: add S24LE support

S24LE is the major format used by SOF IPC4 FW and windows platform
and has better perfomance than S32.

Signed-off-by: Rander Wang <rander.wang@intel.com>
This commit is contained in:
Rander Wang 2022-06-15 14:04:50 +08:00 committed by Liam Girdwood
parent bf65c0783d
commit 773a05a32e
6 changed files with 70 additions and 13 deletions

View File

@ -154,5 +154,4 @@ Class.Widget."gain" {
curve_type "linear"
curve_duration 10
init_value 0x7fffffff
num_audio_formats 1
}

View File

@ -97,14 +97,21 @@ Class.Widget."mixin" {
unique "instance"
}
# Only 32-bit format is supported by mixin
num_audio_formats 1
# Only 32-bit depth format is supported by mixin
num_audio_formats 2
# 32-bit 48KHz 2ch
Object.Base.audio_format.1 {
in_bit_depth 32
in_valid_bit_depth 32
in_valid_bit_depth 24
out_bit_depth 32
out_valid_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
}
#

View File

@ -97,14 +97,21 @@ Class.Widget."mixout" {
unique "instance"
}
# Only 32-bit format is supported by mixout
num_audio_formats 1
# Only 32-bit depth format is supported by mixout
num_audio_formats 2
# 32-bit 48KHz 2ch
Object.Base.audio_format.1 {
in_bit_depth 32
in_valid_bit_depth 32
in_valid_bit_depth 24
out_bit_depth 32
out_valid_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
}
#

View File

@ -56,9 +56,18 @@ Class.Pipeline."mixout-gain-dai-copier-playback" {
node_type $HDA_LINK_OUTPUT_CLASS
period_sink_count 0
period_source_count 2
num_audio_formats 1
num_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
@ -67,8 +76,17 @@ Class.Pipeline."mixout-gain-dai-copier-playback" {
}
}
gain."1" {
num_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

View File

@ -56,7 +56,7 @@ Class.Pipeline."mixout-gain-host-copier-capture" {
copier_type "host"
type "aif_out"
node_type $HDA_HOST_INPUT_CLASS
num_audio_formats 3
num_audio_formats 4
# 16-bit 48KHz 2ch
Object.Base.audio_format.1 {
in_bit_depth 32
@ -71,8 +71,17 @@ Class.Pipeline."mixout-gain-host-copier-capture" {
out_valid_bit_depth 24
dma_buffer_size "$[$obs * 2]"
}
# 32-bit 48KHz 2ch
Object.Base.audio_format.3 {
in_bit_depth 32
in_valid_bit_depth 24
out_bit_depth 32
out_valid_bit_depth 24
dma_buffer_size "$[$obs * 2]"
}
# 32-bit 48KHz 2ch
Object.Base.audio_format.4 {
in_bit_depth 32
in_valid_bit_depth 32
out_bit_depth 32
@ -82,8 +91,17 @@ Class.Pipeline."mixout-gain-host-copier-capture" {
}
gain."1"{
num_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

View File

@ -48,8 +48,16 @@ Class.Pipeline."passthrough-be" {
copier."1" {
type dai_in
node_type $HDA_LINK_OUTPUT_CLASS
num_audio_formats 2
num_audio_formats 3
# 32-bit 48KHz 2ch
Object.Base.audio_format.3 {
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.1 {
in_bit_depth 32
in_valid_bit_depth 32