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_COMMON
101	select SND_SOC_SOF_INTEL_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_COMMON
126	select SND_SOC_SOF_IPC3
127	select SND_SOC_SOF_INTEL_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_COMMON
152	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
153	select SND_SOC_SOF_IPC3
154	select SND_SOC_SOF_INTEL_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_COMMON
188	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
189	select SND_SOC_SOF_IPC3
190	select SND_SOC_SOF_INTEL_IPC4
191
192config 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
202config 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
212config 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
219config 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
229config 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
239config 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
249config 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
255config 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
265config SND_SOC_SOF_HDA_COMMON
266	tristate
267	select SND_SOC_SOF_INTEL_COMMON
268	select SND_SOC_SOF_PCI_DEV
269	select SND_INTEL_DSP_CONFIG
270	select SND_SOC_SOF_HDA_LINK_BASELINE
271	select SND_SOC_SOF_HDA_PROBES
272	help
273	  This option is not user-selectable but automagically handled by
274	  'select' statements at a higher level.
275
276if SND_SOC_SOF_HDA_COMMON
277
278config SND_SOC_SOF_HDA_LINK
279	bool "SOF support for HDA Links(HDA/HDMI)"
280	depends on SND_SOC_SOF_NOCODEC_SUPPORT=n
281	select SND_SOC_SOF_PROBE_WORK_QUEUE
282	help
283	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
284	  for Intel(R) platforms.
285	  Say Y if you want to enable HDA links with SOF.
286	  If unsure select "N".
287
288config SND_SOC_SOF_HDA_AUDIO_CODEC
289	bool "SOF support for HDAudio codecs"
290	depends on SND_SOC_SOF_HDA_LINK
291	help
292	  This adds support for HDAudio codecs with Sound Open Firmware
293	  for Intel(R) platforms.
294	  Say Y if you want to enable HDAudio codecs with SOF.
295	  If unsure select "N".
296
297endif ## SND_SOC_SOF_HDA_COMMON
298
299config SND_SOC_SOF_HDA_LINK_BASELINE
300	tristate
301	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
302	help
303	  This option is not user-selectable but automagically handled by
304	  'select' statements at a higher level.
305
306config SND_SOC_SOF_HDA
307	tristate
308	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
309	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
310	help
311	  This option is not user-selectable but automagically handled by
312	  'select' statements at a higher level.
313
314config SND_SOC_SOF_HDA_PROBES
315	tristate
316	select SND_SOC_SOF_DEBUG_PROBES
317	help
318	  The option enables the data probing for Intel(R) Skylake and newer
319	  (HDA) platforms.
320	  This option is not user-selectable but automagically handled by
321	  'select' statements at a higher level.
322
323config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
324	tristate
325	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE != n
326	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE != n
327
328config SND_SOC_SOF_INTEL_SOUNDWIRE
329	tristate "SOF support for SoundWire"
330	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
331	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
332	depends on ACPI && SOUNDWIRE
333	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
334	help
335	  This adds support for SoundWire with Sound Open Firmware
336	  for Intel(R) platforms.
337	  Say Y if you want to enable SoundWire links with SOF.
338	  If unsure select "N".
339
340endif ## SND_SOC_SOF_PCI
341
342endif ## SND_SOC_SOF_INTEL_TOPLEVEL
343