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_INTEL_COMMON
44	select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
45	select SND_SOC_SOF_ACPI_DEV
46	select IOSF_MBI if X86 && PCI
47	help
48	  This adds support for Sound Open Firmware for Intel(R) platforms
49	  using the Baytrail, Braswell or Cherrytrail processors.
50	  This option can coexist in the same build with the Atom legacy
51	  drivers, currently the default but which will be deprecated
52	  at some point.
53	  Existing firmware/topology binaries and UCM configurations
54	  typically located in the root file system are already
55	  compatible with both SOF or Atom/SST legacy drivers.
56	  This is a recommended option for distributions.
57	  Say Y if you want to enable SOF on Baytrail/Cherrytrail.
58	  If unsure select "N".
59
60config SND_SOC_SOF_BROADWELL
61	tristate "SOF support for Broadwell"
62	default SND_SOC_SOF_ACPI
63	select SND_SOC_SOF_INTEL_COMMON
64	select SND_SOC_SOF_INTEL_HIFI_EP_IPC
65	select SND_SOC_SOF_ACPI_DEV
66	help
67	  This adds support for Sound Open Firmware for Intel(R) platforms
68	  using the Broadwell processors.
69	  This option can coexist in the same build with the default 'catpt'
70	  driver.
71	  Existing firmware/topology binaries and UCM configurations typically
72	  located in the root file system are already compatible with both SOF
73	  or catpt drivers.
74	  SOF does not fully support Broadwell and has limitations related to
75	  DMA and suspend-resume, this is not a recommended option for
76	  distributions.
77	  Say Y if you want to enable SOF on Broadwell.
78	  If unsure select "N".
79
80endif ## SND_SOC_SOF_ACPI
81
82if SND_SOC_SOF_PCI
83
84config SND_SOC_SOF_MERRIFIELD
85	tristate "SOF support for Tangier/Merrifield"
86	default SND_SOC_SOF_PCI
87	select SND_SOC_SOF_PCI_DEV
88	select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
89	help
90	  This adds support for Sound Open Firmware for Intel(R) platforms
91	  using the Tangier/Merrifield processors.
92	  Say Y if you have such a device.
93	  If unsure select "N".
94
95config SND_SOC_SOF_INTEL_APL
96	tristate
97	select SND_SOC_SOF_HDA_COMMON
98
99config SND_SOC_SOF_APOLLOLAKE
100	tristate "SOF support for Apollolake"
101	default SND_SOC_SOF_PCI
102	select SND_SOC_SOF_INTEL_APL
103	help
104	  This adds support for Sound Open Firmware for Intel(R) platforms
105	  using the Apollolake processors.
106	  Say Y if you have such a device.
107	  If unsure select "N".
108
109config SND_SOC_SOF_GEMINILAKE
110	tristate "SOF support for GeminiLake"
111	default SND_SOC_SOF_PCI
112	select SND_SOC_SOF_INTEL_APL
113	help
114	  This adds support for Sound Open Firmware for Intel(R) platforms
115	  using the Geminilake processors.
116	  Say Y if you have such a device.
117	  If unsure select "N".
118
119config SND_SOC_SOF_INTEL_CNL
120	tristate
121	select SND_SOC_SOF_HDA_COMMON
122	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
123
124config SND_SOC_SOF_CANNONLAKE
125	tristate "SOF support for Cannonlake"
126	default SND_SOC_SOF_PCI
127	select SND_SOC_SOF_INTEL_CNL
128	help
129	  This adds support for Sound Open Firmware for Intel(R) platforms
130	  using the Cannonlake processors.
131	  Say Y if you have such a device.
132	  If unsure select "N".
133
134config SND_SOC_SOF_COFFEELAKE
135	tristate "SOF support for CoffeeLake"
136	default SND_SOC_SOF_PCI
137	select SND_SOC_SOF_INTEL_CNL
138	help
139	  This adds support for Sound Open Firmware for Intel(R) platforms
140	  using the Coffeelake processors.
141	  Say Y if you have such a device.
142	  If unsure select "N".
143
144config SND_SOC_SOF_COMETLAKE
145	tristate "SOF support for CometLake"
146	default SND_SOC_SOF_PCI
147	select SND_SOC_SOF_INTEL_CNL
148	help
149	  This adds support for Sound Open Firmware for Intel(R) platforms
150	  using the Cometlake processors.
151	  If unsure select "N".
152
153config SND_SOC_SOF_INTEL_ICL
154	tristate
155	select SND_SOC_SOF_HDA_COMMON
156	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
157
158config SND_SOC_SOF_ICELAKE
159	tristate "SOF support for Icelake"
160	default SND_SOC_SOF_PCI
161	select SND_SOC_SOF_INTEL_ICL
162	help
163	  This adds support for Sound Open Firmware for Intel(R) platforms
164	  using the Icelake processors.
165	  Say Y if you have such a device.
166	  If unsure select "N".
167
168config SND_SOC_SOF_JASPERLAKE
169	tristate "SOF support for JasperLake"
170	default SND_SOC_SOF_PCI
171	select SND_SOC_SOF_INTEL_ICL
172	help
173	  This adds support for Sound Open Firmware for Intel(R) platforms
174	  using the JasperLake processors.
175	  Say Y if you have such a device.
176	  If unsure select "N".
177
178config SND_SOC_SOF_INTEL_TGL
179	tristate
180	select SND_SOC_SOF_HDA_COMMON
181	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
182
183config SND_SOC_SOF_TIGERLAKE
184	tristate "SOF support for Tigerlake"
185	default SND_SOC_SOF_PCI
186	select SND_SOC_SOF_INTEL_TGL
187	help
188	  This adds support for Sound Open Firmware for Intel(R) platforms
189	  using the Tigerlake processors.
190	  Say Y if you have such a device.
191	  If unsure select "N".
192
193config SND_SOC_SOF_ELKHARTLAKE
194	tristate "SOF support for ElkhartLake"
195	default SND_SOC_SOF_PCI
196	select SND_SOC_SOF_INTEL_TGL
197	help
198	  This adds support for Sound Open Firmware for Intel(R) platforms
199	  using the ElkhartLake processors.
200	  Say Y if you have such a device.
201	  If unsure select "N".
202
203config SND_SOC_SOF_ALDERLAKE
204	tristate "SOF support for Alderlake"
205	default SND_SOC_SOF_PCI
206	select SND_SOC_SOF_INTEL_TGL
207	help
208	  This adds support for Sound Open Firmware for Intel(R) platforms
209	  using the Alderlake processors.
210	  Say Y if you have such a device.
211	  If unsure select "N".
212
213config SND_SOC_SOF_HDA_COMMON
214	tristate
215	select SND_SOC_SOF_INTEL_COMMON
216	select SND_SOC_SOF_PCI_DEV
217	select SND_INTEL_DSP_CONFIG
218	select SND_SOC_SOF_HDA_LINK_BASELINE
219	select SND_SOC_SOF_HDA_PROBES
220	help
221	  This option is not user-selectable but automagically handled by
222	  'select' statements at a higher level.
223
224if SND_SOC_SOF_HDA_COMMON
225
226config SND_SOC_SOF_HDA_LINK
227	bool "SOF support for HDA Links(HDA/HDMI)"
228	depends on SND_SOC_SOF_NOCODEC=n
229	select SND_SOC_SOF_PROBE_WORK_QUEUE
230	help
231	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
232	  for Intel(R) platforms.
233	  Say Y if you want to enable HDA links with SOF.
234	  If unsure select "N".
235
236config SND_SOC_SOF_HDA_AUDIO_CODEC
237	bool "SOF support for HDAudio codecs"
238	depends on SND_SOC_SOF_HDA_LINK
239	help
240	  This adds support for HDAudio codecs with Sound Open Firmware
241	  for Intel(R) platforms.
242	  Say Y if you want to enable HDAudio codecs with SOF.
243	  If unsure select "N".
244
245endif ## SND_SOC_SOF_HDA_COMMON
246
247config SND_SOC_SOF_HDA_LINK_BASELINE
248	tristate
249	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
250	help
251	  This option is not user-selectable but automagically handled by
252	  'select' statements at a higher level.
253
254config SND_SOC_SOF_HDA
255	tristate
256	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
257	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
258	help
259	  This option is not user-selectable but automagically handled by
260	  'select' statements at a higher level.
261
262config SND_SOC_SOF_HDA_PROBES
263	tristate
264	select SND_SOC_SOF_DEBUG_PROBES
265	help
266	  The option enables the data probing for Intel(R) Skylake and newer
267	  (HDA) platforms.
268	  This option is not user-selectable but automagically handled by
269	  'select' statements at a higher level.
270
271config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
272	tristate
273	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE
274	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE
275
276config SND_SOC_SOF_INTEL_SOUNDWIRE
277	tristate "SOF support for SoundWire"
278	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
279	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
280	depends on ACPI && SOUNDWIRE
281	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
282	help
283	  This adds support for SoundWire with Sound Open Firmware
284	  for Intel(R) platforms.
285	  Say Y if you want to enable SoundWire links with SOF.
286	  If unsure select "N".
287
288endif ## SND_SOC_SOF_PCI
289
290endif ## SND_SOC_SOF_INTEL_TOPLEVEL
291