Skip to content

Commit 2b9b290

Browse files
committed
topology2: sof-mtl-rt5650: add SSP FMT 24 bits support
use 24 bits format on playback and capture pipelines for RT5650 HS/SPK codec. Signed-off-by: Mac Chiang <[email protected]>
1 parent 37b36f7 commit 2b9b290

File tree

5 files changed

+114
-17
lines changed

5 files changed

+114
-17
lines changed

tools/topology/topology2/cavs-mixin-mixout-eqiir-dts-ssp.conf

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,16 @@ Object.Pipeline {
4646
copier_type "SSP"
4747
stream_name "$HEADSET_CODEC_NAME"
4848
node_type $I2S_LINK_OUTPUT_CLASS
49+
IncludeByKey.SSP_HS_FMT_24 {
50+
"true" {
51+
Object.Base.output_audio_format [
52+
{
53+
out_bit_depth 32
54+
out_valid_bit_depth 24
55+
}
56+
]
57+
}
58+
}
4959
}
5060

5161
Object.Widget.gain.1 {
@@ -76,6 +86,16 @@ Object.Pipeline {
7686
copier_type "SSP"
7787
stream_name "$SPEAKER_CODEC_NAME"
7888
node_type $I2S_LINK_OUTPUT_CLASS
89+
IncludeByKey.SSP_SPK_FMT_24 {
90+
"true" {
91+
Object.Base.output_audio_format [
92+
{
93+
out_bit_depth 32
94+
out_valid_bit_depth 24
95+
}
96+
]
97+
}
98+
}
7999
}
80100

81101
Object.Widget.gain.1 {

tools/topology/topology2/cavs-mixin-mixout-ssp.conf

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ Object.Pipeline {
4747
copier_type "SSP"
4848
stream_name "$HEADSET_CODEC_NAME"
4949
node_type $I2S_LINK_OUTPUT_CLASS
50+
IncludeByKey.SSP_HS_FMT_24 {
51+
"true" {
52+
Object.Base.output_audio_format [
53+
{
54+
out_bit_depth 32
55+
out_valid_bit_depth 24
56+
}
57+
]
58+
}
59+
}
5060
}
5161

5262
Object.Widget.gain.1 {
@@ -64,6 +74,16 @@ Object.Pipeline {
6474
copier_type "SSP"
6575
stream_name "$SPEAKER_CODEC_NAME"
6676
node_type $I2S_LINK_OUTPUT_CLASS
77+
IncludeByKey.SSP_SPK_FMT_24 {
78+
"true" {
79+
Object.Base.output_audio_format [
80+
{
81+
out_bit_depth 32
82+
out_valid_bit_depth 24
83+
}
84+
]
85+
}
86+
}
6787
}
6888

6989
Object.Widget.gain.1 {

tools/topology/topology2/cavs-rt5682.conf

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ Define {
118118
DMIC_PIPELINE_PRIORITY 1
119119
ECHO_REF_PIPELINE_PRIORITY 0
120120
PLAYBACK_PIPELINE_SRC "volume"
121+
SSP_SPK_FMT_24 false
122+
SSP_HS_FMT_24 false
121123
}
122124

123125
# override defaults with platform-specific config
@@ -229,6 +231,22 @@ Object.Pipeline {
229231
Object.Widget.host-copier.1 {
230232
stream_name '$HEADSET_CAPTURE_PCM_STREAM_NAME'
231233
pcm_id $HEADSET_PCM_ID
234+
IncludeByKey.SSP_HS_FMT_24 {
235+
"true" {
236+
Object.Base.input_audio_format [
237+
{
238+
in_bit_depth 32
239+
in_valid_bit_depth 24
240+
}
241+
]
242+
Object.Base.output_audio_format [
243+
{
244+
out_bit_depth 32
245+
out_valid_bit_depth 24
246+
}
247+
]
248+
}
249+
}
232250
}
233251
}
234252
]
@@ -245,18 +263,37 @@ Object.Pipeline {
245263
copier_type "SSP"
246264
stream_name "$HEADSET_CODEC_NAME"
247265
node_type $I2S_LINK_INPUT_CLASS
248-
Object.Base.input_audio_format [
249-
{
250-
in_bit_depth 32
251-
in_valid_bit_depth 32
266+
IncludeByKey.SSP_HS_FMT_24 {
267+
"true" {
268+
Object.Base.input_audio_format [
269+
{
270+
in_bit_depth 32
271+
in_valid_bit_depth 24
272+
}
273+
]
274+
Object.Base.output_audio_format [
275+
{
276+
out_bit_depth 32
277+
out_valid_bit_depth 24
278+
}
279+
]
252280
}
253-
]
254-
Object.Base.output_audio_format [
255-
{
256-
out_bit_depth 32
257-
out_valid_bit_depth 32
281+
"false" {
282+
Object.Base.input_audio_format [
283+
{
284+
in_bit_depth 32
285+
in_valid_bit_depth 32
286+
}
287+
288+
]
289+
Object.Base.output_audio_format [
290+
{
291+
out_bit_depth 32
292+
out_valid_bit_depth 32
293+
}
294+
]
258295
}
259-
]
296+
}
260297
}
261298
}
262299
]

tools/topology/topology2/platform/intel/speaker-echo-ref.conf

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,25 @@ Object.Pipeline {
1414
stream_name $SPEAKER_CODEC_NAME
1515
node_type $I2S_LINK_INPUT_CLASS
1616
num_input_audio_formats 1
17-
Object.Base.input_audio_format [
18-
{
19-
in_bit_depth 32
20-
in_valid_bit_depth 32
17+
IncludeByKey.SSP_SPK_FMT_24 {
18+
"true" {
19+
Object.Base.input_audio_format [
20+
{
21+
in_bit_depth 32
22+
in_valid_bit_depth 24
23+
24+
}
25+
]
2126
}
22-
]
27+
"false" {
28+
Object.Base.input_audio_format [
29+
{
30+
in_bit_depth 32
31+
in_valid_bit_depth 32
32+
}
33+
]
34+
}
35+
}
2336
num_output_audio_formats 1
2437
Object.Base.output_audio_format [
2538
{

tools/topology/topology2/production/tplg-targets-ace1.cmake

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,19 @@ NHLT_BIN=nhlt-sof-max98357a-rt5682.bin,DEEPBUFFER_FW_DMA_MS=10,HEADSET_SSP_DAI_I
6464
SPEAKER_SSP_DAI_INDEX=0,HEADSET_CODEC_NAME=SSP2-Codec,SPEAKER_CODEC_NAME=SSP0-Codec,\
6565
INCLUDE_ECHO_REF=true,INCLUDE_BT_OFFLOAD=false"
6666

67+
"cavs-rt5682\;sof-mtl-rt5650\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,\
68+
PDM1_MIC_B_ENABLE=1,DMIC0_PCM_ID=99,PREPROCESS_PLUGINS=nhlt,\
69+
NHLT_BIN=nhlt-sof-mtl-max98357a-rt5682.bin,DEEPBUFFER_FW_DMA_MS=10,HEADSET_SSP_DAI_INDEX=2,\
70+
SPK_ID=6,SPEAKER_SSP_DAI_INDEX=0,HEADSET_CODEC_NAME=SSP2-Codec,SPEAKER_CODEC_NAME=SSP0-Codec,\
71+
BT_NAME=SSP1-BT,BT_INDEX=1,BT_ID=7,BT_PCM_NAME=Bluetooth,INCLUDE_ECHO_REF=true,\
72+
DEEP_BUF_SPK=true,SSP_SPK_FMT_24=true,SSP_HS_FMT_24=true"
73+
6774
"cavs-rt5682\;sof-mtl-rt5650-dts\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,\
6875
PDM1_MIC_B_ENABLE=1,DMIC0_PCM_ID=99,PREPROCESS_PLUGINS=nhlt,\
6976
NHLT_BIN=nhlt-sof-mtl-max98357a-rt5682.bin,DEEPBUFFER_FW_DMA_MS=10,HEADSET_SSP_DAI_INDEX=2,\
7077
SPK_ID=6,SPEAKER_SSP_DAI_INDEX=0,HEADSET_CODEC_NAME=SSP2-Codec,SPEAKER_CODEC_NAME=SSP0-Codec,\
71-
BT_NAME=SSP1-BT,BT_INDEX=1,BT_ID=7,BT_PCM_NAME=Bluetooth,INCLUDE_ECHO_REF=true,USE_CHAIN_DMA=true,\
72-
GOOGLE_RTC_AEC_SUPPORT=1,DEEP_BUF_SPK=true,PLAYBACK_PIPELINE_SRC=dts"
78+
BT_NAME=SSP1-BT,BT_INDEX=1,BT_ID=7,BT_PCM_NAME=Bluetooth,INCLUDE_ECHO_REF=true,\
79+
DEEP_BUF_SPK=true,SSP_SPK_FMT_24=true,SSP_HS_FMT_24=true,PLAYBACK_PIPELINE_SRC=dts"
7380

7481
#ES83x6+HDMI-IN
7582
"cavs-es83x6\;sof-mtl-es83x6-ssp1-hdmi-ssp02\;PLATFORM=mtl,PREPROCESS_PLUGINS=nhlt,\

0 commit comments

Comments
 (0)