xref: /linux/sound/soc/sof/intel/Kconfig (revision 870b7fdc660b38c4e1bd8bf48e62aa352ddf8f42)
1# SPDX-License-Identifier: GPL-2.0-only
2config 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
10if SND_SOC_SOF_INTEL_TOPLEVEL
11
12config 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
18config 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
26config 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
38if SND_SOC_SOF_ACPI
39
40config 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
61config 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
82endif ## SND_SOC_SOF_ACPI
83
84if SND_SOC_SOF_PCI
85
86config 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
98config SND_SOC_SOF_INTEL_SKL
99	tristate
100	select SND_SOC_SOF_HDA_GENERIC
101	select SND_SOC_SOF_IPC4
102
103config 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
113config 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
123config SND_SOC_SOF_INTEL_APL
124	tristate
125	select SND_SOC_SOF_HDA_GENERIC
126	select SND_SOC_SOF_IPC3
127	select SND_SOC_SOF_IPC4
128
129config 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
139config 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
149config SND_SOC_SOF_INTEL_CNL
150	tristate
151	select SND_SOC_SOF_HDA_GENERIC
152	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
153	select SND_SOC_SOF_IPC3
154	select SND_SOC_SOF_IPC4
155
156config 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
166config 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
176config 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
185config SND_SOC_SOF_INTEL_ICL
186	tristate
187	select SND_SOC_SOF_HDA_GENERIC
188	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
189	select SND_SOC_SOF_IPC3
190	select SND_SOC_SOF_IPC4
191	select SND_SOC_SOF_INTEL_CNL
192
193config SND_SOC_SOF_ICELAKE
194	tristate "SOF support for Icelake"
195	default SND_SOC_SOF_PCI
196	select SND_SOC_SOF_INTEL_ICL
197	help
198	  This adds support for Sound Open Firmware for Intel(R) platforms
199	  using the Icelake processors.
200	  Say Y if you have such a device.
201	  If unsure select "N".
202
203config SND_SOC_SOF_JASPERLAKE
204	tristate "SOF support for JasperLake"
205	default SND_SOC_SOF_PCI
206	select SND_SOC_SOF_INTEL_ICL
207	help
208	  This adds support for Sound Open Firmware for Intel(R) platforms
209	  using the JasperLake processors.
210	  Say Y if you have such a device.
211	  If unsure select "N".
212
213config SND_SOC_SOF_INTEL_TGL
214	tristate
215	select SND_SOC_SOF_HDA_GENERIC
216	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
217	select SND_SOC_SOF_IPC3
218	select SND_SOC_SOF_IPC4
219	select SND_SOC_SOF_INTEL_CNL
220
221config SND_SOC_SOF_TIGERLAKE
222	tristate "SOF support for Tigerlake"
223	default SND_SOC_SOF_PCI
224	select SND_SOC_SOF_INTEL_TGL
225	help
226	  This adds support for Sound Open Firmware for Intel(R) platforms
227	  using the Tigerlake processors.
228	  Say Y if you have such a device.
229	  If unsure select "N".
230
231config SND_SOC_SOF_ELKHARTLAKE
232	tristate "SOF support for ElkhartLake"
233	default SND_SOC_SOF_PCI
234	select SND_SOC_SOF_INTEL_TGL
235	help
236	  This adds support for Sound Open Firmware for Intel(R) platforms
237	  using the ElkhartLake processors.
238	  Say Y if you have such a device.
239	  If unsure select "N".
240
241config SND_SOC_SOF_ALDERLAKE
242	tristate "SOF support for Alderlake"
243	default SND_SOC_SOF_PCI
244	select SND_SOC_SOF_INTEL_TGL
245	help
246	  This adds support for Sound Open Firmware for Intel(R) platforms
247	  using the Alderlake processors.
248	  Say Y if you have such a device.
249	  If unsure select "N".
250
251config SND_SOC_SOF_INTEL_MTL
252	tristate
253	select SND_SOC_SOF_HDA_GENERIC
254	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
255	select SND_SOC_SOF_IPC4
256
257config SND_SOC_SOF_METEORLAKE
258	tristate "SOF support for Meteorlake"
259	default SND_SOC_SOF_PCI
260	select SND_SOC_SOF_INTEL_MTL
261	help
262	  This adds support for Sound Open Firmware for Intel(R) platforms
263	  using the Meteorlake processors.
264	  Say Y if you have such a device.
265	  If unsure select "N".
266
267config SND_SOC_SOF_INTEL_LNL
268	tristate
269	select SND_SOC_SOF_HDA_GENERIC
270	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
271	select SND_SOC_SOF_IPC4
272	select SND_SOC_SOF_INTEL_MTL
273
274config SND_SOC_SOF_LUNARLAKE
275	tristate "SOF support for Lunarlake"
276	default SND_SOC_SOF_PCI
277	select SND_SOC_SOF_INTEL_LNL
278	help
279	  This adds support for Sound Open Firmware for Intel(R) platforms
280	  using the Lunarlake processors.
281	  Say Y if you have such a device.
282	  If unsure select "N".
283
284config SND_SOC_SOF_INTEL_PTL
285	tristate
286	select SND_SOC_SOF_HDA_COMMON
287	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
288	select SND_SOC_SOF_IPC4
289	select SND_SOC_SOF_INTEL_LNL
290
291config SND_SOC_SOF_PANTHERLAKE
292	tristate "SOF support for Pantherlake"
293	default SND_SOC_SOF_PCI
294	select SND_SOC_SOF_INTEL_PTL
295	help
296	  This adds support for Sound Open Firmware for Intel(R) platforms
297	  using the Pantherlake processors.
298	  Say Y if you have such a device.
299	  If unsure select "N".
300
301config SND_SOC_SOF_HDA_COMMON
302	tristate
303
304config SND_SOC_SOF_HDA_GENERIC
305	tristate
306	select SND_SOC_SOF_HDA_COMMON
307	select SND_SOC_SOF_INTEL_COMMON
308	select SND_SOC_SOF_PCI_DEV
309	select SND_INTEL_DSP_CONFIG
310	select SND_SOC_SOF_HDA_LINK_BASELINE
311	select SND_SOC_SOF_HDA_PROBES
312	select SND_SOC_SOF_HDA_MLINK if SND_SOC_SOF_HDA_LINK
313	help
314	  This option is not user-selectable but automagically handled by
315	  'select' statements at a higher level.
316
317config SND_SOC_SOF_HDA_MLINK
318	tristate
319	help
320	  This option is not user-selectable but automagically handled by
321	  'select' statements at a higher level.
322
323if SND_SOC_SOF_HDA_GENERIC
324
325config SND_SOC_SOF_HDA_LINK
326	bool "SOF support for HDA Links(HDA/HDMI)"
327	help
328	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
329	  for Intel(R) platforms.
330	  Say Y if you want to enable HDA links with SOF.
331	  If unsure select "N".
332
333config SND_SOC_SOF_HDA_AUDIO_CODEC
334	bool "SOF support for HDAudio codecs"
335	depends on SND_SOC_SOF_HDA_LINK
336	select SND_SOC_SOF_PROBE_WORK_QUEUE
337	help
338	  This adds support for HDAudio codecs with Sound Open Firmware
339	  for Intel(R) platforms.
340	  Say Y if you want to enable HDAudio codecs with SOF.
341	  If unsure select "N".
342
343endif ## SND_SOC_SOF_HDA_GENERIC
344
345config SND_SOC_SOF_HDA_LINK_BASELINE
346	tristate
347	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
348	help
349	  This option is not user-selectable but automagically handled by
350	  'select' statements at a higher level.
351
352config SND_SOC_SOF_HDA
353	tristate
354	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
355	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
356	help
357	  This option is not user-selectable but automagically handled by
358	  'select' statements at a higher level.
359
360config SND_SOC_SOF_HDA_PROBES
361	tristate
362	select SND_SOC_SOF_DEBUG_PROBES
363	help
364	  The option enables the data probing for Intel(R) Skylake and newer
365	  (HDA) platforms.
366	  This option is not user-selectable but automagically handled by
367	  'select' statements at a higher level.
368
369config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
370	tristate
371	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE != n
372	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE != n
373
374config SND_SOC_SOF_INTEL_SOUNDWIRE
375	tristate "SOF support for SoundWire"
376	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
377	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
378	depends on ACPI && SOUNDWIRE
379	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
380	help
381	  This adds support for SoundWire with Sound Open Firmware
382	  for Intel(R) platforms.
383	  Say Y if you want to enable SoundWire links with SOF.
384	  If unsure select "N".
385
386endif ## SND_SOC_SOF_PCI
387
388endif ## SND_SOC_SOF_INTEL_TOPLEVEL
389