1 # SPDX-License-Identifier: GPL-2.0-only
2 config SND_SOC_INTEL_SST_TOPLEVEL
3 bool "Intel ASoC SST drivers"
5 depends on X86 || COMPILE_TEST
6 select SND_SOC_INTEL_MACH
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
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.
16 if SND_SOC_INTEL_SST_TOPLEVEL
20 # This option controls the IPC core for HiFi2 platforms
22 config SND_SST_IPC_PCI
25 # This option controls the PCI-based IPC for HiFi2 platforms
26 # (Medfield, Merrifield).
28 config SND_SST_IPC_ACPI
31 # This option controls the ACPI-based IPC for HiFi2 platforms
32 # (Baytrail, Cherrytrail)
34 config SND_SOC_INTEL_SST_ACPI
36 # This option controls ACPI-based probing on
37 # Haswell/Broadwell/Baytrail legacy and will be set
38 # when these platforms are enabled
40 config SND_SOC_INTEL_SST
43 config SND_SOC_INTEL_SST_FIRMWARE
46 # This option controls firmware download on
47 # Haswell/Broadwell/Baytrail legacy and will be set
48 # when these platforms are enabled
50 config 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
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.
66 config 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
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.
79 config SND_SST_ATOM_HIFI2_PLATFORM
81 select SND_SOC_COMPRESS
83 config SND_SST_ATOM_HIFI2_PLATFORM_PCI
84 tristate "PCI HiFi2 (Merrifield) Platforms"
86 select SND_SST_IPC_PCI
87 select SND_SST_ATOM_HIFI2_PLATFORM
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
95 config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
96 tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
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
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
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.
111 config 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
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.
128 config 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
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.
137 config 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
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.
146 config 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
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.
155 config 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
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.
164 config 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
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.
173 config 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
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.
182 config 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
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.
191 config 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
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.
200 config SND_SOC_INTEL_SKYLAKE_FAMILY
202 select SND_SOC_INTEL_SKYLAKE_COMMON
204 if SND_SOC_INTEL_SKYLAKE_FAMILY
206 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
209 config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
210 bool "HDAudio codec support"
212 This option broke audio on Linus' Skylake laptop in December 2018
213 and the race conditions during the probe were not fixed since.
214 This option is DEPRECATED, all HDaudio codec support needs
215 to be handled by the SOF driver.
216 Distributions should not enable this option and there are no known
217 users of this capability.
219 config SND_SOC_INTEL_SKYLAKE_COMMON
221 select SND_HDA_EXT_CORE
222 select SND_HDA_DSP_LOADER
223 select SND_SOC_TOPOLOGY
224 select SND_SOC_INTEL_SST
225 select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
226 select SND_SOC_ACPI_INTEL_MATCH
227 select SND_INTEL_DSP_CONFIG
229 If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
230 GeminiLake or CannonLake platform with the DSP enabled in the BIOS
231 then enable this option by saying Y or m.
233 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
235 endif ## SND_SOC_INTEL_SST_TOPLEVEL
237 if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
239 config SND_SOC_ACPI_INTEL_MATCH
241 select SND_SOC_ACPI if ACPI
242 # this option controls the compilation of ACPI matching tables and
243 # helpers and is not meant to be selected by the user.
245 endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
249 source "sound/soc/intel/boards/Kconfig"