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