xref: /openbmc/linux/sound/soc/intel/Kconfig (revision fb37409a)
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_SST_IPC
19	tristate
20	# This option controls the IPC core for HiFi2 platforms
21
22config SND_SST_IPC_PCI
23	tristate
24	select SND_SST_IPC
25	# This option controls the PCI-based IPC for HiFi2 platforms
26	#  (Medfield, Merrifield).
27
28config SND_SST_IPC_ACPI
29	tristate
30	select SND_SST_IPC
31	# This option controls the ACPI-based IPC for HiFi2 platforms
32	# (Baytrail, Cherrytrail)
33
34config SND_SOC_INTEL_SST_ACPI
35	tristate
36	# This option controls ACPI-based probing on
37	# Haswell/Broadwell/Baytrail legacy and will be set
38	# when these platforms are enabled
39
40config SND_SOC_INTEL_SST
41	tristate
42
43config SND_SOC_INTEL_SST_FIRMWARE
44	tristate
45	select DW_DMAC_CORE
46	# This option controls firmware download on
47	# Haswell/Broadwell/Baytrail legacy and will be set
48	# when these platforms are enabled
49
50config SND_SOC_INTEL_HASWELL
51	tristate "Haswell/Broadwell Platforms"
52	depends on SND_DMA_SGBUF
53	depends on DMADEVICES && ACPI
54	select SND_SOC_INTEL_SST
55	select SND_SOC_INTEL_SST_ACPI
56	select SND_SOC_INTEL_SST_FIRMWARE
57	select SND_SOC_ACPI_INTEL_MATCH
58	help
59	  If you have a Intel Haswell or Broadwell platform connected to
60	  an I2S codec, then enable this option by saying Y or m. This is
61	  typically used for Chromebooks. This is a recommended option.
62	  This option is mutually exclusive with the SOF support on
63	  Broadwell. If you want to enable SOF on Broadwell, you need to
64	  deselect this option first.
65
66config SND_SOC_INTEL_BAYTRAIL
67	tristate "Baytrail (legacy) Platforms"
68	depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n && SND_SOC_SOF_BAYTRAIL=n
69	select SND_SOC_INTEL_SST
70	select SND_SOC_INTEL_SST_ACPI
71	select SND_SOC_INTEL_SST_FIRMWARE
72	select SND_SOC_ACPI_INTEL_MATCH
73	help
74	  If you have a Intel Baytrail platform connected to an I2S codec,
75	  then enable this option by saying Y or m. This was typically used
76	  for Baytrail Chromebooks but this option is now deprecated and is
77	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
78
79config SND_SST_ATOM_HIFI2_PLATFORM
80	tristate
81	select SND_SOC_COMPRESS
82
83config SND_SST_ATOM_HIFI2_PLATFORM_PCI
84	tristate "PCI HiFi2 (Merrifield) Platforms"
85	depends on X86 && PCI
86	select SND_SST_IPC_PCI
87	select SND_SST_ATOM_HIFI2_PLATFORM
88	help
89	  If you have a Intel Merrifield/Edison platform, then
90	  enable this option by saying Y or m. Distros will typically not
91	  enable this option: while Merrifield/Edison can run a mainline
92	  kernel with limited functionality it will require a firmware file
93	  which is not in the standard firmware tree
94
95config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
96	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
97	default ACPI
98	depends on X86 && ACPI && PCI
99	select SND_SST_IPC_ACPI
100	select SND_SST_ATOM_HIFI2_PLATFORM
101	select SND_SOC_ACPI_INTEL_MATCH
102	select IOSF_MBI
103	help
104	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
105	  codec, then enable this option by saying Y or m. This is a
106	  recommended option
107	  This option is mutually exclusive with the SOF support on
108	  Baytrail/Cherrytrail. If you want to enable SOF on
109	  Baytrail/Cherrytrail, you need to deselect this option first.
110
111config SND_SOC_INTEL_SKYLAKE
112	tristate "All Skylake/SST Platforms"
113	depends on PCI && ACPI
114	depends on COMMON_CLK
115	select SND_SOC_INTEL_SKL
116	select SND_SOC_INTEL_APL
117	select SND_SOC_INTEL_KBL
118	select SND_SOC_INTEL_GLK
119	select SND_SOC_INTEL_CNL
120	select SND_SOC_INTEL_CFL
121	help
122	  This is a backwards-compatible option to select all devices
123	  supported by the Intel SST/Skylake driver. This option is no
124	  longer recommended and will be deprecated when the SOF
125	  driver is introduced.  Distributions should explicitly
126	  select which platform uses this driver.
127
128config SND_SOC_INTEL_SKL
129	tristate "Skylake Platforms"
130	depends on PCI && ACPI
131	depends on COMMON_CLK
132	select SND_SOC_INTEL_SKYLAKE_FAMILY
133	help
134	  If you have a Intel Skylake platform with the DSP enabled
135	  in the BIOS then enable this option by saying Y or m.
136
137config SND_SOC_INTEL_APL
138	tristate "Broxton/ApolloLake Platforms"
139	depends on PCI && ACPI
140	depends on COMMON_CLK
141	select SND_SOC_INTEL_SKYLAKE_FAMILY
142	help
143	  If you have a Intel Broxton/ApolloLake platform with the DSP
144	  enabled in the BIOS then enable this option by saying Y or m.
145
146config SND_SOC_INTEL_KBL
147	tristate "Kabylake Platforms"
148	depends on PCI && ACPI
149	depends on COMMON_CLK
150	select SND_SOC_INTEL_SKYLAKE_FAMILY
151	help
152	  If you have a Intel Kabylake platform with the DSP
153	  enabled in the BIOS then enable this option by saying Y or m.
154
155config SND_SOC_INTEL_GLK
156	tristate "GeminiLake Platforms"
157	depends on PCI && ACPI
158	depends on COMMON_CLK
159	select SND_SOC_INTEL_SKYLAKE_FAMILY
160	help
161	  If you have a Intel GeminiLake platform with the DSP
162	  enabled in the BIOS then enable this option by saying Y or m.
163
164config SND_SOC_INTEL_CNL
165	tristate "CannonLake/WhiskyLake Platforms"
166	depends on PCI && ACPI
167	depends on COMMON_CLK
168	select SND_SOC_INTEL_SKYLAKE_FAMILY
169	help
170	  If you have a Intel CNL/WHL platform with the DSP
171	  enabled in the BIOS then enable this option by saying Y or m.
172
173config SND_SOC_INTEL_CFL
174	tristate "CoffeeLake Platforms"
175	depends on PCI && ACPI
176	depends on COMMON_CLK
177	select SND_SOC_INTEL_SKYLAKE_FAMILY
178	help
179	  If you have a Intel CoffeeLake platform with the DSP
180	  enabled in the BIOS then enable this option by saying Y or m.
181
182config SND_SOC_INTEL_CML_H
183	tristate "CometLake-H Platforms"
184	depends on PCI && ACPI
185	depends on COMMON_CLK
186	select SND_SOC_INTEL_SKYLAKE_FAMILY
187	help
188	  If you have a Intel CometLake-H platform with the DSP
189	  enabled in the BIOS then enable this option by saying Y or m.
190
191config SND_SOC_INTEL_CML_LP
192	tristate "CometLake-LP Platforms"
193	depends on PCI && ACPI
194	depends on COMMON_CLK
195	select SND_SOC_INTEL_SKYLAKE_FAMILY
196	help
197	  If you have a Intel CometLake-LP platform with the DSP
198	  enabled in the BIOS then enable this option by saying Y or m.
199
200config SND_SOC_INTEL_SKYLAKE_FAMILY
201	tristate
202	select SND_SOC_INTEL_SKYLAKE_COMMON
203
204if SND_SOC_INTEL_SKYLAKE_FAMILY
205
206config SND_SOC_INTEL_SKYLAKE_SSP_CLK
207	tristate
208
209config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
210	bool "HDAudio codec support"
211	help
212	  If you have Intel Skylake or Kabylake with HDaudio codec
213	  and DMIC present then enable this option by saying Y.
214
215config SND_SOC_INTEL_SKYLAKE_COMMON
216	tristate
217	select SND_HDA_EXT_CORE
218	select SND_HDA_DSP_LOADER
219	select SND_SOC_TOPOLOGY
220	select SND_SOC_INTEL_SST
221	select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
222	select SND_SOC_ACPI_INTEL_MATCH
223	select SND_INTEL_DSP_CONFIG
224	help
225	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
226	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
227	  then enable this option by saying Y or m.
228
229endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
230
231endif ## SND_SOC_INTEL_SST_TOPLEVEL
232
233if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
234
235config SND_SOC_ACPI_INTEL_MATCH
236	tristate
237	select SND_SOC_ACPI if ACPI
238	# this option controls the compilation of ACPI matching tables and
239	# helpers and is not meant to be selected by the user.
240
241endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
242
243
244# ASoC codec drivers
245source "sound/soc/intel/boards/Kconfig"
246