1 # SPDX-License-Identifier: GPL-2.0-only
2 # Helper to resolve issues with configs that have SPI enabled but I2C
3 # modular, meaning we can't build the codec driver in with I2C support.
4 # We use an ordered list of conditional defaults to pick the appropriate
5 # setting - SPI can't be modular so that case doesn't need to be covered.
6 config SND_SOC_I2C_AND_SPI
10 default y if SPI_MASTER=y
14 config SND_SOC_ALL_CODECS
15 tristate "Build all ASoC CODEC drivers"
16 depends on COMPILE_TEST
17 select SND_SOC_88PM860X if MFD_88PM860X
19 select SND_SOC_AB8500_CODEC if ABX500_CORE
20 select SND_SOC_AC97_CODEC
21 select SND_SOC_AD1836 if SPI_MASTER
22 select SND_SOC_AD193X_SPI if SPI_MASTER
23 select SND_SOC_AD193X_I2C if I2C
24 select SND_SOC_AD1980 if SND_SOC_AC97_BUS
25 select SND_SOC_AD73311
26 select SND_SOC_ADAU1373 if I2C
27 select SND_SOC_ADAU1761_I2C if I2C
28 select SND_SOC_ADAU1761_SPI if SPI
29 select SND_SOC_ADAU1781_I2C if I2C
30 select SND_SOC_ADAU1781_SPI if SPI
31 select SND_SOC_ADAV801 if SPI_MASTER
32 select SND_SOC_ADAV803 if I2C
33 select SND_SOC_ADAU1977_SPI if SPI_MASTER
34 select SND_SOC_ADAU1977_I2C if I2C
35 select SND_SOC_ADAU1701 if I2C
36 select SND_SOC_ADAU7002
37 select SND_SOC_ADAU7118_I2C if I2C
38 select SND_SOC_ADAU7118_HW
39 select SND_SOC_ADS117X
40 select SND_SOC_AK4104 if SPI_MASTER
41 select SND_SOC_AK4118 if I2C
42 select SND_SOC_AK4458 if I2C
43 select SND_SOC_AK4535 if I2C
45 select SND_SOC_AK4613 if I2C
46 select SND_SOC_AK4641 if I2C
47 select SND_SOC_AK4642 if I2C
48 select SND_SOC_AK4671 if I2C
50 select SND_SOC_AK5558 if I2C
51 select SND_SOC_ALC5623 if I2C
52 select SND_SOC_ALC5632 if I2C
54 select SND_SOC_BD28623
55 select SND_SOC_CQ0093VC
56 select SND_SOC_CROS_EC_CODEC if CROS_EC
57 select SND_SOC_CS35L32 if I2C
58 select SND_SOC_CS35L33 if I2C
59 select SND_SOC_CS35L34 if I2C
60 select SND_SOC_CS35L35 if I2C
61 select SND_SOC_CS35L36 if I2C
62 select SND_SOC_CS42L42 if I2C
63 select SND_SOC_CS42L51_I2C if I2C
64 select SND_SOC_CS42L52 if I2C && INPUT
65 select SND_SOC_CS42L56 if I2C && INPUT
66 select SND_SOC_CS42L73 if I2C
67 select SND_SOC_CS4265 if I2C
68 select SND_SOC_CS4270 if I2C
69 select SND_SOC_CS4271_I2C if I2C
70 select SND_SOC_CS4271_SPI if SPI_MASTER
71 select SND_SOC_CS42XX8_I2C if I2C
72 select SND_SOC_CS43130 if I2C
73 select SND_SOC_CS4341 if SND_SOC_I2C_AND_SPI
74 select SND_SOC_CS4349 if I2C
75 select SND_SOC_CS47L15 if MFD_CS47L15
76 select SND_SOC_CS47L24 if MFD_CS47L24
77 select SND_SOC_CS47L35 if MFD_CS47L35
78 select SND_SOC_CS47L85 if MFD_CS47L85
79 select SND_SOC_CS47L90 if MFD_CS47L90
80 select SND_SOC_CS47L92 if MFD_CS47L92
81 select SND_SOC_CS53L30 if I2C
82 select SND_SOC_CX20442 if TTY
83 select SND_SOC_CX2072X if I2C
84 select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
85 select SND_SOC_DA7213 if I2C
86 select SND_SOC_DA7218 if I2C
87 select SND_SOC_DA7219 if I2C
88 select SND_SOC_DA732X if I2C
89 select SND_SOC_DA9055 if I2C
90 select SND_SOC_DMIC if GPIOLIB
91 select SND_SOC_ES8316 if I2C
92 select SND_SOC_ES8328_SPI if SPI_MASTER
93 select SND_SOC_ES8328_I2C if I2C
97 select SND_SOC_HDAC_HDMI
98 select SND_SOC_HDAC_HDA
99 select SND_SOC_ICS43432
100 select SND_SOC_INNO_RK3036
101 select SND_SOC_ISABELLE if I2C
102 select SND_SOC_JZ4740_CODEC
103 select SND_SOC_JZ4725B_CODEC
104 select SND_SOC_JZ4770_CODEC
105 select SND_SOC_LM4857 if I2C
106 select SND_SOC_LM49453 if I2C
107 select SND_SOC_LOCHNAGAR_SC if MFD_LOCHNAGAR
108 select SND_SOC_MAX98088 if I2C
109 select SND_SOC_MAX98090 if I2C
110 select SND_SOC_MAX98095 if I2C
111 select SND_SOC_MAX98357A if GPIOLIB
112 select SND_SOC_MAX98371 if I2C
113 select SND_SOC_MAX98504 if I2C
114 select SND_SOC_MAX9867 if I2C
115 select SND_SOC_MAX98925 if I2C
116 select SND_SOC_MAX98926 if I2C
117 select SND_SOC_MAX98927 if I2C
118 select SND_SOC_MAX98373 if I2C
119 select SND_SOC_MAX9850 if I2C
120 select SND_SOC_MAX9860 if I2C
121 select SND_SOC_MAX9759
122 select SND_SOC_MAX9768 if I2C
123 select SND_SOC_MAX9877 if I2C
124 select SND_SOC_MC13783 if MFD_MC13XXX
125 select SND_SOC_ML26124 if I2C
126 select SND_SOC_MT6351 if MTK_PMIC_WRAP
127 select SND_SOC_MT6358 if MTK_PMIC_WRAP
128 select SND_SOC_MT6660 if I2C
129 select SND_SOC_NAU8540 if I2C
130 select SND_SOC_NAU8810 if I2C
131 select SND_SOC_NAU8822 if I2C
132 select SND_SOC_NAU8824 if I2C
133 select SND_SOC_NAU8825 if I2C
134 select SND_SOC_HDMI_CODEC
135 select SND_SOC_PCM1681 if I2C
136 select SND_SOC_PCM1789_I2C if I2C
137 select SND_SOC_PCM179X_I2C if I2C
138 select SND_SOC_PCM179X_SPI if SPI_MASTER
139 select SND_SOC_PCM186X_I2C if I2C
140 select SND_SOC_PCM186X_SPI if SPI_MASTER
141 select SND_SOC_PCM3008
142 select SND_SOC_PCM3060_I2C if I2C
143 select SND_SOC_PCM3060_SPI if SPI_MASTER
144 select SND_SOC_PCM3168A_I2C if I2C
145 select SND_SOC_PCM3168A_SPI if SPI_MASTER
146 select SND_SOC_PCM5102A
147 select SND_SOC_PCM512x_I2C if I2C
148 select SND_SOC_PCM512x_SPI if SPI_MASTER
149 select SND_SOC_RK3328
150 select SND_SOC_RT274 if I2C
151 select SND_SOC_RT286 if I2C
152 select SND_SOC_RT298 if I2C
153 select SND_SOC_RT1011 if I2C
154 select SND_SOC_RT1015 if I2C
155 select SND_SOC_RT1305 if I2C
156 select SND_SOC_RT1308 if I2C
157 select SND_SOC_RT5514 if I2C
158 select SND_SOC_RT5616 if I2C
159 select SND_SOC_RT5631 if I2C
160 select SND_SOC_RT5640 if I2C
161 select SND_SOC_RT5645 if I2C
162 select SND_SOC_RT5651 if I2C
163 select SND_SOC_RT5659 if I2C
164 select SND_SOC_RT5660 if I2C
165 select SND_SOC_RT5663 if I2C
166 select SND_SOC_RT5665 if I2C
167 select SND_SOC_RT5668 if I2C
168 select SND_SOC_RT5670 if I2C
169 select SND_SOC_RT5677 if I2C && SPI_MASTER
170 select SND_SOC_RT5682 if I2C
171 select SND_SOC_RT700_SDW if SOUNDWIRE
172 select SND_SOC_RT711_SDW if SOUNDWIRE
173 select SND_SOC_RT715_SDW if SOUNDWIRE
174 select SND_SOC_RT1308_SDW if SOUNDWIRE
175 select SND_SOC_SGTL5000 if I2C
176 select SND_SOC_SI476X if MFD_SI476X_CORE
177 select SND_SOC_SIMPLE_AMPLIFIER
178 select SND_SOC_SIRF_AUDIO_CODEC
180 select SND_SOC_SSM2305
181 select SND_SOC_SSM2518 if I2C
182 select SND_SOC_SSM2602_SPI if SPI_MASTER
183 select SND_SOC_SSM2602_I2C if I2C
184 select SND_SOC_SSM4567 if I2C
185 select SND_SOC_STA32X if I2C
186 select SND_SOC_STA350 if I2C
187 select SND_SOC_STA529 if I2C
188 select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
189 select SND_SOC_STI_SAS
190 select SND_SOC_TAS2552 if I2C
191 select SND_SOC_TAS2562 if I2C
192 select SND_SOC_TAS2770 if I2C
193 select SND_SOC_TAS5086 if I2C
194 select SND_SOC_TAS571X if I2C
195 select SND_SOC_TAS5720 if I2C
196 select SND_SOC_TAS6424 if I2C
197 select SND_SOC_TDA7419 if I2C
198 select SND_SOC_TFA9879 if I2C
199 select SND_SOC_TLV320AIC23_I2C if I2C
200 select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
201 select SND_SOC_TLV320AIC26 if SPI_MASTER
202 select SND_SOC_TLV320AIC31XX if I2C
203 select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK
204 select SND_SOC_TLV320AIC32X4_SPI if SPI_MASTER && COMMON_CLK
205 select SND_SOC_TLV320AIC3X if I2C
206 select SND_SOC_TPA6130A2 if I2C
207 select SND_SOC_TLV320DAC33 if I2C
208 select SND_SOC_TSCS42XX if I2C
209 select SND_SOC_TSCS454 if I2C
210 select SND_SOC_TS3A227E if I2C
211 select SND_SOC_TWL4030 if TWL4030_CORE
212 select SND_SOC_TWL6040 if TWL6040_CORE
213 select SND_SOC_UDA1334 if GPIOLIB
214 select SND_SOC_UDA134X
215 select SND_SOC_UDA1380 if I2C
216 select SND_SOC_WCD9335 if SLIMBUS
217 select SND_SOC_WCD934X if MFD_WCD934X
218 select SND_SOC_WL1273 if MFD_WL1273_CORE
219 select SND_SOC_WM0010 if SPI_MASTER
220 select SND_SOC_WM1250_EV1 if I2C
221 select SND_SOC_WM2000 if I2C
222 select SND_SOC_WM2200 if I2C
223 select SND_SOC_WM5100 if I2C
224 select SND_SOC_WM5102 if MFD_WM5102
225 select SND_SOC_WM5110 if MFD_WM5110
226 select SND_SOC_WM8350 if MFD_WM8350
227 select SND_SOC_WM8400 if MFD_WM8400
228 select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
229 select SND_SOC_WM8523 if I2C
230 select SND_SOC_WM8524 if GPIOLIB
231 select SND_SOC_WM8580 if I2C
232 select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
233 select SND_SOC_WM8727
234 select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
235 select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
236 select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
237 select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
238 select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
239 select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
240 select SND_SOC_WM8770 if SPI_MASTER
241 select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
242 select SND_SOC_WM8782
243 select SND_SOC_WM8804_I2C if I2C
244 select SND_SOC_WM8804_SPI if SPI_MASTER
245 select SND_SOC_WM8900 if I2C
246 select SND_SOC_WM8903 if I2C
247 select SND_SOC_WM8904 if I2C
248 select SND_SOC_WM8940 if I2C
249 select SND_SOC_WM8955 if I2C
250 select SND_SOC_WM8960 if I2C
251 select SND_SOC_WM8961 if I2C
252 select SND_SOC_WM8962 if I2C && INPUT
253 select SND_SOC_WM8971 if I2C
254 select SND_SOC_WM8974 if I2C
255 select SND_SOC_WM8978 if I2C
256 select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
257 select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
258 select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
259 select SND_SOC_WM8990 if I2C
260 select SND_SOC_WM8991 if I2C
261 select SND_SOC_WM8993 if I2C
262 select SND_SOC_WM8994 if MFD_WM8994
263 select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
264 select SND_SOC_WM8996 if I2C
265 select SND_SOC_WM8997 if MFD_WM8997
266 select SND_SOC_WM8998 if MFD_WM8998
267 select SND_SOC_WM9081 if I2C
268 select SND_SOC_WM9090 if I2C
269 select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
270 select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
271 select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
272 select SND_SOC_WSA881X if SOUNDWIRE
274 Normally ASoC codec drivers are only built if a machine driver which
275 uses them is also built since they are only usable with a machine
276 driver. Selecting this option will allow these drivers to be built
277 without an explicit machine driver for test and development purposes.
279 Support for the bus types used to access the codecs to be built must
280 be selected separately.
282 If unsure select "N".
284 config SND_SOC_88PM860X
287 config SND_SOC_ARIZONA
289 default y if SND_SOC_CS47L24=y
290 default y if SND_SOC_WM5102=y
291 default y if SND_SOC_WM5110=y
292 default y if SND_SOC_WM8997=y
293 default y if SND_SOC_WM8998=y
294 default m if SND_SOC_CS47L24=m
295 default m if SND_SOC_WM5102=m
296 default m if SND_SOC_WM5110=m
297 default m if SND_SOC_WM8997=m
298 default m if SND_SOC_WM8998=m
300 config SND_SOC_WM_HUBS
302 default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
303 default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
305 config SND_SOC_WM_ADSP
307 select SND_SOC_COMPRESS
308 default y if SND_SOC_MADERA=y
309 default y if SND_SOC_CS47L24=y
310 default y if SND_SOC_WM5102=y
311 default y if SND_SOC_WM5110=y
312 default y if SND_SOC_WM2200=y
313 default m if SND_SOC_MADERA=m
314 default m if SND_SOC_CS47L24=m
315 default m if SND_SOC_WM5102=m
316 default m if SND_SOC_WM5110=m
317 default m if SND_SOC_WM2200=m
319 config SND_SOC_AB8500_CODEC
322 config SND_SOC_AC97_CODEC
323 tristate "Build generic ASoC AC97 CODEC driver"
324 select SND_AC97_CODEC
325 select SND_SOC_AC97_BUS
327 config SND_SOC_AD1836
330 config SND_SOC_AD193X
333 config SND_SOC_AD193X_SPI
335 select SND_SOC_AD193X
337 config SND_SOC_AD193X_I2C
339 select SND_SOC_AD193X
341 config SND_SOC_AD1980
345 config SND_SOC_AD73311
348 config SND_SOC_ADAU_UTILS
351 config SND_SOC_ADAU1373
353 select SND_SOC_ADAU_UTILS
355 config SND_SOC_ADAU1701
356 tristate "Analog Devices ADAU1701 CODEC"
358 select SND_SOC_SIGMADSP_I2C
360 config SND_SOC_ADAU17X1
362 select SND_SOC_SIGMADSP_REGMAP
363 select SND_SOC_ADAU_UTILS
365 config SND_SOC_ADAU1761
367 select SND_SOC_ADAU17X1
369 config SND_SOC_ADAU1761_I2C
370 tristate "Analog Devices AU1761 CODEC - I2C"
372 select SND_SOC_ADAU1761
375 config SND_SOC_ADAU1761_SPI
376 tristate "Analog Devices AU1761 CODEC - SPI"
378 select SND_SOC_ADAU1761
381 config SND_SOC_ADAU1781
382 select SND_SOC_ADAU17X1
385 config SND_SOC_ADAU1781_I2C
387 select SND_SOC_ADAU1781
390 config SND_SOC_ADAU1781_SPI
392 select SND_SOC_ADAU1781
395 config SND_SOC_ADAU1977
398 config SND_SOC_ADAU1977_SPI
400 select SND_SOC_ADAU1977
403 config SND_SOC_ADAU1977_I2C
405 select SND_SOC_ADAU1977
408 config SND_SOC_ADAU7002
409 tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
411 config SND_SOC_ADAU7118
414 config SND_SOC_ADAU7118_HW
415 tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
416 select SND_SOC_ADAU7118
418 Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
419 Converter. In this mode, the device works in standalone mode which
420 means that there is no bus to comunicate with it. Stereo mode is not
421 supported in this mode.
423 To compile this driver as a module, choose M here: the module
424 will be called snd-soc-adau7118-hw.
426 config SND_SOC_ADAU7118_I2C
427 tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
429 select SND_SOC_ADAU7118
432 Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
433 Converter over I2C. This gives full support over the device.
435 To compile this driver as a module, choose M here: the module
436 will be called snd-soc-adau7118-i2c.
438 config SND_SOC_ADAV80X
441 config SND_SOC_ADAV801
443 select SND_SOC_ADAV80X
445 config SND_SOC_ADAV803
447 select SND_SOC_ADAV80X
449 config SND_SOC_ADS117X
452 config SND_SOC_AK4104
453 tristate "AKM AK4104 CODEC"
454 depends on SPI_MASTER
456 config SND_SOC_AK4118
457 tristate "AKM AK4118 CODEC"
461 config SND_SOC_AK4458
462 tristate "AKM AK4458 CODEC"
466 config SND_SOC_AK4535
469 config SND_SOC_AK4554
470 tristate "AKM AK4554 CODEC"
472 config SND_SOC_AK4613
473 tristate "AKM AK4613 CODEC"
476 config SND_SOC_AK4641
479 config SND_SOC_AK4642
480 tristate "AKM AK4642 CODEC"
483 config SND_SOC_AK4671
486 config SND_SOC_AK5386
487 tristate "AKM AK5638 CODEC"
489 config SND_SOC_AK5558
490 tristate "AKM AK5558 CODEC"
494 config SND_SOC_ALC5623
495 tristate "Realtek ALC5623 CODEC"
498 config SND_SOC_ALC5632
501 config SND_SOC_BD28623
502 tristate "ROHM BD28623 CODEC"
504 Enable support for ROHM BD28623MUV Class D speaker amplifier.
505 This codec does not have any control buses such as I2C, it
506 detect format of I2S automatically.
508 config SND_SOC_BT_SCO
509 tristate "Dummy BT SCO codec driver"
512 tristate "Motorola CPCAP codec"
515 config SND_SOC_CQ0093VC
518 config SND_SOC_CROS_EC_CODEC
519 tristate "codec driver for ChromeOS EC"
524 If you say yes here you will get support for the
525 ChromeOS Embedded Controller's Audio Codec.
527 config SND_SOC_CS35L32
528 tristate "Cirrus Logic CS35L32 CODEC"
531 config SND_SOC_CS35L33
532 tristate "Cirrus Logic CS35L33 CODEC"
535 config SND_SOC_CS35L34
536 tristate "Cirrus Logic CS35L34 CODEC"
539 config SND_SOC_CS35L35
540 tristate "Cirrus Logic CS35L35 CODEC"
543 config SND_SOC_CS35L36
544 tristate "Cirrus Logic CS35L36 CODEC"
547 config SND_SOC_CS42L42
548 tristate "Cirrus Logic CS42L42 CODEC"
551 config SND_SOC_CS42L51
554 config SND_SOC_CS42L51_I2C
555 tristate "Cirrus Logic CS42L51 CODEC (I2C)"
557 select SND_SOC_CS42L51
559 config SND_SOC_CS42L52
560 tristate "Cirrus Logic CS42L52 CODEC"
561 depends on I2C && INPUT
563 config SND_SOC_CS42L56
564 tristate "Cirrus Logic CS42L56 CODEC"
565 depends on I2C && INPUT
567 config SND_SOC_CS42L73
568 tristate "Cirrus Logic CS42L73 CODEC"
571 config SND_SOC_CS4265
572 tristate "Cirrus Logic CS4265 CODEC"
576 # Cirrus Logic CS4270 Codec
577 config SND_SOC_CS4270
578 tristate "Cirrus Logic CS4270 CODEC"
581 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
582 # Select if you are affected by the errata where the part will not function
583 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will
584 # not select any sample rates that require MCLK to be divided by 1.5.
585 config SND_SOC_CS4270_VD33_ERRATA
587 depends on SND_SOC_CS4270
589 config SND_SOC_CS4271
592 config SND_SOC_CS4271_I2C
593 tristate "Cirrus Logic CS4271 CODEC (I2C)"
595 select SND_SOC_CS4271
598 config SND_SOC_CS4271_SPI
599 tristate "Cirrus Logic CS4271 CODEC (SPI)"
600 depends on SPI_MASTER
601 select SND_SOC_CS4271
604 config SND_SOC_CS42XX8
607 config SND_SOC_CS42XX8_I2C
608 tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
610 select SND_SOC_CS42XX8
613 # Cirrus Logic CS43130 HiFi DAC
614 config SND_SOC_CS43130
615 tristate "Cirrus Logic CS43130 CODEC"
618 config SND_SOC_CS4341
619 tristate "Cirrus Logic CS4341 CODEC"
620 depends on SND_SOC_I2C_AND_SPI
621 select REGMAP_I2C if I2C
622 select REGMAP_SPI if SPI_MASTER
624 # Cirrus Logic CS4349 HiFi DAC
625 config SND_SOC_CS4349
626 tristate "Cirrus Logic CS4349 CODEC"
629 config SND_SOC_CS47L15
632 config SND_SOC_CS47L24
635 config SND_SOC_CS47L35
638 config SND_SOC_CS47L85
641 config SND_SOC_CS47L90
644 config SND_SOC_CS47L92
647 # Cirrus Logic Quad-Channel ADC
648 config SND_SOC_CS53L30
649 tristate "Cirrus Logic CS53L30 CODEC"
652 config SND_SOC_CX20442
656 config SND_SOC_CX2072X
657 tristate "Conexant CX2072X CODEC"
660 Enable support for Conexant CX20721 and CX20723 codec chips.
662 config SND_SOC_JZ4740_CODEC
663 depends on MIPS || COMPILE_TEST
665 tristate "Ingenic JZ4740 internal CODEC"
667 Enable support for the internal CODEC found in the JZ4740 SoC
670 This driver can also be built as a module. If so, the module
671 will be called snd-soc-jz4740-codec.
673 config SND_SOC_JZ4725B_CODEC
674 depends on MIPS || COMPILE_TEST
676 tristate "Ingenic JZ4725B internal CODEC"
678 Enable support for the internal CODEC found in the JZ4725B SoC
681 This driver can also be built as a module. If so, the module
682 will be called snd-soc-jz4725b-codec.
684 config SND_SOC_JZ4770_CODEC
685 depends on MIPS || COMPILE_TEST
687 tristate "Ingenic JZ4770 internal CODEC"
689 Enable support for the internal CODEC found in the JZ4770 SoC
692 This driver can also be built as a module. If so, the module
693 will be called snd-soc-jz4770-codec.
698 config SND_SOC_DA7210
701 config SND_SOC_DA7213
702 tristate "Dialog DA7213 CODEC"
705 config SND_SOC_DA7218
708 config SND_SOC_DA7219
711 config SND_SOC_DA732X
714 config SND_SOC_DA9055
718 tristate "Generic Digital Microphone CODEC"
721 Enable support for the Generic Digital Microphone CODEC.
722 Select this if your sound card has DMICs.
724 config SND_SOC_HDMI_CODEC
727 select SND_PCM_IEC958
730 config SND_SOC_ES7134
731 tristate "Everest Semi ES7134 CODEC"
733 config SND_SOC_ES7241
734 tristate "Everest Semi ES7241 CODEC"
736 config SND_SOC_ES8316
737 tristate "Everest Semi ES8316 CODEC"
740 config SND_SOC_ES8328
743 config SND_SOC_ES8328_I2C
744 tristate "Everest Semi ES8328 CODEC (I2C)"
746 select SND_SOC_ES8328
748 config SND_SOC_ES8328_SPI
749 tristate "Everest Semi ES8328 CODEC (SPI)"
750 depends on SPI_MASTER
751 select SND_SOC_ES8328
753 config SND_SOC_GTM601
754 tristate 'GTM601 UMTS modem audio codec'
756 config SND_SOC_HDAC_HDMI
758 select SND_HDA_EXT_CORE
762 config SND_SOC_HDAC_HDA
766 config SND_SOC_ICS43432
769 config SND_SOC_INNO_RK3036
770 tristate "Inno codec driver for RK3036 SoC"
773 config SND_SOC_ISABELLE
776 config SND_SOC_LM49453
779 config SND_SOC_LOCHNAGAR_SC
780 tristate "Lochnagar Sound Card"
781 depends on MFD_LOCHNAGAR
783 This driver support the sound card functionality of the Cirrus
784 Logic Lochnagar audio development board.
786 config SND_SOC_MADERA
788 default y if SND_SOC_CS47L15=y
789 default y if SND_SOC_CS47L35=y
790 default y if SND_SOC_CS47L85=y
791 default y if SND_SOC_CS47L90=y
792 default y if SND_SOC_CS47L92=y
793 default m if SND_SOC_CS47L15=m
794 default m if SND_SOC_CS47L35=m
795 default m if SND_SOC_CS47L85=m
796 default m if SND_SOC_CS47L90=m
797 default m if SND_SOC_CS47L92=m
799 config SND_SOC_MAX98088
800 tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
803 config SND_SOC_MAX98090
806 config SND_SOC_MAX98095
809 config SND_SOC_MAX98357A
810 tristate "Maxim MAX98357A CODEC"
813 config SND_SOC_MAX98371
816 config SND_SOC_MAX98504
817 tristate "Maxim MAX98504 speaker amplifier"
820 config SND_SOC_MAX9867
821 tristate "Maxim MAX9867 CODEC"
824 config SND_SOC_MAX98925
827 config SND_SOC_MAX98926
830 config SND_SOC_MAX98927
831 tristate "Maxim Integrated MAX98927 Speaker Amplifier"
834 config SND_SOC_MAX98373
835 tristate "Maxim Integrated MAX98373 Speaker Amplifier"
838 config SND_SOC_MAX9850
841 config SND_SOC_MAX9860
842 tristate "Maxim MAX9860 Mono Audio Voice Codec"
846 config SND_SOC_MSM8916_WCD_ANALOG
847 tristate "Qualcomm MSM8916 WCD Analog Codec"
848 depends on SPMI || COMPILE_TEST
850 config SND_SOC_MSM8916_WCD_DIGITAL
851 tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
854 config SND_SOC_PCM1681
855 tristate "Texas Instruments PCM1681 CODEC"
858 config SND_SOC_PCM1789
861 config SND_SOC_PCM1789_I2C
862 tristate "Texas Instruments PCM1789 CODEC (I2C)"
864 select SND_SOC_PCM1789
866 Enable support for Texas Instruments PCM1789 CODEC.
867 Select this if your PCM1789 is connected via an I2C bus.
869 config SND_SOC_PCM179X
872 config SND_SOC_PCM179X_I2C
873 tristate "Texas Instruments PCM179X CODEC (I2C)"
875 select SND_SOC_PCM179X
877 Enable support for Texas Instruments PCM179x CODEC.
878 Select this if your PCM179x is connected via an I2C bus.
880 config SND_SOC_PCM179X_SPI
881 tristate "Texas Instruments PCM179X CODEC (SPI)"
882 depends on SPI_MASTER
883 select SND_SOC_PCM179X
885 Enable support for Texas Instruments PCM179x CODEC.
886 Select this if your PCM179x is connected via an SPI bus.
888 config SND_SOC_PCM186X
891 config SND_SOC_PCM186X_I2C
892 tristate "Texas Instruments PCM186x CODECs - I2C"
894 select SND_SOC_PCM186X
897 config SND_SOC_PCM186X_SPI
898 tristate "Texas Instruments PCM186x CODECs - SPI"
899 depends on SPI_MASTER
900 select SND_SOC_PCM186X
903 config SND_SOC_PCM3008
906 config SND_SOC_PCM3060
909 config SND_SOC_PCM3060_I2C
910 tristate "Texas Instruments PCM3060 CODEC - I2C"
912 select SND_SOC_PCM3060
915 config SND_SOC_PCM3060_SPI
916 tristate "Texas Instruments PCM3060 CODEC - SPI"
917 depends on SPI_MASTER
918 select SND_SOC_PCM3060
921 config SND_SOC_PCM3168A
924 config SND_SOC_PCM3168A_I2C
925 tristate "Texas Instruments PCM3168A CODEC - I2C"
927 select SND_SOC_PCM3168A
930 config SND_SOC_PCM3168A_SPI
931 tristate "Texas Instruments PCM3168A CODEC - SPI"
932 depends on SPI_MASTER
933 select SND_SOC_PCM3168A
936 config SND_SOC_PCM5102A
939 config SND_SOC_PCM512x
942 config SND_SOC_PCM512x_I2C
943 tristate "Texas Instruments PCM512x CODECs - I2C"
945 select SND_SOC_PCM512x
948 config SND_SOC_PCM512x_SPI
949 tristate "Texas Instruments PCM512x CODECs - SPI"
950 depends on SPI_MASTER
951 select SND_SOC_PCM512x
954 config SND_SOC_RK3328
955 tristate "Rockchip RK3328 audio CODEC"
958 config SND_SOC_RL6231
960 default y if SND_SOC_RT5514=y
961 default y if SND_SOC_RT5616=y
962 default y if SND_SOC_RT5640=y
963 default y if SND_SOC_RT5645=y
964 default y if SND_SOC_RT5651=y
965 default y if SND_SOC_RT5659=y
966 default y if SND_SOC_RT5660=y
967 default y if SND_SOC_RT5663=y
968 default y if SND_SOC_RT5665=y
969 default y if SND_SOC_RT5668=y
970 default y if SND_SOC_RT5670=y
971 default y if SND_SOC_RT5677=y
972 default y if SND_SOC_RT5682=y
973 default y if SND_SOC_RT1011=y
974 default y if SND_SOC_RT1015=y
975 default y if SND_SOC_RT1305=y
976 default y if SND_SOC_RT1308=y
977 default m if SND_SOC_RT5514=m
978 default m if SND_SOC_RT5616=m
979 default m if SND_SOC_RT5640=m
980 default m if SND_SOC_RT5645=m
981 default m if SND_SOC_RT5651=m
982 default m if SND_SOC_RT5659=m
983 default m if SND_SOC_RT5660=m
984 default m if SND_SOC_RT5663=m
985 default m if SND_SOC_RT5665=m
986 default m if SND_SOC_RT5668=m
987 default m if SND_SOC_RT5670=m
988 default m if SND_SOC_RT5677=m
989 default m if SND_SOC_RT5682=m
990 default m if SND_SOC_RT1011=m
991 default m if SND_SOC_RT1015=m
992 default m if SND_SOC_RT1305=m
993 default m if SND_SOC_RT1308=m
995 config SND_SOC_RL6347A
997 default y if SND_SOC_RT274=y
998 default y if SND_SOC_RT286=y
999 default y if SND_SOC_RT298=y
1000 default m if SND_SOC_RT274=m
1001 default m if SND_SOC_RT286=m
1002 default m if SND_SOC_RT298=m
1004 config SND_SOC_RT274
1008 config SND_SOC_RT286
1012 config SND_SOC_RT298
1016 config SND_SOC_RT1011
1019 config SND_SOC_RT1015
1022 config SND_SOC_RT1305
1025 config SND_SOC_RT1308
1028 config SND_SOC_RT1308_SDW
1029 tristate "Realtek RT1308 Codec - SDW"
1030 depends on SOUNDWIRE
1031 select REGMAP_SOUNDWIRE
1033 config SND_SOC_RT5514
1036 config SND_SOC_RT5514_SPI
1039 config SND_SOC_RT5514_SPI_BUILTIN
1040 bool # force RT5514_SPI to be built-in to avoid link errors
1041 default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1043 config SND_SOC_RT5616
1044 tristate "Realtek RT5616 CODEC"
1047 config SND_SOC_RT5631
1048 tristate "Realtek ALC5631/RT5631 CODEC"
1051 config SND_SOC_RT5640
1054 config SND_SOC_RT5645
1057 config SND_SOC_RT5651
1060 config SND_SOC_RT5659
1063 config SND_SOC_RT5660
1066 config SND_SOC_RT5663
1069 config SND_SOC_RT5665
1072 config SND_SOC_RT5668
1075 config SND_SOC_RT5670
1078 config SND_SOC_RT5677
1083 config SND_SOC_RT5677_SPI
1085 default SND_SOC_RT5677 && SPI
1087 config SND_SOC_RT5682
1090 config SND_SOC_RT700
1093 config SND_SOC_RT700_SDW
1094 tristate "Realtek RT700 Codec - SDW"
1095 depends on SOUNDWIRE
1096 select SND_SOC_RT700
1097 select REGMAP_SOUNDWIRE
1099 config SND_SOC_RT711
1102 config SND_SOC_RT711_SDW
1103 tristate "Realtek RT711 Codec - SDW"
1104 depends on SOUNDWIRE
1105 select SND_SOC_RT711
1106 select REGMAP_SOUNDWIRE
1108 config SND_SOC_RT715
1111 config SND_SOC_RT715_SDW
1112 tristate "Realtek RT715 Codec - SDW"
1113 depends on SOUNDWIRE
1114 select SND_SOC_RT715
1115 select REGMAP_SOUNDWIRE
1117 #Freescale sgtl5000 codec
1118 config SND_SOC_SGTL5000
1119 tristate "Freescale SGTL5000 CODEC"
1122 config SND_SOC_SI476X
1125 config SND_SOC_SIGMADSP
1129 config SND_SOC_SIGMADSP_I2C
1131 select SND_SOC_SIGMADSP
1133 config SND_SOC_SIGMADSP_REGMAP
1135 select SND_SOC_SIGMADSP
1137 config SND_SOC_SIMPLE_AMPLIFIER
1138 tristate "Simple Audio Amplifier"
1141 config SND_SOC_SIRF_AUDIO_CODEC
1142 tristate "SiRF SoC internal audio codec"
1145 config SND_SOC_SPDIF
1146 tristate "S/PDIF CODEC"
1148 config SND_SOC_SSM2305
1149 tristate "Analog Devices SSM2305 Class-D Amplifier"
1151 Enable support for Analog Devices SSM2305 filterless
1152 high-efficiency mono Class-D audio power amplifiers.
1154 config SND_SOC_SSM2518
1157 config SND_SOC_SSM2602
1160 config SND_SOC_SSM2602_SPI
1161 tristate "Analog Devices SSM2602 CODEC - SPI"
1162 depends on SPI_MASTER
1163 select SND_SOC_SSM2602
1166 config SND_SOC_SSM2602_I2C
1167 tristate "Analog Devices SSM2602 CODEC - I2C"
1169 select SND_SOC_SSM2602
1172 config SND_SOC_SSM4567
1173 tristate "Analog Devices ssm4567 amplifier driver support"
1176 config SND_SOC_STA32X
1177 tristate "STA326, STA328 and STA329 speaker amplifier"
1181 config SND_SOC_STA350
1182 tristate "STA350 speaker amplifier"
1185 config SND_SOC_STA529
1188 config SND_SOC_STAC9766
1191 config SND_SOC_STI_SAS
1192 tristate "codec Audio support for STI SAS codec"
1194 config SND_SOC_TAS2552
1195 tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1198 config SND_SOC_TAS2562
1199 tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1202 config SND_SOC_TAS2770
1203 tristate "Texas Instruments TAS2770 speaker amplifier"
1206 config SND_SOC_TAS5086
1207 tristate "Texas Instruments TAS5086 speaker amplifier"
1210 config SND_SOC_TAS571X
1211 tristate "Texas Instruments TAS571x power amplifiers"
1214 Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1215 TAS5719 and TAS5721 power amplifiers
1217 config SND_SOC_TAS5720
1218 tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1221 Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1222 Class-D audio power amplifiers.
1224 config SND_SOC_TAS6424
1225 tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1228 Enable support for Texas Instruments TAS6424 high-efficiency
1229 digital input quad-channel Class-D audio power amplifiers.
1231 config SND_SOC_TDA7419
1232 tristate "ST TDA7419 audio processor"
1236 config SND_SOC_TFA9879
1237 tristate "NXP Semiconductors TFA9879 amplifier"
1240 config SND_SOC_TLV320AIC23
1243 config SND_SOC_TLV320AIC23_I2C
1244 tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1246 select SND_SOC_TLV320AIC23
1248 config SND_SOC_TLV320AIC23_SPI
1249 tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1250 depends on SPI_MASTER
1251 select SND_SOC_TLV320AIC23
1253 config SND_SOC_TLV320AIC26
1257 config SND_SOC_TLV320AIC31XX
1258 tristate "Texas Instruments TLV320AIC31xx CODECs"
1262 config SND_SOC_TLV320AIC32X4
1264 depends on COMMON_CLK
1266 config SND_SOC_TLV320AIC32X4_I2C
1267 tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1269 depends on COMMON_CLK
1270 select SND_SOC_TLV320AIC32X4
1272 config SND_SOC_TLV320AIC32X4_SPI
1273 tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1274 depends on SPI_MASTER
1275 depends on COMMON_CLK
1276 select SND_SOC_TLV320AIC32X4
1278 config SND_SOC_TLV320AIC3X
1279 tristate "Texas Instruments TLV320AIC3x CODECs"
1282 config SND_SOC_TLV320DAC33
1285 config SND_SOC_TS3A227E
1286 tristate "TI Headset/Mic detect and keypress chip"
1289 config SND_SOC_TSCS42XX
1290 tristate "Tempo Semiconductor TSCS42xx CODEC"
1294 Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1296 config SND_SOC_TSCS454
1297 tristate "Tempo Semiconductor TSCS454 CODEC"
1301 Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1303 config SND_SOC_TWL4030
1304 select MFD_TWL4030_AUDIO
1307 config SND_SOC_TWL6040
1310 config SND_SOC_UDA1334
1311 tristate "NXP UDA1334 DAC"
1314 The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1315 and has basic features such as de-emphasis (at 44.1 kHz sampling
1318 config SND_SOC_UDA134X
1321 config SND_SOC_UDA1380
1325 config SND_SOC_WCD9335
1326 tristate "WCD9335 Codec"
1328 select REGMAP_SLIMBUS
1331 The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1332 Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1333 including the MSM8996, MSM8976, and MSM8956 chipsets.
1335 config SND_SOC_WCD934X
1336 tristate "WCD9340/WCD9341 Codec"
1337 depends on MFD_WCD934X
1339 The WCD9340/9341 is a audio codec IC Integrated in
1340 Qualcomm SoCs like SDM845.
1342 config SND_SOC_WL1273
1345 config SND_SOC_WM0010
1348 config SND_SOC_WM1250_EV1
1351 config SND_SOC_WM2000
1354 config SND_SOC_WM2200
1357 config SND_SOC_WM5100
1360 config SND_SOC_WM5102
1363 config SND_SOC_WM5110
1366 config SND_SOC_WM8350
1369 config SND_SOC_WM8400
1372 config SND_SOC_WM8510
1373 tristate "Wolfson Microelectronics WM8510 CODEC"
1374 depends on SND_SOC_I2C_AND_SPI
1376 config SND_SOC_WM8523
1377 tristate "Wolfson Microelectronics WM8523 DAC"
1380 config SND_SOC_WM8524
1381 tristate "Wolfson Microelectronics WM8524 DAC"
1384 config SND_SOC_WM8580
1385 tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1388 config SND_SOC_WM8711
1389 tristate "Wolfson Microelectronics WM8711 CODEC"
1390 depends on SND_SOC_I2C_AND_SPI
1392 config SND_SOC_WM8727
1395 config SND_SOC_WM8728
1396 tristate "Wolfson Microelectronics WM8728 DAC"
1397 depends on SND_SOC_I2C_AND_SPI
1399 config SND_SOC_WM8731
1400 tristate "Wolfson Microelectronics WM8731 CODEC"
1401 depends on SND_SOC_I2C_AND_SPI
1403 config SND_SOC_WM8737
1404 tristate "Wolfson Microelectronics WM8737 ADC"
1405 depends on SND_SOC_I2C_AND_SPI
1407 config SND_SOC_WM8741
1408 tristate "Wolfson Microelectronics WM8737 DAC"
1409 depends on SND_SOC_I2C_AND_SPI
1411 config SND_SOC_WM8750
1412 tristate "Wolfson Microelectronics WM8750 CODEC"
1413 depends on SND_SOC_I2C_AND_SPI
1415 config SND_SOC_WM8753
1416 tristate "Wolfson Microelectronics WM8753 CODEC"
1417 depends on SND_SOC_I2C_AND_SPI
1419 config SND_SOC_WM8770
1420 tristate "Wolfson Microelectronics WM8770 CODEC"
1421 depends on SPI_MASTER
1423 config SND_SOC_WM8776
1424 tristate "Wolfson Microelectronics WM8776 CODEC"
1425 depends on SND_SOC_I2C_AND_SPI
1427 config SND_SOC_WM8782
1428 tristate "Wolfson Microelectronics WM8782 ADC"
1430 config SND_SOC_WM8804
1433 config SND_SOC_WM8804_I2C
1434 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1436 select SND_SOC_WM8804
1439 config SND_SOC_WM8804_SPI
1440 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1441 depends on SPI_MASTER
1442 select SND_SOC_WM8804
1445 config SND_SOC_WM8900
1448 config SND_SOC_WM8903
1449 tristate "Wolfson Microelectronics WM8903 CODEC"
1452 config SND_SOC_WM8904
1453 tristate "Wolfson Microelectronics WM8904 CODEC"
1456 config SND_SOC_WM8940
1459 config SND_SOC_WM8955
1462 config SND_SOC_WM8960
1463 tristate "Wolfson Microelectronics WM8960 CODEC"
1466 config SND_SOC_WM8961
1469 config SND_SOC_WM8962
1470 tristate "Wolfson Microelectronics WM8962 CODEC"
1471 depends on I2C && INPUT
1473 config SND_SOC_WM8971
1476 config SND_SOC_WM8974
1477 tristate "Wolfson Microelectronics WM8974 codec"
1480 config SND_SOC_WM8978
1481 tristate "Wolfson Microelectronics WM8978 codec"
1484 config SND_SOC_WM8983
1487 config SND_SOC_WM8985
1488 tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1489 depends on SND_SOC_I2C_AND_SPI
1491 config SND_SOC_WM8988
1494 config SND_SOC_WM8990
1497 config SND_SOC_WM8991
1500 config SND_SOC_WM8993
1503 config SND_SOC_WM8994
1506 config SND_SOC_WM8995
1509 config SND_SOC_WM8996
1512 config SND_SOC_WM8997
1515 config SND_SOC_WM8998
1518 config SND_SOC_WM9081
1522 config SND_SOC_WM9090
1525 config SND_SOC_WM9705
1528 select AC97_BUS_COMPAT if AC97_BUS_NEW
1530 config SND_SOC_WM9712
1533 select AC97_BUS_COMPAT if AC97_BUS_NEW
1535 config SND_SOC_WM9713
1538 select AC97_BUS_COMPAT if AC97_BUS_NEW
1540 config SND_SOC_WSA881X
1541 tristate "WSA881X Codec"
1542 depends on SOUNDWIRE
1543 select REGMAP_SOUNDWIRE
1546 This enables support for Qualcomm WSA8810/WSA8815 Class-D
1547 Smart Speaker Amplifier.
1549 config SND_SOC_ZX_AUD96P22
1550 tristate "ZTE ZX AUD96P22 CODEC"
1555 config SND_SOC_LM4857
1558 config SND_SOC_MAX9759
1559 tristate "Maxim MAX9759 speaker Amplifier"
1562 config SND_SOC_MAX9768
1565 config SND_SOC_MAX9877
1568 config SND_SOC_MC13783
1571 config SND_SOC_ML26124
1574 config SND_SOC_MT6351
1575 tristate "MediaTek MT6351 Codec"
1577 config SND_SOC_MT6358
1578 tristate "MediaTek MT6358 Codec"
1580 Enable support for the platform which uses MT6358 as
1581 external codec device.
1583 config SND_SOC_MT6660
1584 tristate "Mediatek MT6660 Speaker Amplifier"
1587 MediaTek MT6660 is a smart power amplifier which contain
1588 speaker protection, multi-band DRC, equalizer functions.
1589 Select N if you don't have MT6660 on board.
1590 Select M to build this as module.
1592 config SND_SOC_NAU8540
1593 tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1596 config SND_SOC_NAU8810
1597 tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1600 config SND_SOC_NAU8822
1601 tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1604 config SND_SOC_NAU8824
1605 tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1608 config SND_SOC_NAU8825
1611 config SND_SOC_TPA6130A2
1612 tristate "Texas Instruments TPA6130A2 headphone amplifier"