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