Merge tag 'for-5.8-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[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_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
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
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
79 config SND_SST_ATOM_HIFI2_PLATFORM
80         tristate
81         select SND_SOC_COMPRESS
82
83 config 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
95 config 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           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.
110
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
121         help
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.
127
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
133         help
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.
136
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
142         help
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.
145
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
151         help
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.
154
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
160         help
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.
163
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
169         help
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.
172
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
178         help
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.
181
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
187         help
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.
190
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
196         help
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.
199
200 config SND_SOC_INTEL_SKYLAKE_FAMILY
201         tristate
202         select SND_SOC_INTEL_SKYLAKE_COMMON
203
204 if SND_SOC_INTEL_SKYLAKE_FAMILY
205
206 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
207         tristate
208
209 config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
210         bool "HDAudio codec support"
211         help
212           If you have Intel Skylake or Kabylake with HDaudio codec
213           and DMIC present then enable this option by saying Y.
214
215 config SND_SOC_INTEL_SKYLAKE_COMMON
216         tristate
217         select SND_HDA_EXT_CORE
218         select SND_HDA_DSP_LOADER
219         select SND_SOC_TOPOLOGY
220         select SND_SOC_INTEL_SST
221         select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
222         select SND_SOC_ACPI_INTEL_MATCH
223         select SND_INTEL_DSP_CONFIG
224         help
225           If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
226           GeminiLake or CannonLake platform with the DSP enabled in the BIOS
227           then enable this option by saying Y or m.
228
229 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
230
231 endif ## SND_SOC_INTEL_SST_TOPLEVEL
232
233 if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
234
235 config SND_SOC_ACPI_INTEL_MATCH
236         tristate
237         select SND_SOC_ACPI if ACPI
238         # this option controls the compilation of ACPI matching tables and
239         # helpers and is not meant to be selected by the user.
240
241 endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
242
243
244 # ASoC codec drivers
245 source "sound/soc/intel/boards/Kconfig"