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_INTEL_ATOM_HIFI_EP
88	help
89	  This adds support for Sound Open Firmware for Intel(R) platforms
90	  using the Tangier/Merrifield processors.
91	  Say Y if you have such a device.
92	  If unsure select "N".
93
94config SND_SOC_SOF_INTEL_APL
95	tristate
96	select SND_SOC_SOF_HDA_COMMON
97
98config SND_SOC_SOF_APOLLOLAKE
99	tristate "SOF support for Apollolake"
100	default SND_SOC_SOF_PCI
101	select SND_SOC_SOF_INTEL_APL
102	help
103	  This adds support for Sound Open Firmware for Intel(R) platforms
104	  using the Apollolake processors.
105	  Say Y if you have such a device.
106	  If unsure select "N".
107
108config SND_SOC_SOF_GEMINILAKE
109	tristate "SOF support for GeminiLake"
110	default SND_SOC_SOF_PCI
111	select SND_SOC_SOF_INTEL_APL
112	help
113	  This adds support for Sound Open Firmware for Intel(R) platforms
114	  using the Geminilake processors.
115	  Say Y if you have such a device.
116	  If unsure select "N".
117
118config SND_SOC_SOF_INTEL_CNL
119	tristate
120	select SND_SOC_SOF_HDA_COMMON
121	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
122
123config SND_SOC_SOF_CANNONLAKE
124	tristate "SOF support for Cannonlake"
125	default SND_SOC_SOF_PCI
126	select SND_SOC_SOF_INTEL_CNL
127	help
128	  This adds support for Sound Open Firmware for Intel(R) platforms
129	  using the Cannonlake processors.
130	  Say Y if you have such a device.
131	  If unsure select "N".
132
133config SND_SOC_SOF_COFFEELAKE
134	tristate "SOF support for CoffeeLake"
135	default SND_SOC_SOF_PCI
136	select SND_SOC_SOF_INTEL_CNL
137	help
138	  This adds support for Sound Open Firmware for Intel(R) platforms
139	  using the Coffeelake processors.
140	  Say Y if you have such a device.
141	  If unsure select "N".
142
143config SND_SOC_SOF_COMETLAKE
144	tristate "SOF support for CometLake"
145	default SND_SOC_SOF_PCI
146	select SND_SOC_SOF_INTEL_CNL
147	help
148	  This adds support for Sound Open Firmware for Intel(R) platforms
149	  using the Cometlake processors.
150	  If unsure select "N".
151
152config SND_SOC_SOF_INTEL_ICL
153	tristate
154	select SND_SOC_SOF_HDA_COMMON
155	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
156
157config SND_SOC_SOF_ICELAKE
158	tristate "SOF support for Icelake"
159	default SND_SOC_SOF_PCI
160	select SND_SOC_SOF_INTEL_ICL
161	help
162	  This adds support for Sound Open Firmware for Intel(R) platforms
163	  using the Icelake processors.
164	  Say Y if you have such a device.
165	  If unsure select "N".
166
167config SND_SOC_SOF_JASPERLAKE
168	tristate "SOF support for JasperLake"
169	default SND_SOC_SOF_PCI
170	select SND_SOC_SOF_INTEL_ICL
171	help
172	  This adds support for Sound Open Firmware for Intel(R) platforms
173	  using the JasperLake processors.
174	  Say Y if you have such a device.
175	  If unsure select "N".
176
177config SND_SOC_SOF_INTEL_TGL
178	tristate
179	select SND_SOC_SOF_HDA_COMMON
180	select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
181
182config SND_SOC_SOF_TIGERLAKE
183	tristate "SOF support for Tigerlake"
184	default SND_SOC_SOF_PCI
185	select SND_SOC_SOF_INTEL_TGL
186	help
187	  This adds support for Sound Open Firmware for Intel(R) platforms
188	  using the Tigerlake processors.
189	  Say Y if you have such a device.
190	  If unsure select "N".
191
192config SND_SOC_SOF_ELKHARTLAKE
193	tristate "SOF support for ElkhartLake"
194	default SND_SOC_SOF_PCI
195	select SND_SOC_SOF_INTEL_TGL
196	help
197	  This adds support for Sound Open Firmware for Intel(R) platforms
198	  using the ElkhartLake processors.
199	  Say Y if you have such a device.
200	  If unsure select "N".
201
202config SND_SOC_SOF_ALDERLAKE
203	tristate "SOF support for Alderlake"
204	default SND_SOC_SOF_PCI
205	select SND_SOC_SOF_INTEL_TGL
206	help
207	  This adds support for Sound Open Firmware for Intel(R) platforms
208	  using the Alderlake processors.
209	  Say Y if you have such a device.
210	  If unsure select "N".
211
212config SND_SOC_SOF_HDA_COMMON
213	tristate
214	select SND_SOC_SOF_INTEL_COMMON
215	select SND_SOC_SOF_PCI_DEV
216	select SND_INTEL_DSP_CONFIG
217	select SND_SOC_SOF_HDA_LINK_BASELINE
218	help
219	  This option is not user-selectable but automagically handled by
220	  'select' statements at a higher level.
221
222if SND_SOC_SOF_HDA_COMMON
223
224config SND_SOC_SOF_HDA_LINK
225	bool "SOF support for HDA Links(HDA/HDMI)"
226	depends on SND_SOC_SOF_NOCODEC=n
227	select SND_SOC_SOF_PROBE_WORK_QUEUE
228	help
229	  This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
230	  for Intel(R) platforms.
231	  Say Y if you want to enable HDA links with SOF.
232	  If unsure select "N".
233
234config SND_SOC_SOF_HDA_AUDIO_CODEC
235	bool "SOF support for HDAudio codecs"
236	depends on SND_SOC_SOF_HDA_LINK
237	help
238	  This adds support for HDAudio codecs with Sound Open Firmware
239	  for Intel(R) platforms.
240	  Say Y if you want to enable HDAudio codecs with SOF.
241	  If unsure select "N".
242
243config SND_SOC_SOF_HDA_PROBES
244	bool "SOF enable probes over HDA"
245	depends on SND_SOC_SOF_DEBUG_PROBES
246	help
247	  This option enables the data probing for Intel(R)
248	  Skylake and newer platforms.
249	  Say Y if you want to enable probes.
250	  If unsure, select "N".
251
252endif ## SND_SOC_SOF_HDA_COMMON
253
254config SND_SOC_SOF_HDA_LINK_BASELINE
255	tristate
256	select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
257	help
258	  This option is not user-selectable but automagically handled by
259	  'select' statements at a higher level.
260
261config SND_SOC_SOF_HDA
262	tristate
263	select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
264	select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
265	help
266	  This option is not user-selectable but automagically handled by
267	  'select' statements at a higher level.
268
269config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
270	tristate
271	select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE
272	select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE
273
274config SND_SOC_SOF_INTEL_SOUNDWIRE
275	tristate "SOF support for SoundWire"
276	default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
277	depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
278	depends on ACPI && SOUNDWIRE
279	depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
280	help
281	  This adds support for SoundWire with Sound Open Firmware
282	  for Intel(R) platforms.
283	  Say Y if you want to enable SoundWire links with SOF.
284	  If unsure select "N".
285
286endif ## SND_SOC_SOF_PCI
287
288endif ## SND_SOC_SOF_INTEL_TOPLEVEL
289