Skip to content

Commit d968bcc

Browse files
committed
topology2: sdw-amp-generic: add SDW_AMP_FMT_24 flag
To indicate the SoundWire amp need to use 24 bit format. I use a flag instead of a macro like $SDW_AMP_FMT to set valid_bit_depth because bit_depth and valid_bit_depth may not be the same. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
1 parent 7be095f commit d968bcc

File tree

1 file changed

+92
-36
lines changed

1 file changed

+92
-36
lines changed

tools/topology/topology2/platform/intel/sdw-amp-generic.conf

Lines changed: 92 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Define {
99
SDW_AMP_IN_BE_ID 3
1010
AMP_FEEDBACK_CH 2
1111
SDW_AMP_FEEDBACK true
12+
SDW_AMP_FMT_24 false
1213
}
1314

1415
Object.Dai.ALH [
@@ -54,6 +55,19 @@ IncludeByKey.PASSTHROUGH {
5455
Object.Widget.alh-copier.1 {
5556
stream_name $SDW_SPK_STREAM
5657
node_type $ALH_LINK_OUTPUT_CLASS
58+
IncludeByKey.SDW_AMP_FMT_24 {
59+
"true" {
60+
num_output_audio_formats 1
61+
Object.Base.output_audio_format [
62+
{
63+
out_bit_depth 32
64+
out_valid_bit_depth 24
65+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
66+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
67+
}
68+
]
69+
}
70+
}
5771
}
5872
Object.Widget.gain.1 {
5973
Object.Control.mixer.1 {
@@ -136,27 +150,44 @@ IncludeByKey.PASSTHROUGH {
136150
in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]"
137151
}
138152
]
139-
num_output_audio_formats 3
140-
Object.Base.output_audio_format [
141-
{
142-
out_bit_depth 16
143-
out_valid_bit_depth 16
144-
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
145-
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
146-
}
147-
{
148-
out_bit_depth 32
149-
out_valid_bit_depth 24
150-
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
151-
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
153+
IncludeByKey.SDW_AMP_FMT_24 {
154+
"true" {
155+
num_output_audio_formats 1
156+
Object.Base.output_audio_format [
157+
{
158+
out_bit_depth 32
159+
out_valid_bit_depth 24
160+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
161+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
162+
163+
}
164+
]
152165
}
153-
{
154-
out_bit_depth 32
155-
out_valid_bit_depth 32
156-
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
157-
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
166+
"false" {
167+
num_output_audio_formats 3
168+
num_output_audio_formats 3
169+
Object.Base.output_audio_format [
170+
{
171+
out_bit_depth 16
172+
out_valid_bit_depth 16
173+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
174+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
175+
}
176+
{
177+
out_bit_depth 32
178+
out_valid_bit_depth 24
179+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
180+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
181+
}
182+
{
183+
out_bit_depth 32
184+
out_valid_bit_depth 32
185+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
186+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
187+
}
188+
]
158189
}
159-
]
190+
}
160191
}
161192
]
162193
pipeline [
@@ -190,8 +221,6 @@ IncludeByKey.NUM_SDW_AMP_LINKS {
190221
num_input_audio_formats 1
191222
num_output_audio_formats 1
192223
num_input_pins 1
193-
194-
# 32-bit 48KHz 2ch
195224
Object.Base.input_audio_format [
196225
{
197226
in_bit_depth 32
@@ -200,14 +229,28 @@ IncludeByKey.NUM_SDW_AMP_LINKS {
200229
in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]"
201230
}
202231
]
203-
Object.Base.output_audio_format [
204-
{
205-
out_bit_depth 32
206-
out_valid_bit_depth 32
207-
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
208-
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
232+
IncludeByKey.SDW_AMP_FMT_24 {
233+
"true" {
234+
Object.Base.output_audio_format [
235+
{
236+
out_bit_depth 32
237+
out_valid_bit_depth 24
238+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
239+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
240+
}
241+
]
209242
}
210-
]
243+
"false" {
244+
Object.Base.output_audio_format [
245+
{
246+
out_bit_depth 32
247+
out_valid_bit_depth 32
248+
out_sample_type $SAMPLE_TYPE_MSB_INTEGER
249+
out_fmt_cfg "$[($out_channels | ($out_valid_bit_depth * 256))]"
250+
}
251+
]
252+
}
253+
}
211254
}
212255
]
213256
IncludeByKey.SDW_AMP_FEEDBACK {
@@ -225,15 +268,28 @@ IncludeByKey.NUM_SDW_AMP_LINKS {
225268
num_output_audio_formats 1
226269
num_output_pins 1
227270

228-
# 32-bit 48KHz 2ch
229-
Object.Base.input_audio_format [
230-
{
231-
in_bit_depth 32
232-
in_valid_bit_depth 32
233-
in_sample_type $SAMPLE_TYPE_MSB_INTEGER
234-
in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]"
271+
IncludeByKey.SDW_AMP_FMT_24 {
272+
"true" {
273+
Object.Base.input_audio_format [
274+
{
275+
in_bit_depth 32
276+
in_valid_bit_depth 24
277+
in_sample_type $SAMPLE_TYPE_MSB_INTEGER
278+
in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]"
279+
}
280+
]
235281
}
236-
]
282+
"false" {
283+
Object.Base.input_audio_format [
284+
{
285+
in_bit_depth 32
286+
in_valid_bit_depth 32
287+
in_sample_type $SAMPLE_TYPE_MSB_INTEGER
288+
in_fmt_cfg "$[($in_channels | ($in_valid_bit_depth * 256))]"
289+
}
290+
]
291+
}
292+
}
237293
Object.Base.output_audio_format [
238294
{
239295
out_bit_depth 32

0 commit comments

Comments
 (0)