Merge branch 'asoc-5.2' into asoc-linus
[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
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         select SND_SOC_INTEL_SKL
109         select SND_SOC_INTEL_APL
110         select SND_SOC_INTEL_KBL
111         select SND_SOC_INTEL_GLK
112         select SND_SOC_INTEL_CNL
113         select SND_SOC_INTEL_CFL
114         help
115           This is a backwards-compatible option to select all devices
116           supported by the Intel SST/Skylake driver. This option is no
117           longer recommended and will be deprecated when the SOF
118           driver is introduced.  Distributions should explicitly
119           select which platform uses this driver.
120
121 config SND_SOC_INTEL_SKL
122         tristate "Skylake Platforms"
123         depends on PCI && ACPI
124         select SND_SOC_INTEL_SKYLAKE_FAMILY
125         help
126           If you have a Intel Skylake platform with the DSP enabled
127           in the BIOS then enable this option by saying Y or m.
128
129 config SND_SOC_INTEL_APL
130         tristate "Broxton/ApolloLake Platforms"
131         depends on PCI && ACPI
132         select SND_SOC_INTEL_SKYLAKE_FAMILY
133         help
134           If you have a Intel Broxton/ApolloLake platform with the DSP
135           enabled in the BIOS then enable this option by saying Y or m.
136
137 config SND_SOC_INTEL_KBL
138         tristate "Kabylake Platforms"
139         depends on PCI && ACPI
140         select SND_SOC_INTEL_SKYLAKE_FAMILY
141         help
142           If you have a Intel Kabylake platform with the DSP
143           enabled in the BIOS then enable this option by saying Y or m.
144
145 config SND_SOC_INTEL_GLK
146         tristate "GeminiLake Platforms"
147         depends on PCI && ACPI
148         select SND_SOC_INTEL_SKYLAKE_FAMILY
149         help
150           If you have a Intel GeminiLake platform with the DSP
151           enabled in the BIOS then enable this option by saying Y or m.
152
153 config SND_SOC_INTEL_CNL
154         tristate "CannonLake/WhiskyLake Platforms"
155         depends on PCI && ACPI
156         select SND_SOC_INTEL_SKYLAKE_FAMILY
157         help
158           If you have a Intel CNL/WHL platform with the DSP
159           enabled in the BIOS then enable this option by saying Y or m.
160
161 config SND_SOC_INTEL_CFL
162         tristate "CoffeeLake Platforms"
163         depends on PCI && ACPI
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_SKYLAKE_FAMILY
170         tristate
171         select SND_SOC_INTEL_SKYLAKE_COMMON
172
173 if SND_SOC_INTEL_SKYLAKE_FAMILY
174
175 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
176         tristate
177
178 config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
179         bool "HDAudio codec support"
180         help
181           If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
182           GeminiLake or CannonLake platform with an HDaudio codec
183           then enable this option by saying Y
184
185 config SND_SOC_INTEL_SKYLAKE_COMMON
186         tristate
187         select SND_HDA_EXT_CORE
188         select SND_HDA_DSP_LOADER
189         select SND_SOC_TOPOLOGY
190         select SND_SOC_INTEL_SST
191         select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
192         select SND_SOC_ACPI_INTEL_MATCH
193         help
194           If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
195           GeminiLake or CannonLake platform with the DSP enabled in the BIOS
196           then enable this option by saying Y or m.
197
198 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
199
200 endif ## SND_SOC_INTEL_SST_TOPLEVEL
201
202 if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
203
204 config SND_SOC_ACPI_INTEL_MATCH
205         tristate
206         select SND_SOC_ACPI if ACPI
207         # this option controls the compilation of ACPI matching tables and
208         # helpers and is not meant to be selected by the user.
209
210 endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
211
212
213 # ASoC codec drivers
214 source "sound/soc/intel/boards/Kconfig"