GNU Linux-libre 5.4.200-gnu1
[releases.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
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
108 config 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
125 config 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
134 config 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
143 config 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
152 config 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
161 config 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
170 config 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
179 config 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
188 config 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
197 config SND_SOC_INTEL_SKYLAKE_FAMILY
198         tristate
199         select SND_SOC_INTEL_SKYLAKE_COMMON
200
201 if SND_SOC_INTEL_SKYLAKE_FAMILY
202
203 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
204         tristate
205
206 config 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
213 config 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
227 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
228
229 endif ## SND_SOC_INTEL_SST_TOPLEVEL
230
231 if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
232
233 config 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
239 endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
240
241
242 # ASoC codec drivers
243 source "sound/soc/intel/boards/Kconfig"