Linux-libre 5.3.12-gnu
[librecmc/linux-libre.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_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
63 config 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
76 config SND_SST_ATOM_HIFI2_PLATFORM
77         tristate
78         select SND_SOC_COMPRESS
79
80 config 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
92 config 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
105 config 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
122 config 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
131 config 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
140 config 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
149 config 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
158 config 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
167 config 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
176 config 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
185 config 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
194 config SND_SOC_INTEL_SKYLAKE_FAMILY
195         tristate
196         select SND_SOC_INTEL_SKYLAKE_COMMON
197
198 if SND_SOC_INTEL_SKYLAKE_FAMILY
199
200 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
201         tristate
202
203 config 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
210 config 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
223 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
224
225 endif ## SND_SOC_INTEL_SST_TOPLEVEL
226
227 if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
228
229 config 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
235 endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
236
237
238 # ASoC codec drivers
239 source "sound/soc/intel/boards/Kconfig"