xref: /openbmc/linux/sound/soc/sof/intel/Kconfig (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1 # SPDX-License-Identifier: GPL-2.0-only
2 config SND_SOC_SOF_INTEL_TOPLEVEL
3 	bool "SOF support for Intel audio DSPs"
4 	depends on X86 || COMPILE_TEST
5 	help
6 	  This adds support for Sound Open Firmware for Intel(R) platforms.
7 	  Say Y if you have such a device.
8 	  If unsure select "N".
9 
10 if SND_SOC_SOF_INTEL_TOPLEVEL
11 
12 config SND_SOC_SOF_INTEL_HIFI_EP_IPC
13 	tristate
14 	help
15 	  This option is not user-selectable but automagically handled by
16 	  'select' statements at a higher level.
17 
18 config SND_SOC_SOF_INTEL_ATOM_HIFI_EP
19 	tristate
20 	select SND_SOC_SOF_INTEL_COMMON
21 	select SND_SOC_SOF_INTEL_HIFI_EP_IPC
22 	help
23 	  This option is not user-selectable but automagically handled by
24 	  'select' statements at a higher level.
25 
26 config SND_SOC_SOF_INTEL_COMMON
27 	tristate
28 	select SND_SOC_SOF
29 	select SND_SOC_ACPI_INTEL_MATCH
30 	select SND_SOC_SOF_XTENSA
31 	select SND_SOC_INTEL_MACH
32 	select SND_SOC_ACPI if ACPI
33 	select SND_INTEL_DSP_CONFIG
34 	help
35 	  This option is not user-selectable but automagically handled by
36 	  'select' statements at a higher level.
37 
38 if SND_SOC_SOF_ACPI
39 
40 config SND_SOC_SOF_BAYTRAIL
41 	tristate "SOF support for Baytrail, Braswell and Cherrytrail"
42 	default SND_SOC_SOF_ACPI
43 	select SND_SOC_SOF_IPC3
44 	select SND_SOC_SOF_INTEL_COMMON
45 	select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
46 	select SND_SOC_SOF_ACPI_DEV
47 	select IOSF_MBI if X86 && PCI
48 	help
49 	  This adds support for Sound Open Firmware for Intel(R) platforms
50 	  using the Baytrail, Braswell or Cherrytrail processors.
51 	  This option can coexist in the same build with the Atom legacy
52 	  drivers, currently the default but which will be deprecated
53 	  at some point.
54 	  Existing firmware/topology binaries and UCM configurations
55 	  typically located in the root file system are already
56 	  compatible with both SOF or Atom/SST legacy drivers.
57 	  This is a recommended option for distributions.
58 	  Say Y if you want to enable SOF on Baytrail/Cherrytrail.
59 	  If unsure select "N".
60 
61 config SND_SOC_SOF_BROADWELL
62 	tristate "SOF support for Broadwell"
63 	default SND_SOC_SOF_ACPI
64 	select SND_SOC_SOF_IPC3
65 	select SND_SOC_SOF_INTEL_COMMON
66 	select SND_SOC_SOF_INTEL_HIFI_EP_IPC
67 	select SND_SOC_SOF_ACPI_DEV
68 	help
69 	  This adds support for Sound Open Firmware for Intel(R) platforms
70 	  using the Broadwell processors.
71 	  This option can coexist in the same build with the default 'catpt'
72 	  driver.
73 	  Existing firmware/topology binaries and UCM configurations typically
74 	  located in the root file system are already compatible with both SOF
75 	  or catpt drivers.
76 	  SOF does not fully support Broadwell and has limitations related to
77 	  DMA and suspend-resume, this is not a recommended option for
78 	  distributions.
79 	  Say Y if you want to enable SOF on Broadwell.
80 	  If unsure select "N".
81 
82 endif ## SND_SOC_SOF_ACPI
83 
84 if SND_SOC_SOF_PCI
85 
86 config SND_SOC_SOF_MERRIFIELD
87 	tristate "SOF support for Tangier/Merrifield"
88 	default SND_SOC_SOF_PCI
89 	select SND_SOC_SOF_PCI_DEV
90 	select SND_SOC_SOF_IPC3
91 	select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
92 	help
93 	  This adds support for Sound Open Firmware for Intel(R) platforms
94 	  using the Tangier/Merrifield processors.
95 	  Say Y if you have such a device.
96 	  If unsure select "N".
97 
98 config SND_SOC_SOF_INTEL_SKL
99 	tristate
100 	select SND_SOC_SOF_HDA_COMMON
101 	select SND_SOC_SOF_INTEL_IPC4
102 
103 config SND_SOC_SOF_SKYLAKE
104 	tristate "SOF support for SkyLake"
105 	default SND_SOC_SOF_PCI
106 	select SND_SOC_SOF_INTEL_SKL
107 	help
108 	  This adds support for the Intel(R) platforms using the SkyLake processors.
109 	  Say Y if you have such a device.
110 	  If unsure select "N".
111 	  This is intended only for developers and not a recommend option for distros.
112 
113 config SND_SOC_SOF_KABYLAKE
114 	tristate "SOF support for KabyLake"
115 	default SND_SOC_SOF_PCI
116 	select SND_SOC_SOF_INTEL_SKL
117 	help
118 	  This adds support for the Intel(R) platforms using the KabyLake processors.
119 	  Say Y if you have such a device.
120 	  If unsure select "N".
121 	  This is intended only for developers and not a recommend option for distros.
122 
123 config SND_SOC_SOF_INTEL_APL
124 	tristate
125 	select SND_SOC_SOF_HDA_COMMON
126 	select SND_SOC_SOF_IPC3
127 	select SND_SOC_SOF_INTEL_IPC4
128 
129 config SND_SOC_SOF_APOLLOLAKE
130 	tristate "SOF support for Apollolake"
131 	default SND_SOC_SOF_PCI
132 	select SND_SOC_SOF_INTEL_APL
133 	help
134 	  This adds support for Sound Open Firmware for Intel(R) platforms
135 	  using the Apollolake processors.
136 	  Say Y if you have such a device.
137 	  If unsure select "N".
138 
139 config SND_SOC_SOF_GEMINILAKE
140 	tristate "SOF support for GeminiLake"
141 	default SND_SOC_SOF_PCI
142 	select SND_SOC_SOF_INTEL_APL
143 	help
144 	  This adds support for Sound Open Firmware for Intel(R) platforms
145 	  using the Geminilake processors.
146 	  Say Y if you have such a device.
147 	  If unsure select "N".
148 
149 config SND_SOC_SOF_INTEL_CNL
150 	tristate
151 	select SND_SOC_SOF_HDA_COMMON
152 	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
153 	select SND_SOC_SOF_IPC3
154 	select SND_SOC_SOF_INTEL_IPC4
155 
156 config SND_SOC_SOF_CANNONLAKE
157 	tristate "SOF support for Cannonlake"
158 	default SND_SOC_SOF_PCI
159 	select SND_SOC_SOF_INTEL_CNL
160 	help
161 	  This adds support for Sound Open Firmware for Intel(R) platforms
162 	  using the Cannonlake processors.
163 	  Say Y if you have such a device.
164 	  If unsure select "N".
165 
166 config SND_SOC_SOF_COFFEELAKE
167 	tristate "SOF support for CoffeeLake"
168 	default SND_SOC_SOF_PCI
169 	select SND_SOC_SOF_INTEL_CNL
170 	help
171 	  This adds support for Sound Open Firmware for Intel(R) platforms
172 	  using the Coffeelake processors.
173 	  Say Y if you have such a device.
174 	  If unsure select "N".
175 
176 config SND_SOC_SOF_COMETLAKE
177 	tristate "SOF support for CometLake"
178 	default SND_SOC_SOF_PCI
179 	select SND_SOC_SOF_INTEL_CNL
180 	help
181 	  This adds support for Sound Open Firmware for Intel(R) platforms
182 	  using the Cometlake processors.
183 	  If unsure select "N".
184 
185 config SND_SOC_SOF_INTEL_ICL
186 	tristate
187 	select SND_SOC_SOF_HDA_COMMON
188 	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
189 	select SND_SOC_SOF_IPC3
190 	select SND_SOC_SOF_INTEL_IPC4
191 
192 config SND_SOC_SOF_ICELAKE
193 	tristate "SOF support for Icelake"
194 	default SND_SOC_SOF_PCI
195 	select SND_SOC_SOF_INTEL_ICL
196 	help
197 	  This adds support for Sound Open Firmware for Intel(R) platforms
198 	  using the Icelake processors.
199 	  Say Y if you have such a device.
200 	  If unsure select "N".
201 
202 config SND_SOC_SOF_JASPERLAKE
203 	tristate "SOF support for JasperLake"
204 	default SND_SOC_SOF_PCI
205 	select SND_SOC_SOF_INTEL_ICL
206 	help
207 	  This adds support for Sound Open Firmware for Intel(R) platforms
208 	  using the JasperLake processors.
209 	  Say Y if you have such a device.
210 	  If unsure select "N".
211 
212 config SND_SOC_SOF_INTEL_TGL
213 	tristate
214 	select SND_SOC_SOF_HDA_COMMON
215 	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
216 	select SND_SOC_SOF_IPC3
217 	select SND_SOC_SOF_INTEL_IPC4
218 
219 config SND_SOC_SOF_TIGERLAKE
220 	tristate "SOF support for Tigerlake"
221 	default SND_SOC_SOF_PCI
222 	select SND_SOC_SOF_INTEL_TGL
223 	help
224 	  This adds support for Sound Open Firmware for Intel(R) platforms
225 	  using the Tigerlake processors.
226 	  Say Y if you have such a device.
227 	  If unsure select "N".
228 
229 config SND_SOC_SOF_ELKHARTLAKE
230 	tristate "SOF support for ElkhartLake"
231 	default SND_SOC_SOF_PCI
232 	select SND_SOC_SOF_INTEL_TGL
233 	help
234 	  This adds support for Sound Open Firmware for Intel(R) platforms
235 	  using the ElkhartLake processors.
236 	  Say Y if you have such a device.
237 	  If unsure select "N".
238 
239 config SND_SOC_SOF_ALDERLAKE
240 	tristate "SOF support for Alderlake"
241 	default SND_SOC_SOF_PCI
242 	select SND_SOC_SOF_INTEL_TGL
243 	help
244 	  This adds support for Sound Open Firmware for Intel(R) platforms
245 	  using the Alderlake processors.
246 	  Say Y if you have such a device.
247 	  If unsure select "N".
248 
249 config SND_SOC_SOF_INTEL_MTL
250 	tristate
251 	select SND_SOC_SOF_HDA_COMMON
252 	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
253 	select SND_SOC_SOF_INTEL_IPC4
254 
255 config SND_SOC_SOF_METEORLAKE
256 	tristate "SOF support for Meteorlake"
257 	default SND_SOC_SOF_PCI
258 	select SND_SOC_SOF_INTEL_MTL
259 	help
260 	  This adds support for Sound Open Firmware for Intel(R) platforms
261 	  using the Meteorlake processors.
262 	  Say Y if you have such a device.
263 	  If unsure select "N".
264 
265 config SND_SOC_SOF_INTEL_LNL
266 	tristate
267 	select SND_SOC_SOF_HDA_COMMON
268 	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
269 	select SND_SOC_SOF_INTEL_IPC4
270 
271 config SND_SOC_SOF_LUNARLAKE
272 	tristate "SOF support for Lunarlake"
273 	default SND_SOC_SOF_PCI
274 	select SND_SOC_SOF_INTEL_LNL
275 	help
276 	  This adds support for Sound Open Firmware for Intel(R) platforms
277 	  using the Lunarlake processors.
278 	  Say Y if you have such a device.
279 	  If unsure select "N".
280 
281 config SND_SOC_SOF_HDA_COMMON
282 	tristate
283 	select SND_SOC_SOF_INTEL_COMMON
284 	select SND_SOC_SOF_PCI_DEV
285 	select SND_INTEL_DSP_CONFIG
286 	select SND_SOC_SOF_HDA_LINK_BASELINE
287 	select SND_SOC_SOF_HDA_PROBES
288 	select SND_SOC_SOF_HDA_MLINK if SND_SOC_SOF_HDA_LINK
289 	help
290 	  This option is not user-selectable but automagically handled by
291 	  'select' statements at a higher level.
292 
293 config SND_SOC_SOF_HDA_MLINK
294 	tristate
295 	help
296 	  This option is not user-selectable but automagically handled by
297 	  'select' statements at a higher level.
298 
299 if SND_SOC_SOF_HDA_COMMON
300 
301 config SND_SOC_SOF_HDA_LINK
302 	bool "SOF support for HDA Links(HDA/HDMI)"
303 	help
304 	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
305 	  for Intel(R) platforms.
306 	  Say Y if you want to enable HDA links with SOF.
307 	  If unsure select "N".
308 
309 config SND_SOC_SOF_HDA_AUDIO_CODEC
310 	bool "SOF support for HDAudio codecs"
311 	depends on SND_SOC_SOF_HDA_LINK
312 	select SND_SOC_SOF_PROBE_WORK_QUEUE
313 	help
314 	  This adds support for HDAudio codecs with Sound Open Firmware
315 	  for Intel(R) platforms.
316 	  Say Y if you want to enable HDAudio codecs with SOF.
317 	  If unsure select "N".
318 
319 endif ## SND_SOC_SOF_HDA_COMMON
320 
321 config SND_SOC_SOF_HDA_LINK_BASELINE
322 	tristate
323 	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
324 	help
325 	  This option is not user-selectable but automagically handled by
326 	  'select' statements at a higher level.
327 
328 config SND_SOC_SOF_HDA
329 	tristate
330 	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
331 	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
332 	help
333 	  This option is not user-selectable but automagically handled by
334 	  'select' statements at a higher level.
335 
336 config SND_SOC_SOF_HDA_PROBES
337 	tristate
338 	select SND_SOC_SOF_DEBUG_PROBES
339 	help
340 	  The option enables the data probing for Intel(R) Skylake and newer
341 	  (HDA) platforms.
342 	  This option is not user-selectable but automagically handled by
343 	  'select' statements at a higher level.
344 
345 config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
346 	tristate
347 	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE != n
348 	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE != n
349 
350 config SND_SOC_SOF_INTEL_SOUNDWIRE
351 	tristate "SOF support for SoundWire"
352 	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
353 	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
354 	depends on ACPI && SOUNDWIRE
355 	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
356 	help
357 	  This adds support for SoundWire with Sound Open Firmware
358 	  for Intel(R) platforms.
359 	  Say Y if you want to enable SoundWire links with SOF.
360 	  If unsure select "N".
361 
362 endif ## SND_SOC_SOF_PCI
363 
364 endif ## SND_SOC_SOF_INTEL_TOPLEVEL
365