• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
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
108config SND_SOC_INTEL_SKYLAKE
109	tristate "All Skylake/SST Platforms"
110	depends on PCI && ACPI
111	depends on COMMON_CLK
112	select SND_SOC_INTEL_SKL
113	select SND_SOC_INTEL_APL
114	select SND_SOC_INTEL_KBL
115	select SND_SOC_INTEL_GLK
116	select SND_SOC_INTEL_CNL
117	select SND_SOC_INTEL_CFL
118	help
119          This is a backwards-compatible option to select all devices
120	  supported by the Intel SST/Skylake driver. This option is no
121	  longer recommended and will be deprecated when the SOF
122	  driver is introduced.  Distributions should explicitly
123	  select which platform uses this driver.
124
125config SND_SOC_INTEL_SKL
126	tristate "Skylake Platforms"
127	depends on PCI && ACPI
128	depends on COMMON_CLK
129	select SND_SOC_INTEL_SKYLAKE_FAMILY
130	help
131	  If you have a Intel Skylake platform with the DSP enabled
132	  in the BIOS then enable this option by saying Y or m.
133
134config SND_SOC_INTEL_APL
135	tristate "Broxton/ApolloLake Platforms"
136	depends on PCI && ACPI
137	depends on COMMON_CLK
138	select SND_SOC_INTEL_SKYLAKE_FAMILY
139	help
140	  If you have a Intel Broxton/ApolloLake platform with the DSP
141	  enabled in the BIOS then enable this option by saying Y or m.
142
143config SND_SOC_INTEL_KBL
144	tristate "Kabylake Platforms"
145	depends on PCI && ACPI
146	depends on COMMON_CLK
147	select SND_SOC_INTEL_SKYLAKE_FAMILY
148	help
149	  If you have a Intel Kabylake platform with the DSP
150	  enabled in the BIOS then enable this option by saying Y or m.
151
152config SND_SOC_INTEL_GLK
153	tristate "GeminiLake Platforms"
154	depends on PCI && ACPI
155	depends on COMMON_CLK
156	select SND_SOC_INTEL_SKYLAKE_FAMILY
157	help
158	  If you have a Intel GeminiLake platform with the DSP
159	  enabled in the BIOS then enable this option by saying Y or m.
160
161config SND_SOC_INTEL_CNL
162	tristate "CannonLake/WhiskyLake Platforms"
163	depends on PCI && ACPI
164	depends on COMMON_CLK
165	select SND_SOC_INTEL_SKYLAKE_FAMILY
166	help
167	  If you have a Intel CNL/WHL platform with the DSP
168	  enabled in the BIOS then enable this option by saying Y or m.
169
170config SND_SOC_INTEL_CFL
171	tristate "CoffeeLake Platforms"
172	depends on PCI && ACPI
173	depends on COMMON_CLK
174	select SND_SOC_INTEL_SKYLAKE_FAMILY
175	help
176	  If you have a Intel CoffeeLake platform with the DSP
177	  enabled in the BIOS then enable this option by saying Y or m.
178
179config SND_SOC_INTEL_CML_H
180	tristate "CometLake-H Platforms"
181	depends on PCI && ACPI
182	depends on COMMON_CLK
183	select SND_SOC_INTEL_SKYLAKE_FAMILY
184	help
185	  If you have a Intel CometLake-H platform with the DSP
186	  enabled in the BIOS then enable this option by saying Y or m.
187
188config SND_SOC_INTEL_CML_LP
189	tristate "CometLake-LP Platforms"
190	depends on PCI && ACPI
191	depends on COMMON_CLK
192	select SND_SOC_INTEL_SKYLAKE_FAMILY
193	help
194	  If you have a Intel CometLake-LP platform with the DSP
195	  enabled in the BIOS then enable this option by saying Y or m.
196
197config SND_SOC_INTEL_SKYLAKE_FAMILY
198	tristate
199	select SND_SOC_INTEL_SKYLAKE_COMMON
200
201if SND_SOC_INTEL_SKYLAKE_FAMILY
202
203config SND_SOC_INTEL_SKYLAKE_SSP_CLK
204	tristate
205
206config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
207	bool "HDAudio codec support"
208	help
209	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
210	  GeminiLake or CannonLake platform with an HDaudio codec
211	  then enable this option by saying Y
212
213config SND_SOC_INTEL_SKYLAKE_COMMON
214	tristate
215	select SND_HDA_EXT_CORE
216	select SND_HDA_DSP_LOADER
217	select SND_SOC_TOPOLOGY
218	select SND_SOC_INTEL_SST
219	select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
220	select SND_SOC_ACPI_INTEL_MATCH
221	select SND_INTEL_NHLT if ACPI
222	help
223	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
224	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
225	  then enable this option by saying Y or m.
226
227endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
228
229endif ## SND_SOC_INTEL_SST_TOPLEVEL
230
231if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
232
233config SND_SOC_ACPI_INTEL_MATCH
234	tristate
235	select SND_SOC_ACPI if ACPI
236	# this option controls the compilation of ACPI matching tables and
237	# helpers and is not meant to be selected by the user.
238
239endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
240
241
242# ASoC codec drivers
243source "sound/soc/intel/boards/Kconfig"
244