1# SPDX-License-Identifier: GPL-2.0-only
2config SND_SOC_INTEL_SST_TOPLEVEL
3	bool "Intel ASoC SST drivers"
4	default y
5	depends on X86 || COMPILE_TEST
6	select SND_SOC_INTEL_MACH
7	help
8	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
9	  has an audio controller with a DSP and I2S or DMIC port, then
10	  enable this option by saying Y
11
12	  Note that the answer to this question doesn't directly affect the
13	  kernel: saying N will just cause the configurator to skip all
14	  the questions about Intel SST drivers.
15
16if SND_SOC_INTEL_SST_TOPLEVEL
17
18config SND_SOC_INTEL_SST
19	tristate
20
21config SND_SOC_INTEL_CATPT
22	tristate "Haswell and Broadwell"
23	depends on ACPI || COMPILE_TEST
24	depends on DMADEVICES && SND_DMA_SGBUF
25	select DW_DMAC_CORE
26	select SND_SOC_ACPI if ACPI
27	select WANT_DEV_COREDUMP
28	select SND_INTEL_DSP_CONFIG
29	help
30	  Enable support for Intel(R) Haswell and Broadwell platforms
31	  with I2S codec present. This is a recommended option.
32	  Say Y or m if you have such device.
33	  If unsure, say N.
34
35config SND_SOC_INTEL_HASWELL
36	tristate
37	select SND_SOC_INTEL_CATPT
38
39config SND_SST_ATOM_HIFI2_PLATFORM
40	tristate
41	select SND_SOC_COMPRESS
42
43config SND_SST_ATOM_HIFI2_PLATFORM_PCI
44	tristate "PCI HiFi2 (Merrifield) Platforms"
45	depends on X86 && PCI
46	select SND_SST_ATOM_HIFI2_PLATFORM
47	help
48	  If you have a Intel Merrifield/Edison platform, then
49	  enable this option by saying Y or m. Distros will typically not
50	  enable this option: while Merrifield/Edison can run a mainline
51	  kernel with limited functionality it will require a firmware file
52	  which is not in the standard firmware tree
53
54config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
55	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
56	default ACPI
57	depends on X86 && ACPI && PCI
58	select SND_SST_ATOM_HIFI2_PLATFORM
59	select SND_SOC_ACPI_INTEL_MATCH
60	select SND_INTEL_DSP_CONFIG
61	select IOSF_MBI
62	help
63	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
64	  codec, then enable this option by saying Y or m. This is a
65	  recommended option
66	  This option is mutually exclusive with the SOF support on
67	  Baytrail/Cherrytrail. If you want to enable SOF on
68	  Baytrail/Cherrytrail, you need to deselect this option first.
69
70config SND_SOC_INTEL_SKYLAKE
71	tristate "All Skylake/SST Platforms"
72	depends on PCI && ACPI
73	depends on COMMON_CLK
74	select SND_SOC_INTEL_SKL
75	select SND_SOC_INTEL_APL
76	select SND_SOC_INTEL_KBL
77	select SND_SOC_INTEL_GLK
78	select SND_SOC_INTEL_CNL
79	select SND_SOC_INTEL_CFL
80	help
81	  This is a backwards-compatible option to select all devices
82	  supported by the Intel SST/Skylake driver. This option is no
83	  longer recommended and will be deprecated when the SOF
84	  driver is introduced.  Distributions should explicitly
85	  select which platform uses this driver.
86
87config SND_SOC_INTEL_SKL
88	tristate "Skylake Platforms"
89	depends on PCI && ACPI
90	depends on COMMON_CLK
91	select SND_SOC_INTEL_SKYLAKE_FAMILY
92	help
93	  If you have a Intel Skylake platform with the DSP enabled
94	  in the BIOS then enable this option by saying Y or m.
95
96config SND_SOC_INTEL_APL
97	tristate "Broxton/ApolloLake Platforms"
98	depends on PCI && ACPI
99	depends on COMMON_CLK
100	select SND_SOC_INTEL_SKYLAKE_FAMILY
101	help
102	  If you have a Intel Broxton/ApolloLake platform with the DSP
103	  enabled in the BIOS then enable this option by saying Y or m.
104
105config SND_SOC_INTEL_KBL
106	tristate "Kabylake Platforms"
107	depends on PCI && ACPI
108	depends on COMMON_CLK
109	select SND_SOC_INTEL_SKYLAKE_FAMILY
110	help
111	  If you have a Intel Kabylake platform with the DSP
112	  enabled in the BIOS then enable this option by saying Y or m.
113
114config SND_SOC_INTEL_GLK
115	tristate "GeminiLake Platforms"
116	depends on PCI && ACPI
117	depends on COMMON_CLK
118	select SND_SOC_INTEL_SKYLAKE_FAMILY
119	help
120	  If you have a Intel GeminiLake platform with the DSP
121	  enabled in the BIOS then enable this option by saying Y or m.
122
123config SND_SOC_INTEL_CNL
124	tristate "CannonLake/WhiskyLake Platforms"
125	depends on PCI && ACPI
126	depends on COMMON_CLK
127	select SND_SOC_INTEL_SKYLAKE_FAMILY
128	help
129	  If you have a Intel CNL/WHL platform with the DSP
130	  enabled in the BIOS then enable this option by saying Y or m.
131
132config SND_SOC_INTEL_CFL
133	tristate "CoffeeLake Platforms"
134	depends on PCI && ACPI
135	depends on COMMON_CLK
136	select SND_SOC_INTEL_SKYLAKE_FAMILY
137	help
138	  If you have a Intel CoffeeLake platform with the DSP
139	  enabled in the BIOS then enable this option by saying Y or m.
140
141config SND_SOC_INTEL_CML_H
142	tristate "CometLake-H Platforms"
143	depends on PCI && ACPI
144	depends on COMMON_CLK
145	select SND_SOC_INTEL_SKYLAKE_FAMILY
146	help
147	  If you have a Intel CometLake-H platform with the DSP
148	  enabled in the BIOS then enable this option by saying Y or m.
149
150config SND_SOC_INTEL_CML_LP
151	tristate "CometLake-LP Platforms"
152	depends on PCI && ACPI
153	depends on COMMON_CLK
154	select SND_SOC_INTEL_SKYLAKE_FAMILY
155	help
156	  If you have a Intel CometLake-LP platform with the DSP
157	  enabled in the BIOS then enable this option by saying Y or m.
158
159config SND_SOC_INTEL_SKYLAKE_FAMILY
160	tristate
161	select SND_SOC_INTEL_SKYLAKE_COMMON
162
163if SND_SOC_INTEL_SKYLAKE_FAMILY
164
165config SND_SOC_INTEL_SKYLAKE_SSP_CLK
166	tristate
167
168config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
169	bool "HDAudio codec support"
170	help
171	  If you have Intel Skylake or Kabylake with HDAudio codec
172	  and DMIC present then enable this option by saying Y.
173
174config SND_SOC_INTEL_SKYLAKE_COMMON
175	tristate
176	select SND_HDA_EXT_CORE
177	select SND_HDA_DSP_LOADER
178	select SND_SOC_TOPOLOGY
179	select SND_SOC_INTEL_SST
180	select SND_SOC_HDAC_HDA
181	select SND_SOC_ACPI_INTEL_MATCH
182	select SND_INTEL_DSP_CONFIG
183	help
184	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
185	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
186	  then enable this option by saying Y or m.
187
188endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
189
190endif ## SND_SOC_INTEL_SST_TOPLEVEL
191
192if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
193
194config SND_SOC_ACPI_INTEL_MATCH
195	tristate
196	select SND_SOC_ACPI if ACPI
197	# this option controls the compilation of ACPI matching tables and
198	# helpers and is not meant to be selected by the user.
199
200endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
201
202config SND_SOC_INTEL_KEEMBAY
203	tristate "Keembay Platforms"
204	depends on ARCH_KEEMBAY || COMPILE_TEST
205	depends on COMMON_CLK
206	select SND_DMAENGINE_PCM
207	select SND_SOC_GENERIC_DMAENGINE_PCM
208	help
209	  If you have a Intel Keembay platform then enable this option
210	  by saying Y or m.
211
212config SND_SOC_INTEL_AVS
213	tristate "Intel AVS driver"
214	depends on X86 || COMPILE_TEST
215	depends on PCI
216	depends on COMMON_CLK
217	select SND_SOC_ACPI if ACPI
218	select SND_SOC_TOPOLOGY
219	select SND_SOC_HDA
220	select SND_SOC_COMPRESS if DEBUG_FS
221	select SND_HDA_EXT_CORE
222	select SND_HDA_DSP_LOADER
223	select SND_INTEL_DSP_CONFIG
224	select WANT_DEV_COREDUMP
225	help
226	  Enable support for Intel(R) cAVS 1.5 platforms with DSP
227	  capabilities. This includes Skylake, Kabylake, Amberlake and
228	  Apollolake.
229
230# Machine board drivers
231source "sound/soc/intel/avs/boards/Kconfig"
232
233# ASoC codec drivers
234source "sound/soc/intel/boards/Kconfig"
235