Skip to content

Commit c6f390e

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> (cherry picked from commit 0bb995a)
1 parent 24766d4 commit c6f390e

2 files changed

Lines changed: 69 additions & 15 deletions

File tree

tools/topology/topology1/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,17 +100,17 @@ set(TPLGS
100100
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-cml-rt711-rt1308-rt715\;-DPLATFORM=cml"
101101
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-icl-rt711-rt1308-rt715\;-DPLATFORM=icl"
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"
103-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-l0-rt1316-l1-mono-rt714-l3\;-DPLATFORM=tgl\;-DMONO\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DMIC_LINK=3"
103+
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-tgl-rt711-l0-rt1316-l1-mono-rt714-l3\;-DPLATFORM=tgl\;-DMONO\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DEXT_AMP_REF\;-DMIC_LINK=3"
104104
"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"
105105
"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"
106-
"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"
106+
"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"
107107
"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"
108-
"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"
109-
"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"
110-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l0\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DMIC_LINK=0"
111-
"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"
112-
"sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt1316-l2-mono-rt714-l3\;-DPLATFORM=adl\;-DMONO\;-DNOJACK\;-DAMP_1_LINK=2\;-DMIC_LINK=3"
113-
"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"
108+
"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"
109+
"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"
110+
"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"
111+
"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"
112+
"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"
113+
"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"
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"
116116
"sof-cml-rt5682\;sof-icl-rt5682\;-DPLATFORM=icl\;-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(`NO_JACK', `',
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_NONEWLINE(`', `matrix1,', `matrix2'))
6796
')
97+
')
6898

6999
#
70100
# Define the pipelines
@@ -74,10 +104,14 @@ ifdef(`NOJACK', `',
74104
# PCM0 ---> volume ----> mixer --->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
@@ -98,6 +132,8 @@ PIPELINE_PCM_ADD(sof/pipe-volume-switch-capture.m4,
98132
48000, 48000, 48000)
99133
')
100134

135+
ifdef(`NOAMP', `',
136+
`
101137
ifdef(`MONO',
102138
`
103139
# Low Latency playback pipeline 3 on PCM 2 using max 2 channels of s32le.
@@ -122,13 +158,17 @@ PIPELINE_PCM_ADD(sof/pipe-dai-endpoint.m4,
122158
1000, 0, 0,
123159
48000, 48000, 48000)
124160
')
161+
')
125162

163+
ifdef(`NO_LOCAL_MIC', `',
164+
`
126165
# Low Latency capture pipeline 5 on PCM 4 using max 2 channels of s32le.
127166
# Schedule 48 frames per 1000us deadline with priority 0 on core 0
128167
PIPELINE_PCM_ADD(sof/pipe-highpass-switch-capture.m4,
129168
5, 4, 2, s32le,
130169
1000, 0, 0,
131170
48000, 48000, 48000)
171+
')
132172

133173
# Low Latency playback pipeline 6 on PCM 5 using max 2 channels of s32le.
134174
# Schedule 48 frames per 1000us deadline with priority 0 on core 0
@@ -199,6 +239,8 @@ SectionGraph."mixer-host" {
199239
'
200240
)
201241

242+
ifdef(`NOAMP', `',
243+
`
202244
# playback DAI is ALH(AMP_1_LINK PIN2/AMP_2_LINK PIN2) using 2 periods
203245
# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
204246
DAI_ADD(sof/pipe-dai-playback.m4,
@@ -223,13 +265,17 @@ SectionGraph."PIPE_DEMUX" {
223265
]
224266
}
225267
')
268+
')
226269

270+
ifdef(`NO_LOCAL_MIC', `',
271+
`
227272
# capture DAI is ALH(MIC_LINK PIN2) using 2 periods
228273
# Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0
229274
DAI_ADD(sof/pipe-dai-capture.m4,
230275
5, ALH, eval(MIC_LINK * 256 + 2), `SDW'eval(MIC_LINK)`-Capture',
231276
PIPELINE_SINK_5, 2, s24le,
232277
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
278+
')
233279

234280
# playback DAI is iDisp1 using 2 periods
235281
# # Buffers use s32le format, 1000us deadline with priority 0 on core 0
@@ -260,9 +306,11 @@ ifdef(`NOJACK', `',
260306
PCM_PLAYBACK_ADD(Jack Out, 0, PIPELINE_PCM_30)
261307
PCM_CAPTURE_ADD(Jack In, 1, PIPELINE_PCM_2)
262308
')
263-
309+
ifdef(`NOAMP', `',
310+
`
264311
PCM_PLAYBACK_ADD(Speaker, 2, PIPELINE_PCM_3)
265-
PCM_CAPTURE_ADD(Microphone, 4, PIPELINE_PCM_5)
312+
')
313+
ifdef(`NO_LOCAL_MIC', `', `PCM_CAPTURE_ADD(Microphone, 4, PIPELINE_PCM_5)')
266314
PCM_PLAYBACK_ADD(HDMI 1, 5, PIPELINE_PCM_6)
267315
PCM_PLAYBACK_ADD(HDMI 2, 6, PIPELINE_PCM_7)
268316
PCM_PLAYBACK_ADD(HDMI 3, 7, PIPELINE_PCM_8)
@@ -283,20 +331,26 @@ DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 3), 1, `SDW'eval(UAJ_LINK)`-Capture',
283331
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 3), 48000, 2)))
284332
')
285333

334+
ifdef(`NOAMP', `',
335+
`
286336
#ALH AMP_1_LINK Pin2 (ID: 2)
287337
DAI_CONFIG(ALH, eval(AMP_1_LINK * 256 + 2), 2, `SDW'eval(AMP_1_LINK)`-Playback',
288338
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(AMP_1_LINK * 256 + 2), 48000, 2)))
339+
')
289340

341+
ifdef(`NO_LOCAL_MIC', `',
342+
`
290343
#ALH MIC_LINK Pin2 (ID: 4)
291344
DAI_CONFIG(ALH, eval(MIC_LINK * 256 + 2), 4, `SDW'eval(MIC_LINK)`-Capture',
292345
ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(MIC_LINK * 256 + 2), 48000, 2)))
346+
')
293347

294-
# 3 HDMI/DP outputs (ID: 5,6,7)
295-
DAI_CONFIG(HDA, 0, 5, iDisp1,
348+
# 3 HDMI/DP outputs (ID: from HDMI_BE_ID_BASE)
349+
DAI_CONFIG(HDA, 0, HDMI_BE_ID_BASE, iDisp1,
296350
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))
297-
DAI_CONFIG(HDA, 1, 6, iDisp2,
351+
DAI_CONFIG(HDA, 1, eval(HDMI_BE_ID_BASE + 1), iDisp2,
298352
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 1, 48000, 2)))
299-
DAI_CONFIG(HDA, 2, 7, iDisp3,
353+
DAI_CONFIG(HDA, 2, eval(HDMI_BE_ID_BASE + 2), iDisp3,
300354
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 2, 48000, 2)))
301355

302356
DEBUG_END

0 commit comments

Comments
 (0)