ALSA: hda: add Intel DSP configuration / probe code
[linux-2.6-block.git] / sound / soc / intel / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
c6059879
PLB
2config 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
16if SND_SOC_INTEL_SST_TOPLEVEL
17
0fbc7d73
VK
18config SND_SST_IPC
19 tristate
def2c428 20 # This option controls the IPC core for HiFi2 platforms
0fbc7d73 21
f533a035
VK
22config SND_SST_IPC_PCI
23 tristate
24 select SND_SST_IPC
def2c428
PLB
25 # This option controls the PCI-based IPC for HiFi2 platforms
26 # (Medfield, Merrifield).
f533a035 27
336cfbb0
VK
28config SND_SST_IPC_ACPI
29 tristate
30 select SND_SST_IPC
def2c428
PLB
31 # This option controls the ACPI-based IPC for HiFi2 platforms
32 # (Baytrail, Cherrytrail)
33
34config 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
336cfbb0 39
ddfa40b1 40config SND_SOC_INTEL_SST
13735d1c 41 tristate
ddfa40b1 42
a395bdd6
TI
43config SND_SOC_INTEL_SST_FIRMWARE
44 tristate
ebf79091 45 select DW_DMAC_CORE
def2c428
PLB
46 # This option controls firmware download on
47 # Haswell/Broadwell/Baytrail legacy and will be set
48 # when these platforms are enabled
ddfa40b1 49
5e4482fc 50config SND_SOC_INTEL_HASWELL
8fca1583 51 tristate "Haswell/Broadwell Platforms"
c6059879 52 depends on SND_DMA_SGBUF
4772c16e 53 depends on DMADEVICES && ACPI
ebf79091 54 select SND_SOC_INTEL_SST
f3f2bb7a 55 select SND_SOC_INTEL_SST_ACPI
c3474e21 56 select SND_SOC_INTEL_SST_FIRMWARE
c6059879
PLB
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.
90931b9e 62
20df8d03 63config SND_SOC_INTEL_BAYTRAIL
8fca1583 64 tristate "Baytrail (legacy) Platforms"
ed55fe24 65 depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
ebf79091 66 select SND_SOC_INTEL_SST
f3f2bb7a 67 select SND_SOC_INTEL_SST_ACPI
ebf79091 68 select SND_SOC_INTEL_SST_FIRMWARE
c6059879
PLB
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.
20df8d03 75
90619eb1
PLB
76config SND_SST_ATOM_HIFI2_PLATFORM
77 tristate
78 select SND_SOC_COMPRESS
79
4772c16e 80config SND_SST_ATOM_HIFI2_PLATFORM_PCI
90619eb1 81 tristate "PCI HiFi2 (Merrifield) Platforms"
4772c16e
PLB
82 depends on X86 && PCI
83 select SND_SST_IPC_PCI
90619eb1 84 select SND_SST_ATOM_HIFI2_PLATFORM
4772c16e 85 help
90619eb1 86 If you have a Intel Merrifield/Edison platform, then
4772c16e 87 enable this option by saying Y or m. Distros will typically not
90619eb1
PLB
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
4772c16e 91
90619eb1 92config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
8fca1583 93 tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
90619eb1 94 default ACPI
a3d90360 95 depends on X86 && ACPI && PCI
4772c16e 96 select SND_SST_IPC_ACPI
90619eb1 97 select SND_SST_ATOM_HIFI2_PLATFORM
c6059879 98 select SND_SOC_ACPI_INTEL_MATCH
f3f2bb7a 99 select IOSF_MBI
4772c16e
PLB
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
f6a118a8 104
eb965e36 105config SND_SOC_INTEL_SKYLAKE
35bc99aa 106 tristate "All Skylake/SST Platforms"
c6059879 107 depends on PCI && ACPI
2c79eeb1 108 depends on COMMON_CLK
35bc99aa
PLB
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
8c4e7c2e 115 help
82e8d723 116 This is a backwards-compatible option to select all devices
35bc99aa
PLB
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
122config SND_SOC_INTEL_SKL
123 tristate "Skylake Platforms"
124 depends on PCI && ACPI
2c79eeb1 125 depends on COMMON_CLK
35bc99aa
PLB
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
131config SND_SOC_INTEL_APL
132 tristate "Broxton/ApolloLake Platforms"
133 depends on PCI && ACPI
2c79eeb1 134 depends on COMMON_CLK
35bc99aa
PLB
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
140config SND_SOC_INTEL_KBL
141 tristate "Kabylake Platforms"
142 depends on PCI && ACPI
2c79eeb1 143 depends on COMMON_CLK
35bc99aa
PLB
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
149config SND_SOC_INTEL_GLK
150 tristate "GeminiLake Platforms"
151 depends on PCI && ACPI
2c79eeb1 152 depends on COMMON_CLK
35bc99aa
PLB
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
158config SND_SOC_INTEL_CNL
159 tristate "CannonLake/WhiskyLake Platforms"
160 depends on PCI && ACPI
2c79eeb1 161 depends on COMMON_CLK
35bc99aa
PLB
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
167config SND_SOC_INTEL_CFL
168 tristate "CoffeeLake Platforms"
169 depends on PCI && ACPI
2c79eeb1 170 depends on COMMON_CLK
35bc99aa
PLB
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
5f740b24
EG
176config SND_SOC_INTEL_CML_H
177 tristate "CometLake-H Platforms"
178 depends on PCI && ACPI
2c79eeb1 179 depends on COMMON_CLK
5f740b24
EG
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
185config SND_SOC_INTEL_CML_LP
186 tristate "CometLake-LP Platforms"
187 depends on PCI && ACPI
2c79eeb1 188 depends on COMMON_CLK
5f740b24
EG
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
35bc99aa
PLB
194config SND_SOC_INTEL_SKYLAKE_FAMILY
195 tristate
196 select SND_SOC_INTEL_SKYLAKE_COMMON
8c4e7c2e 197
35bc99aa 198if SND_SOC_INTEL_SKYLAKE_FAMILY
8c4e7c2e
PLB
199
200config SND_SOC_INTEL_SKYLAKE_SSP_CLK
201 tristate
202
203config 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
210config SND_SOC_INTEL_SKYLAKE_COMMON
211 tristate
eb965e36 212 select SND_HDA_EXT_CORE
92eb4f62 213 select SND_HDA_DSP_LOADER
3af36706 214 select SND_SOC_TOPOLOGY
b81fd263 215 select SND_SOC_INTEL_SST
8c4e7c2e 216 select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
c6059879 217 select SND_SOC_ACPI_INTEL_MATCH
82d9d54a 218 select SND_INTEL_DSP_CONFIG
c6059879
PLB
219 help
220 If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
221 GeminiLake or CannonLake platform with the DSP enabled in the BIOS
222 then enable this option by saying Y or m.
223
35bc99aa 224endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
8c4e7c2e 225
e6b140e9
PLB
226endif ## SND_SOC_INTEL_SST_TOPLEVEL
227
228if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
229
c6059879
PLB
230config SND_SOC_ACPI_INTEL_MATCH
231 tristate
232 select SND_SOC_ACPI if ACPI
233 # this option controls the compilation of ACPI matching tables and
234 # helpers and is not meant to be selected by the user.
235
e6b140e9
PLB
236endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
237
624729fd 238
ea2851bd
PLB
239# ASoC codec drivers
240source "sound/soc/intel/boards/Kconfig"