xref: /linux/sound/soc/sof/intel/Kconfig (revision 36ec807b627b4c0a0a382f0ae48eac7187d14b2b)
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_HDA_COMMON
285	tristate
286
287config SND_SOC_SOF_HDA_GENERIC
288	tristate
289	select SND_SOC_SOF_HDA_COMMON
290	select SND_SOC_SOF_INTEL_COMMON
291	select SND_SOC_SOF_PCI_DEV
292	select SND_INTEL_DSP_CONFIG
293	select SND_SOC_SOF_HDA_LINK_BASELINE
294	select SND_SOC_SOF_HDA_PROBES
295	select SND_SOC_SOF_HDA_MLINK if SND_SOC_SOF_HDA_LINK
296	help
297	  This option is not user-selectable but automagically handled by
298	  'select' statements at a higher level.
299
300config SND_SOC_SOF_HDA_MLINK
301	tristate
302	help
303	  This option is not user-selectable but automagically handled by
304	  'select' statements at a higher level.
305
306if SND_SOC_SOF_HDA_GENERIC
307
308config SND_SOC_SOF_HDA_LINK
309	bool "SOF support for HDA Links(HDA/HDMI)"
310	help
311	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
312	  for Intel(R) platforms.
313	  Say Y if you want to enable HDA links with SOF.
314	  If unsure select "N".
315
316config SND_SOC_SOF_HDA_AUDIO_CODEC
317	bool "SOF support for HDAudio codecs"
318	depends on SND_SOC_SOF_HDA_LINK
319	select SND_SOC_SOF_PROBE_WORK_QUEUE
320	help
321	  This adds support for HDAudio codecs with Sound Open Firmware
322	  for Intel(R) platforms.
323	  Say Y if you want to enable HDAudio codecs with SOF.
324	  If unsure select "N".
325
326endif ## SND_SOC_SOF_HDA_GENERIC
327
328config SND_SOC_SOF_HDA_LINK_BASELINE
329	tristate
330	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
331	help
332	  This option is not user-selectable but automagically handled by
333	  'select' statements at a higher level.
334
335config SND_SOC_SOF_HDA
336	tristate
337	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
338	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
339	help
340	  This option is not user-selectable but automagically handled by
341	  'select' statements at a higher level.
342
343config SND_SOC_SOF_HDA_PROBES
344	tristate
345	select SND_SOC_SOF_DEBUG_PROBES
346	help
347	  The option enables the data probing for Intel(R) Skylake and newer
348	  (HDA) platforms.
349	  This option is not user-selectable but automagically handled by
350	  'select' statements at a higher level.
351
352config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
353	tristate
354	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE != n
355	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE != n
356
357config SND_SOC_SOF_INTEL_SOUNDWIRE
358	tristate "SOF support for SoundWire"
359	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
360	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
361	depends on ACPI && SOUNDWIRE
362	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
363	help
364	  This adds support for SoundWire with Sound Open Firmware
365	  for Intel(R) platforms.
366	  Say Y if you want to enable SoundWire links with SOF.
367	  If unsure select "N".
368
369endif ## SND_SOC_SOF_PCI
370
371endif ## SND_SOC_SOF_INTEL_TOPLEVEL
372