Skip to content

Commit 11979bf

Browse files
libinyanglgirdwood
authored andcommitted
topology1: sof-icl-rt711-rt1308-rt715-hdmi: add NO_LOCAL_MIC & NOAMP support
add sof-icl-rt711-rt1308-rt715-hdmi NO_LOCAL_MIC & NOAMP support Signed-off-by: Libin Yang <libin.yang@intel.com>
1 parent 6d8b40d commit 11979bf

2 files changed

Lines changed: 68 additions & 14 deletions

File tree

tools/topology/topology1/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,14 @@ set(TPLGS
102102
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-rt1308-mono-rt715\;-DPLATFORM=tgl\;-DMONO\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DMIC_LINK=3"
103103
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt715-rt711-rt1308-mono\;-DPLATFORM=tgl\;-DMONO\;-DUAJ_LINK=1\;-DAMP_1_LINK=2\;-DMIC_LINK=0"
104104
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-rt1308-rt715\;-DPLATFORM=tgl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DMIC_LINK=3"
105-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-rt1316-rt714\;-DPLATFORM=tgl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DMIC_LINK=3"
105+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-rt1316-rt714\;-DPLATFORM=tgl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DEXT_AMP_REF\;-DMIC_LINK=3"
106106
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1308-l12-rt715-l3\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DMIC_LINK=3"
107-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1316-l12-rt714-l3\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DMIC_LINK=3"
108-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1316-l13-rt714-l2\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=3\;-DMIC_LINK=2"
109-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l0\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DMIC_LINK=0"
110-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l12-rt714-l0\;-DPLATFORM=adl\;-DNOJACK\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DMIC_LINK=0"
111-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l3\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DMIC_LINK=3"
112-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l2-rt1316-l01-rt714-l3\;-DPLATFORM=adl\;-DUAJ_LINK=2\;-DAMP_1_LINK=0\;-DAMP_2_LINK=1\;-DMIC_LINK=3"
107+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1316-l12-rt714-l3\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DEXT_AMP_REF\;-DMIC_LINK=3"
108+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1316-l13-rt714-l2\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=3\;-DEXT_AMP_REF\;-DMIC_LINK=2"
109+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l0\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DEXT_AMP_REF\;-DMIC_LINK=0"
110+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l12-rt714-l0\;-DPLATFORM=adl\;-DNOJACK\;-DAMP_1_LINK=1\;-DAMP_2_LINK=2\;-DEXT_AMP_REF\;-DMIC_LINK=0"
111+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l3\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DEXT_AMP_REF\;-DMIC_LINK=3"
112+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l2-rt1316-l01-rt714-l3\;-DPLATFORM=adl\;-DUAJ_LINK=2\;-DAMP_1_LINK=0\;-DAMP_2_LINK=1\;-DEXT_AMP_REF\;-DMIC_LINK=3"
113113
"sof-cnl-rt5682-sdw2\;sof-cnl-rt5682-sdw2\;-DPLATFORM=cnl"
114114
"sof-cml-rt5682\;sof-cml-rt5682\;-DPLATFORM=cml\;-DDMICPROC=eq-iir-volume\;-DDMIC16KPROC=eq-iir-volume"
115115
"sof-cml-rt5682\;sof-whl-rt5682\;-DPLATFORM=whl\;-DDMICPROC=eq-iir-volume\;-DDMIC16KPROC=eq-iir-volume"

tools/topology/topology1/sof-icl-rt711-rt1308-rt715-hdmi.m4

Lines changed: 61 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,33 @@ ifdef(`AMP_2_LINK',`',
3131
ifdef(`MIC_LINK',`',
3232
`define(MIC_LINK, `3')')
3333

34+
# UAJ ID: 0, 1
35+
# AMP ID: 2, 3 (if EXT_AMP_REF defined)
36+
# DMIC ID: 4
37+
# HDMI ID calculated based on the configuraiton
38+
define(HDMI_BE_ID_BASE, `0')
39+
40+
ifdef(`NOJACK', `',
41+
`undefine(`HDMI_BE_ID_BASE')
42+
define(HDMI_BE_ID_BASE, `2')'
43+
)
44+
45+
ifdef(`NOAMP', `',
46+
`undefine(`HDMI_BE_ID_BASE')
47+
define(HDMI_BE_ID_BASE, `3')'
48+
)
49+
50+
ifdef(`EXT_AMP_REF',
51+
`undefine(`HDMI_BE_ID_BASE')
52+
define(HDMI_BE_ID_BASE, `4')',
53+
`'
54+
)
55+
56+
ifdef(`NO_LOCAL_MIC', `',
57+
`undefine(`HDMI_BE_ID_BASE')
58+
define(HDMI_BE_ID_BASE, `5')'
59+
)
60+
3461
DEBUG_START
3562

3663
dnl Configure demux
@@ -40,6 +67,8 @@ dnl copied to corresponding output channels in all output streams.
4067
dnl I.e. row index is the input channel, 1 means it is copied to
4168
dnl corresponding output channel (column index), 0 means it is discarded.
4269
dnl There's a separate matrix for all outputs.
70+
ifdef(`NOAMP', `',
71+
`
4372
ifdef(`MONO', `',
4473
`
4574
define(matrix1, `ROUTE_MATRIX(3,
@@ -65,6 +94,7 @@ define(matrix2, `ROUTE_MATRIX(4,
6594
dnl name, num_streams, route_matrix list
6695
MUXDEMUX_CONFIG(demux_priv_3, 2, LIST(` ', `matrix1,', `matrix2'))
6796
')
97+
')
6898

6999
#
70100
# Define the pipelines
@@ -74,10 +104,14 @@ ifdef(`NOJACK', `',
74104
# PCM0 ---> volume ----> ALH 2 BE UAJ_LINK
75105
# PCM1 <--- volume <---- ALH 3 BE UAJ_LINK
76106
')
107+
ifdef(`NOAMP', `',
108+
`
77109
# PCM2 ---> volume ----> ALH 2 BE AMP_1_LINK
78110
ifdef(`MONO', `',
79111
`# PCM40 ---> volume ----> ALH 2 BE AMP_2_LINK')
80-
# PCM4 <--- volume <---- ALH 2 BE MIC_LINK
112+
')
113+
ifdef(`NO_LOCAL_MIC', `',
114+
`# PCM4 <--- volume <---- ALH 2 BE MIC_LINK')
81115
# PCM5 ---> volume ----> iDisp1
82116
# PCM6 ---> volume ----> iDisp2
83117
# PCM7 ---> volume ----> iDisp3
@@ -105,6 +139,8 @@ PIPELINE_PCM_ADD(sof/pipe-volume-switch-capture.m4,
105139
48000, 48000, 48000)
106140
')
107141

142+
ifdef(`NOAMP', `',
143+
`
108144
ifdef(`MONO',
109145
`
110146
# Low Latency playback pipeline 3 on PCM 2 using max 2 channels of s32le.
@@ -129,13 +165,17 @@ PIPELINE_PCM_ADD(sof/pipe-dai-endpoint.m4,
129165
1000, 0, 0,
130166
48000, 48000, 48000)
131167
')
168+
')
132169

170+
ifdef(`NO_LOCAL_MIC', `',
171+
`
133172
# Low Latency capture pipeline 5 on PCM 4 using max 2 channels of s32le.
134173
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
135174
PIPELINE_PCM_ADD(sof/pipe-highpass-switch-capture.m4,
136175
5, 4, 2, s32le,
137176
1000, 0, 0,
138177
48000, 48000, 48000)
178+
')
139179

140180
# Low Latency playback pipeline 6 on PCM 5 using max 2 channels of s32le.
141181
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
@@ -184,6 +224,8 @@ DAI_ADD(sof/pipe-dai-capture.m4,
184224
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
185225
')
186226

227+
ifdef(`NOAMP', `',
228+
`
187229
# playback DAI is ALH(AMP_1_LINK PIN2/AMP_2_LINK PIN2) using 2 periods
188230
# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
189231
DAI_ADD(sof/pipe-dai-playback.m4,
@@ -208,13 +250,17 @@ SectionGraph."PIPE_DEMUX" {
208250
]
209251
}
210252
')
253+
')
211254

255+
ifdef(`NO_LOCAL_MIC', `',
256+
`
212257
# capture DAI is ALH(MIC_LINK PIN2) using 2 periods
213258
# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
214259
DAI_ADD(sof/pipe-dai-capture.m4,
215260
5, ALH, eval(MIC_LINK * 256 + 2), `SDW'eval(MIC_LINK)`-Capture',
216261
PIPELINE_SINK_5, 2, s24le,
217262
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
263+
')
218264

219265
# playback DAI is iDisp1 using 2 periods
220266
# # Buffers use s32le format, 1000us deadline on core 0 with priority 0
@@ -245,9 +291,11 @@ ifdef(`NOJACK', `',
245291
PCM_PLAYBACK_ADD(Jack Out, 0, PIPELINE_PCM_1)
246292
PCM_CAPTURE_ADD(Jack In, 1, PIPELINE_PCM_2)
247293
')
248-
294+
ifdef(`NOAMP', `',
295+
`
249296
PCM_PLAYBACK_ADD(Speaker, 2, PIPELINE_PCM_3)
250-
PCM_CAPTURE_ADD(Microphone, 4, PIPELINE_PCM_5)
297+
')
298+
ifdef(`NO_LOCAL_MIC', `', `PCM_CAPTURE_ADD(Microphone, 4, PIPELINE_PCM_5)')
251299
PCM_PLAYBACK_ADD(HDMI 1, 5, PIPELINE_PCM_6)
252300
PCM_PLAYBACK_ADD(HDMI 2, 6, PIPELINE_PCM_7)
253301
PCM_PLAYBACK_ADD(HDMI 3, 7, PIPELINE_PCM_8)
@@ -268,20 +316,26 @@ DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 3), 1, `SDW'eval(UAJ_LINK)`-Capture',
268316
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 3), 48000, 2)))
269317
')
270318

319+
ifdef(`NOAMP', `',
320+
`
271321
#ALH AMP_1_LINK Pin2 (ID: 2)
272322
DAI_CONFIG(ALH, eval(AMP_1_LINK * 256 + 2), 2, `SDW'eval(AMP_1_LINK)`-Playback',
273323
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(AMP_1_LINK * 256 + 2), 48000, 2)))
324+
')
274325

326+
ifdef(`NO_LOCAL_MIC', `',
327+
`
275328
#ALH MIC_LINK Pin2 (ID: 4)
276329
DAI_CONFIG(ALH, eval(MIC_LINK * 256 + 2), 4, `SDW'eval(MIC_LINK)`-Capture',
277330
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(MIC_LINK * 256 + 2), 48000, 2)))
331+
')
278332

279-
# 3 HDMI/DP outputs (ID: 5,6,7)
280-
DAI_CONFIG(HDA, 0, 5, iDisp1,
333+
# 3 HDMI/DP outputs (ID: from HDMI_BE_ID_BASE)
334+
DAI_CONFIG(HDA, 0, HDMI_BE_ID_BASE, iDisp1,
281335
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
282-
DAI_CONFIG(HDA, 1, 6, iDisp2,
336+
DAI_CONFIG(HDA, 1, eval(HDMI_BE_ID_BASE + 1), iDisp2,
283337
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
284-
DAI_CONFIG(HDA, 2, 7, iDisp3,
338+
DAI_CONFIG(HDA, 2, eval(HDMI_BE_ID_BASE + 2), iDisp3,
285339
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
286340

287341
DEBUG_END

0 commit comments

Comments
 (0)