Merge tag 'asoc-fix-v5.0-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / sound / soc / intel / Kconfig
1 config SND_SOC_INTEL_SST_TOPLEVEL
2         bool "Intel ASoC SST drivers"
3         default y
4         depends on X86 || COMPILE_TEST
5         select SND_SOC_INTEL_MACH
6         help
7           Intel ASoC SST Platform Drivers. If you have a Intel machine that
8           has an audio controller with a DSP and I2S or DMIC port, then
9           enable this option by saying Y
10
11           Note that the answer to this question doesn't directly affect the
12           kernel: saying N will just cause the configurator to skip all
13           the questions about Intel SST drivers.
14
15 if SND_SOC_INTEL_SST_TOPLEVEL
16
17 config SND_SST_IPC
18         tristate
19         # This option controls the IPC core for HiFi2 platforms
20
21 config SND_SST_IPC_PCI
22         tristate
23         select SND_SST_IPC
24         # This option controls the PCI-based IPC for HiFi2 platforms
25         #  (Medfield, Merrifield).
26
27 config SND_SST_IPC_ACPI
28         tristate
29         select SND_SST_IPC
30         # This option controls the ACPI-based IPC for HiFi2 platforms
31         # (Baytrail, Cherrytrail)
32
33 config SND_SOC_INTEL_SST_ACPI
34         tristate
35         # This option controls ACPI-based probing on
36         # Haswell/Broadwell/Baytrail legacy and will be set
37         # when these platforms are enabled
38
39 config SND_SOC_INTEL_SST
40         tristate
41
42 config SND_SOC_INTEL_SST_FIRMWARE
43         tristate
44         select DW_DMAC_CORE
45         # This option controls firmware download on
46         # Haswell/Broadwell/Baytrail legacy and will be set
47         # when these platforms are enabled
48
49 config SND_SOC_INTEL_HASWELL
50         tristate "Haswell/Broadwell Platforms"
51         depends on SND_DMA_SGBUF
52         depends on DMADEVICES && ACPI
53         select SND_SOC_INTEL_SST
54         select SND_SOC_INTEL_SST_ACPI
55         select SND_SOC_INTEL_SST_FIRMWARE
56         select SND_SOC_ACPI_INTEL_MATCH
57         help
58           If you have a Intel Haswell or Broadwell platform connected to
59           an I2S codec, then enable this option by saying Y or m. This is
60           typically used for Chromebooks. This is a recommended option.
61
62 config SND_SOC_INTEL_BAYTRAIL
63         tristate "Baytrail (legacy) Platforms"
64         depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
65         select SND_SOC_INTEL_SST
66         select SND_SOC_INTEL_SST_ACPI
67         select SND_SOC_INTEL_SST_FIRMWARE
68         select SND_SOC_ACPI_INTEL_MATCH
69         help
70           If you have a Intel Baytrail platform connected to an I2S codec,
71           then enable this option by saying Y or m. This was typically used
72           for Baytrail Chromebooks but this option is now deprecated and is
73           not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
74
75 config SND_SST_ATOM_HIFI2_PLATFORM
76         tristate
77         select SND_SOC_COMPRESS
78
79 config SND_SST_ATOM_HIFI2_PLATFORM_PCI
80         tristate "PCI HiFi2 (Merrifield) Platforms"
81         depends on X86 && PCI
82         select SND_SST_IPC_PCI
83         select SND_SST_ATOM_HIFI2_PLATFORM
84         help
85           If you have a Intel Merrifield/Edison platform, then
86           enable this option by saying Y or m. Distros will typically not
87           enable this option: while Merrifield/Edison can run a mainline
88           kernel with limited functionality it will require a firmware file
89           which is not in the standard firmware tree
90
91 config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
92         tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
93         default ACPI
94         depends on X86 && ACPI && PCI
95         select SND_SST_IPC_ACPI
96         select SND_SST_ATOM_HIFI2_PLATFORM
97         select SND_SOC_ACPI_INTEL_MATCH
98         select IOSF_MBI
99         help
100           If you have a Intel Baytrail or Cherrytrail platform with an I2S
101           codec, then enable this option by saying Y or m. This is a
102           recommended option
103
104 config SND_SOC_INTEL_SKYLAKE
105         tristate "All Skylake/SST Platforms"
106         depends on PCI && ACPI
107         select SND_SOC_INTEL_SKL
108         select SND_SOC_INTEL_APL
109         select SND_SOC_INTEL_KBL
110         select SND_SOC_INTEL_GLK
111         select SND_SOC_INTEL_CNL
112         select SND_SOC_INTEL_CFL
113         help
114           This is a backwards-compatible option to select all devices
115           supported by the Intel SST/Skylake driver. This option is no
116           longer recommended and will be deprecated when the SOF
117           driver is introduced.  Distributions should explicitly
118           select which platform uses this driver.
119
120 config SND_SOC_INTEL_SKL
121         tristate "Skylake Platforms"
122         depends on PCI && ACPI
123         select SND_SOC_INTEL_SKYLAKE_FAMILY
124         help
125           If you have a Intel Skylake platform with the DSP enabled
126           in the BIOS then enable this option by saying Y or m.
127
128 config SND_SOC_INTEL_APL
129         tristate "Broxton/ApolloLake Platforms"
130         depends on PCI && ACPI
131         select SND_SOC_INTEL_SKYLAKE_FAMILY
132         help
133           If you have a Intel Broxton/ApolloLake platform with the DSP
134           enabled in the BIOS then enable this option by saying Y or m.
135
136 config SND_SOC_INTEL_KBL
137         tristate "Kabylake Platforms"
138         depends on PCI && ACPI
139         select SND_SOC_INTEL_SKYLAKE_FAMILY
140         help
141           If you have a Intel Kabylake platform with the DSP
142           enabled in the BIOS then enable this option by saying Y or m.
143
144 config SND_SOC_INTEL_GLK
145         tristate "GeminiLake Platforms"
146         depends on PCI && ACPI
147         select SND_SOC_INTEL_SKYLAKE_FAMILY
148         help
149           If you have a Intel GeminiLake platform with the DSP
150           enabled in the BIOS then enable this option by saying Y or m.
151
152 config SND_SOC_INTEL_CNL
153         tristate "CannonLake/WhiskyLake Platforms"
154         depends on PCI && ACPI
155         select SND_SOC_INTEL_SKYLAKE_FAMILY
156         help
157           If you have a Intel CNL/WHL platform with the DSP
158           enabled in the BIOS then enable this option by saying Y or m.
159
160 config SND_SOC_INTEL_CFL
161         tristate "CoffeeLake Platforms"
162         depends on PCI && ACPI
163         select SND_SOC_INTEL_SKYLAKE_FAMILY
164         help
165           If you have a Intel CoffeeLake platform with the DSP
166           enabled in the BIOS then enable this option by saying Y or m.
167
168 config SND_SOC_INTEL_SKYLAKE_FAMILY
169         tristate
170         select SND_SOC_INTEL_SKYLAKE_COMMON
171
172 if SND_SOC_INTEL_SKYLAKE_FAMILY
173
174 config SND_SOC_INTEL_SKYLAKE_SSP_CLK
175         tristate
176
177 config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
178         bool "HDAudio codec support"
179         help
180           If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
181           GeminiLake or CannonLake platform with an HDaudio codec
182           then enable this option by saying Y
183
184 config SND_SOC_INTEL_SKYLAKE_COMMON
185         tristate
186         select SND_HDA_EXT_CORE
187         select SND_HDA_DSP_LOADER
188         select SND_SOC_TOPOLOGY
189         select SND_SOC_INTEL_SST
190         select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
191         select SND_SOC_ACPI_INTEL_MATCH
192         help
193           If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
194           GeminiLake or CannonLake platform with the DSP enabled in the BIOS
195           then enable this option by saying Y or m.
196
197 endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
198
199 config SND_SOC_ACPI_INTEL_MATCH
200         tristate
201         select SND_SOC_ACPI if ACPI
202         # this option controls the compilation of ACPI matching tables and
203         # helpers and is not meant to be selected by the user.
204
205 endif ## SND_SOC_INTEL_SST_TOPLEVEL
206
207 # ASoC codec drivers
208 source "sound/soc/intel/boards/Kconfig"