blob: 175c81c907628a2d8cec9b9a99ebd56339ef53de [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# Helper to resolve issues with configs that have SPI enabled but I2C
2# modular, meaning we can't build the codec driver in with I2C support.
3# We use an ordered list of conditional defaults to pick the appropriate
4# setting - SPI can't be modular so that case doesn't need to be covered.
5config SND_SOC_I2C_AND_SPI
6 tristate
7 default m if I2C=m
8 default y if I2C=y
9 default y if SPI_MASTER=y
10
11menu "CODEC drivers"
12
13config SND_SOC_ALL_CODECS
14 tristate "Build all ASoC CODEC drivers"
15 depends on COMPILE_TEST
16 select SND_SOC_88PM860X if MFD_88PM860X
17 select SND_SOC_L3
18 select SND_SOC_AB8500_CODEC if ABX500_CORE
19 select SND_SOC_AC97_CODEC
20 select SND_SOC_AD1836 if SPI_MASTER
21 select SND_SOC_AD193X_SPI if SPI_MASTER
22 select SND_SOC_AD193X_I2C if I2C
23 select SND_SOC_AD1980 if SND_SOC_AC97_BUS
24 select SND_SOC_AD73311
25 select SND_SOC_ADAU1373 if I2C
26 select SND_SOC_ADAU1761_I2C if I2C
27 select SND_SOC_ADAU1761_SPI if SPI
28 select SND_SOC_ADAU1781_I2C if I2C
29 select SND_SOC_ADAU1781_SPI if SPI
30 select SND_SOC_ADAV801 if SPI_MASTER
31 select SND_SOC_ADAV803 if I2C
32 select SND_SOC_ADAU1977_SPI if SPI_MASTER
33 select SND_SOC_ADAU1977_I2C if I2C
34 select SND_SOC_ADAU1701 if I2C
35 select SND_SOC_ADAU7002
36 select SND_SOC_ADS117X
37 select SND_SOC_AK4104 if SPI_MASTER
38 select SND_SOC_AK4458 if I2C
39 select SND_SOC_AK4535 if I2C
40 select SND_SOC_AK4554
41 select SND_SOC_AK4613 if I2C
42 select SND_SOC_AK4641 if I2C
43 select SND_SOC_AK4642 if I2C
44 select SND_SOC_AK4671 if I2C
45 select SND_SOC_AK4940 if I2C
46 select SND_SOC_AK5386
47 select SND_SOC_AK5558 if I2C
48 select SND_SOC_ALC5623 if I2C
49 select SND_SOC_ALC5632 if I2C
50 select SND_SOC_BT_SCO
51 select SND_SOC_BD28623
52 select SND_SOC_CQ0093VC
53 select SND_SOC_CS35L32 if I2C
54 select SND_SOC_CS35L33 if I2C
55 select SND_SOC_CS35L34 if I2C
56 select SND_SOC_CS35L35 if I2C
57 select SND_SOC_CS42L42 if I2C
58 select SND_SOC_CS42L51_I2C if I2C
59 select SND_SOC_CS42L52 if I2C && INPUT
60 select SND_SOC_CS42L56 if I2C && INPUT
61 select SND_SOC_CS42L73 if I2C
62 select SND_SOC_CS4265 if I2C
63 select SND_SOC_CS4270 if I2C
64 select SND_SOC_CS4271_I2C if I2C
65 select SND_SOC_CS4271_SPI if SPI_MASTER
66 select SND_SOC_CS42XX8_I2C if I2C
67 select SND_SOC_CS43130 if I2C
68 select SND_SOC_CS4349 if I2C
69 select SND_SOC_CS47L24 if MFD_CS47L24
70 select SND_SOC_CS53L30 if I2C
71 select SND_SOC_CX20442 if TTY
72 select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
73 select SND_SOC_DA7213 if I2C
74 select SND_SOC_DA7218 if I2C
75 select SND_SOC_DA7219 if I2C
76 select SND_SOC_DA732X if I2C
77 select SND_SOC_DA9055 if I2C
78 select SND_SOC_DMIC if GPIOLIB
79 select SND_SOC_ES8316 if I2C
80 select SND_SOC_ES8328_SPI if SPI_MASTER
81 select SND_SOC_ES8328_I2C if I2C
82 select SND_SOC_ES7134
83 select SND_SOC_ES7241
84 select SND_SOC_GTM601
85 select SND_SOC_HDAC_HDMI
86 select SND_SOC_ICS43432
87 select SND_SOC_INNO_RK3036
88 select SND_SOC_ISABELLE if I2C
89 select SND_SOC_JZ4740_CODEC
90 select SND_SOC_LM4857 if I2C
91 select SND_SOC_LM49453 if I2C
92 select SND_SOC_MAX98088 if I2C
93 select SND_SOC_MAX98090 if I2C
94 select SND_SOC_MAX98095 if I2C
95 select SND_SOC_MAX98357A if GPIOLIB
96 select SND_SOC_MAX98371 if I2C
97 select SND_SOC_MAX98504 if I2C
98 select SND_SOC_MAX9867 if I2C
99 select SND_SOC_MAX98925 if I2C
100 select SND_SOC_MAX98926 if I2C
101 select SND_SOC_MAX98927 if I2C
102 select SND_SOC_MAX98373 if I2C
103 select SND_SOC_MAX9850 if I2C
104 select SND_SOC_MAX9860 if I2C
105 select SND_SOC_MAX9759
106 select SND_SOC_MAX9768 if I2C
107 select SND_SOC_MAX9877 if I2C
108 select SND_SOC_MC13783 if MFD_MC13XXX
109 select SND_SOC_ML26124 if I2C
110 select SND_SOC_MT6351 if MTK_PMIC_WRAP
111 select SND_SOC_MT6359
112 select SND_SOC_MT6660 if I2C
113 select SND_SOC_NAU8540 if I2C
114 select SND_SOC_NAU8810 if I2C
115 select SND_SOC_NAU8824 if I2C
116 select SND_SOC_NAU8825 if I2C
117 select SND_SOC_HDMI_CODEC
118 select SND_SOC_PCM1681 if I2C
119 select SND_SOC_PCM1789_I2C if I2C
120 select SND_SOC_PCM179X_I2C if I2C
121 select SND_SOC_PCM179X_SPI if SPI_MASTER
122 select SND_SOC_PCM186X_I2C if I2C
123 select SND_SOC_PCM186X_SPI if SPI_MASTER
124 select SND_SOC_PCM3008
125 select SND_SOC_PCM3168A_I2C if I2C
126 select SND_SOC_PCM3168A_SPI if SPI_MASTER
127 select SND_SOC_PCM5102A
128 select SND_SOC_PCM512x_I2C if I2C
129 select SND_SOC_PCM512x_SPI if SPI_MASTER
130 select SND_SOC_RT274 if I2C
131 select SND_SOC_RT286 if I2C
132 select SND_SOC_RT298 if I2C
133 select SND_SOC_RT1305 if I2C
134 select SND_SOC_RT5514 if I2C
135 select SND_SOC_RT5616 if I2C
136 select SND_SOC_RT5631 if I2C
137 select SND_SOC_RT5640 if I2C
138 select SND_SOC_RT5645 if I2C
139 select SND_SOC_RT5651 if I2C
140 select SND_SOC_RT5659 if I2C
141 select SND_SOC_RT5660 if I2C
142 select SND_SOC_RT5663 if I2C
143 select SND_SOC_RT5665 if I2C
144 select SND_SOC_RT5668 if I2C
145 select SND_SOC_RT5670 if I2C
146 select SND_SOC_RT5677 if I2C && SPI_MASTER
147 select SND_SOC_RT5682 if I2C
148 select SND_SOC_SGTL5000 if I2C
149 select SND_SOC_SI476X if MFD_SI476X_CORE
150 select SND_SOC_SIMPLE_AMPLIFIER
151 select SND_SOC_SIRF_AUDIO_CODEC
152 select SND_SOC_SPDIF
153 select SND_SOC_SSM2305
154 select SND_SOC_SSM2518 if I2C
155 select SND_SOC_SSM2602_SPI if SPI_MASTER
156 select SND_SOC_SSM2602_I2C if I2C
157 select SND_SOC_SSM4567 if I2C
158 select SND_SOC_STA32X if I2C
159 select SND_SOC_STA350 if I2C
160 select SND_SOC_STA529 if I2C
161 select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
162 select SND_SOC_STI_SAS
163 select SND_SOC_TAS2552 if I2C
164 select SND_SOC_TAS5086 if I2C
165 select SND_SOC_TAS571X if I2C
166 select SND_SOC_TAS5720 if I2C
167 select SND_SOC_TAS6424 if I2C
168 select SND_SOC_TDA7419 if I2C
169 select SND_SOC_TFA9879 if I2C
170 select SND_SOC_TLV320AIC23_I2C if I2C
171 select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
172 select SND_SOC_TLV320AIC26 if SPI_MASTER
173 select SND_SOC_TLV320AIC31XX if I2C
174 select SND_SOC_TLV320AIC32X4_I2C if I2C
175 select SND_SOC_TLV320AIC32X4_SPI if SPI_MASTER
176 select SND_SOC_TLV320AIC3X if I2C
177 select SND_SOC_TPA6130A2 if I2C
178 select SND_SOC_TLV320DAC33 if I2C
179 select SND_SOC_TSCS42XX if I2C
180 select SND_SOC_TSCS454 if I2C
181 select SND_SOC_TS3A227E if I2C
182 select SND_SOC_TWL4030 if TWL4030_CORE
183 select SND_SOC_TWL6040 if TWL6040_CORE
184 select SND_SOC_UDA134X
185 select SND_SOC_UDA1380 if I2C
186 select SND_SOC_WL1273 if MFD_WL1273_CORE
187 select SND_SOC_WM0010 if SPI_MASTER
188 select SND_SOC_WM1250_EV1 if I2C
189 select SND_SOC_WM2000 if I2C
190 select SND_SOC_WM2200 if I2C
191 select SND_SOC_WM5100 if I2C
192 select SND_SOC_WM5102 if MFD_WM5102
193 select SND_SOC_WM5110 if MFD_WM5110
194 select SND_SOC_WM8350 if MFD_WM8350
195 select SND_SOC_WM8400 if MFD_WM8400
196 select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
197 select SND_SOC_WM8523 if I2C
198 select SND_SOC_WM8524 if GPIOLIB
199 select SND_SOC_WM8580 if I2C
200 select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
201 select SND_SOC_WM8727
202 select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
203 select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
204 select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
205 select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
206 select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
207 select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
208 select SND_SOC_WM8770 if SPI_MASTER
209 select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
210 select SND_SOC_WM8782
211 select SND_SOC_WM8804_I2C if I2C
212 select SND_SOC_WM8804_SPI if SPI_MASTER
213 select SND_SOC_WM8900 if I2C
214 select SND_SOC_WM8903 if I2C
215 select SND_SOC_WM8904 if I2C
216 select SND_SOC_WM8940 if I2C
217 select SND_SOC_WM8955 if I2C
218 select SND_SOC_WM8960 if I2C
219 select SND_SOC_WM8961 if I2C
220 select SND_SOC_WM8962 if I2C && INPUT
221 select SND_SOC_WM8971 if I2C
222 select SND_SOC_WM8974 if I2C
223 select SND_SOC_WM8978 if I2C
224 select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
225 select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
226 select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
227 select SND_SOC_WM8990 if I2C
228 select SND_SOC_WM8991 if I2C
229 select SND_SOC_WM8993 if I2C
230 select SND_SOC_WM8994 if MFD_WM8994
231 select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
232 select SND_SOC_WM8996 if I2C
233 select SND_SOC_WM8997 if MFD_WM8997
234 select SND_SOC_WM8998 if MFD_WM8998
235 select SND_SOC_WM9081 if I2C
236 select SND_SOC_WM9090 if I2C
237 select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
238 select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
239 select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
240 select SND_SOC_PROSLIC
241 help
242 Normally ASoC codec drivers are only built if a machine driver which
243 uses them is also built since they are only usable with a machine
244 driver. Selecting this option will allow these drivers to be built
245 without an explicit machine driver for test and development purposes.
246
247 Support for the bus types used to access the codecs to be built must
248 be selected separately.
249
250 If unsure select "N".
251
252config SND_SOC_88PM860X
253 tristate
254
255config SND_SOC_ARIZONA
256 tristate
257 default y if SND_SOC_CS47L24=y
258 default y if SND_SOC_WM5102=y
259 default y if SND_SOC_WM5110=y
260 default y if SND_SOC_WM8997=y
261 default y if SND_SOC_WM8998=y
262 default m if SND_SOC_CS47L24=m
263 default m if SND_SOC_WM5102=m
264 default m if SND_SOC_WM5110=m
265 default m if SND_SOC_WM8997=m
266 default m if SND_SOC_WM8998=m
267
268config SND_SOC_WM_HUBS
269 tristate
270 default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
271 default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
272
273config SND_SOC_WM_ADSP
274 tristate
275 select SND_SOC_COMPRESS
276 default y if SND_SOC_CS47L24=y
277 default y if SND_SOC_WM5102=y
278 default y if SND_SOC_WM5110=y
279 default y if SND_SOC_WM2200=y
280 default m if SND_SOC_CS47L24=m
281 default m if SND_SOC_WM5102=m
282 default m if SND_SOC_WM5110=m
283 default m if SND_SOC_WM2200=m
284
285config SND_SOC_AB8500_CODEC
286 tristate
287
288config SND_SOC_AC97_CODEC
289 tristate "Build generic ASoC AC97 CODEC driver"
290 select SND_AC97_CODEC
291 select SND_SOC_AC97_BUS
292
293config SND_SOC_AD1836
294 tristate
295
296config SND_SOC_AD193X
297 tristate
298
299config SND_SOC_AD193X_SPI
300 tristate
301 select SND_SOC_AD193X
302
303config SND_SOC_AD193X_I2C
304 tristate
305 select SND_SOC_AD193X
306
307config SND_SOC_AD1980
308 select REGMAP_AC97
309 tristate
310
311config SND_SOC_AD73311
312 tristate
313
314config SND_SOC_ADAU_UTILS
315 tristate
316
317config SND_SOC_ADAU1373
318 tristate
319 select SND_SOC_ADAU_UTILS
320
321config SND_SOC_ADAU1701
322 tristate "Analog Devices ADAU1701 CODEC"
323 depends on I2C
324 select SND_SOC_SIGMADSP_I2C
325
326config SND_SOC_ADAU17X1
327 tristate
328 select SND_SOC_SIGMADSP_REGMAP
329 select SND_SOC_ADAU_UTILS
330
331config SND_SOC_ADAU1761
332 tristate
333 select SND_SOC_ADAU17X1
334
335config SND_SOC_ADAU1761_I2C
336 tristate "Analog Devices AU1761 CODEC - I2C"
337 depends on I2C
338 select SND_SOC_ADAU1761
339 select REGMAP_I2C
340
341config SND_SOC_ADAU1761_SPI
342 tristate "Analog Devices AU1761 CODEC - SPI"
343 depends on SPI
344 select SND_SOC_ADAU1761
345 select REGMAP_SPI
346
347config SND_SOC_ADAU1781
348 select SND_SOC_ADAU17X1
349 tristate
350
351config SND_SOC_ADAU1781_I2C
352 tristate
353 select SND_SOC_ADAU1781
354 select REGMAP_I2C
355
356config SND_SOC_ADAU1781_SPI
357 tristate
358 select SND_SOC_ADAU1781
359 select REGMAP_SPI
360
361config SND_SOC_ADAU1977
362 tristate
363
364config SND_SOC_ADAU1977_SPI
365 tristate
366 select SND_SOC_ADAU1977
367 select REGMAP_SPI
368
369config SND_SOC_ADAU1977_I2C
370 tristate
371 select SND_SOC_ADAU1977
372 select REGMAP_I2C
373
374config SND_SOC_ADAU7002
375 tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
376
377config SND_SOC_ADAV80X
378 tristate
379
380config SND_SOC_ADAV801
381 tristate
382 select SND_SOC_ADAV80X
383
384config SND_SOC_ADAV803
385 tristate
386 select SND_SOC_ADAV80X
387
388config SND_SOC_ADS117X
389 tristate
390
391config SND_SOC_AK4104
392 tristate "AKM AK4104 CODEC"
393 depends on SPI_MASTER
394
395config SND_SOC_AK4458
396 tristate "AKM AK4458 CODEC"
397 depends on I2C
398 select REGMAP_I2C
399
400config SND_SOC_AK4535
401 tristate
402
403config SND_SOC_AK4554
404 tristate "AKM AK4554 CODEC"
405
406config SND_SOC_AK4613
407 tristate "AKM AK4613 CODEC"
408 depends on I2C
409
410config SND_SOC_AK4641
411 tristate
412
413config SND_SOC_AK4642
414 tristate "AKM AK4642 CODEC"
415 depends on I2C
416
417config SND_SOC_AK4671
418 tristate
419
420config SND_SOC_AK4940
421 tristate "AKM AK4940 CODEC"
422 depends on I2C
423
424config SND_SOC_AK5386
425 tristate "AKM AK5638 CODEC"
426
427config SND_SOC_AK5558
428 tristate "AKM AK5558 CODEC"
429 depends on I2C
430 select REGMAP_I2C
431
432config SND_SOC_ALC5623
433 tristate "Realtek ALC5623 CODEC"
434 depends on I2C
435
436config SND_SOC_ALC5632
437 tristate
438
439config SND_SOC_BD28623
440 tristate "ROHM BD28623 CODEC"
441 help
442 Enable support for ROHM BD28623MUV Class D speaker amplifier.
443 This codec does not have any control buses such as I2C, it
444 detect format of I2S automatically.
445
446config SND_SOC_BT_SCO
447 tristate "Dummy BT SCO codec driver"
448
449config SND_SOC_CPCAP
450 tristate "Motorola CPCAP codec"
451 depends on MFD_CPCAP
452
453config SND_SOC_CQ0093VC
454 tristate
455
456config SND_SOC_CS35L32
457 tristate "Cirrus Logic CS35L32 CODEC"
458 depends on I2C
459
460config SND_SOC_CS35L33
461 tristate "Cirrus Logic CS35L33 CODEC"
462 depends on I2C
463
464config SND_SOC_CS35L34
465 tristate "Cirrus Logic CS35L34 CODEC"
466 depends on I2C
467
468config SND_SOC_CS35L35
469 tristate "Cirrus Logic CS35L35 CODEC"
470 depends on I2C
471
472config SND_SOC_CS42L42
473 tristate "Cirrus Logic CS42L42 CODEC"
474 depends on I2C
475
476config SND_SOC_CS42L51
477 tristate
478
479config SND_SOC_CS42L51_I2C
480 tristate "Cirrus Logic CS42L51 CODEC (I2C)"
481 depends on I2C
482 select SND_SOC_CS42L51
483
484config SND_SOC_CS42L52
485 tristate "Cirrus Logic CS42L52 CODEC"
486 depends on I2C && INPUT
487
488config SND_SOC_CS42L56
489 tristate "Cirrus Logic CS42L56 CODEC"
490 depends on I2C && INPUT
491
492config SND_SOC_CS42L73
493 tristate "Cirrus Logic CS42L73 CODEC"
494 depends on I2C
495
496config SND_SOC_CS4265
497 tristate "Cirrus Logic CS4265 CODEC"
498 depends on I2C
499 select REGMAP_I2C
500
501# Cirrus Logic CS4270 Codec
502config SND_SOC_CS4270
503 tristate "Cirrus Logic CS4270 CODEC"
504 depends on I2C
505
506# Cirrus Logic CS4270 Codec VD = 3.3V Errata
507# Select if you are affected by the errata where the part will not function
508# if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will
509# not select any sample rates that require MCLK to be divided by 1.5.
510config SND_SOC_CS4270_VD33_ERRATA
511 bool
512 depends on SND_SOC_CS4270
513
514config SND_SOC_CS4271
515 tristate
516
517config SND_SOC_CS4271_I2C
518 tristate "Cirrus Logic CS4271 CODEC (I2C)"
519 depends on I2C
520 select SND_SOC_CS4271
521 select REGMAP_I2C
522
523config SND_SOC_CS4271_SPI
524 tristate "Cirrus Logic CS4271 CODEC (SPI)"
525 depends on SPI_MASTER
526 select SND_SOC_CS4271
527 select REGMAP_SPI
528
529config SND_SOC_CS42XX8
530 tristate
531
532config SND_SOC_CS42XX8_I2C
533 tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
534 depends on I2C
535 select SND_SOC_CS42XX8
536 select REGMAP_I2C
537
538# Cirrus Logic CS43130 HiFi DAC
539config SND_SOC_CS43130
540 tristate "Cirrus Logic CS43130 CODEC"
541 depends on I2C
542
543# Cirrus Logic CS4349 HiFi DAC
544config SND_SOC_CS4349
545 tristate "Cirrus Logic CS4349 CODEC"
546 depends on I2C
547
548config SND_SOC_CS47L24
549 tristate
550
551# Cirrus Logic Quad-Channel ADC
552config SND_SOC_CS53L30
553 tristate "Cirrus Logic CS53L30 CODEC"
554 depends on I2C
555
556config SND_SOC_CX20442
557 tristate
558 depends on TTY
559
560config SND_SOC_JZ4740_CODEC
561 select REGMAP_MMIO
562 tristate
563
564config SND_SOC_L3
565 tristate
566
567config SND_SOC_DA7210
568 tristate
569
570config SND_SOC_DA7213
571 tristate
572
573config SND_SOC_DA7218
574 tristate
575
576config SND_SOC_DA7219
577 tristate
578
579config SND_SOC_DA732X
580 tristate
581
582config SND_SOC_DA9055
583 tristate
584
585config SND_SOC_DMIC
586 tristate
587
588config SND_SOC_HDMI_CODEC
589 tristate
590 select SND_PCM_ELD
591 select SND_PCM_IEC958
592 select HDMI
593
594config SND_SOC_ES7134
595 tristate "Everest Semi ES7134 CODEC"
596
597config SND_SOC_ES7241
598 tristate "Everest Semi ES7241 CODEC"
599
600config SND_SOC_ES8316
601 tristate "Everest Semi ES8316 CODEC"
602 depends on I2C
603
604config SND_SOC_ES8328
605 tristate
606
607config SND_SOC_ES8328_I2C
608 tristate "Everest Semi ES8328 CODEC (I2C)"
609 depends on I2C
610 select SND_SOC_ES8328
611
612config SND_SOC_ES8328_SPI
613 tristate "Everest Semi ES8328 CODEC (SPI)"
614 depends on SPI_MASTER
615 select SND_SOC_ES8328
616
617config SND_SOC_GTM601
618 tristate 'GTM601 UMTS modem audio codec'
619
620config SND_SOC_HDAC_HDMI
621 tristate
622 select SND_HDA_EXT_CORE
623 select SND_PCM_ELD
624 select HDMI
625
626config SND_SOC_ICS43432
627 tristate
628
629config SND_SOC_INNO_RK3036
630 tristate "Inno codec driver for RK3036 SoC"
631 select REGMAP_MMIO
632
633config SND_SOC_ISABELLE
634 tristate
635
636config SND_SOC_LM49453
637 tristate
638
639config SND_SOC_MAX98088
640 tristate
641
642config SND_SOC_MAX98090
643 tristate
644
645config SND_SOC_MAX98095
646 tristate
647
648config SND_SOC_MAX98357A
649 tristate
650
651config SND_SOC_MAX98371
652 tristate
653
654config SND_SOC_MAX98504
655 tristate "Maxim MAX98504 speaker amplifier"
656 depends on I2C
657
658config SND_SOC_MAX9867
659 tristate "Maxim MAX9867 CODEC"
660 depends on I2C
661
662config SND_SOC_MAX98925
663 tristate
664
665config SND_SOC_MAX98926
666 tristate
667
668config SND_SOC_MAX98927
669 tristate "Maxim Integrated MAX98927 Speaker Amplifier"
670 depends on I2C
671
672config SND_SOC_MAX98373
673 tristate "Maxim Integrated MAX98373 Speaker Amplifier"
674 depends on I2C
675
676config SND_SOC_MAX9850
677 tristate
678
679config SND_SOC_MAX9860
680 tristate "Maxim MAX9860 Mono Audio Voice Codec"
681 depends on I2C
682 select REGMAP_I2C
683
684config SND_SOC_MSM8916_WCD_ANALOG
685 tristate "Qualcomm MSM8916 WCD Analog Codec"
686 depends on SPMI || COMPILE_TEST
687
688config SND_SOC_MSM8916_WCD_DIGITAL
689 tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
690
691config SND_SOC_PCM1681
692 tristate "Texas Instruments PCM1681 CODEC"
693 depends on I2C
694
695config SND_SOC_PCM1789
696 tristate
697
698config SND_SOC_PCM1789_I2C
699 tristate "Texas Instruments PCM1789 CODEC (I2C)"
700 depends on I2C
701 select SND_SOC_PCM1789
702 help
703 Enable support for Texas Instruments PCM1789 CODEC.
704 Select this if your PCM1789 is connected via an I2C bus.
705
706config SND_SOC_PCM179X
707 tristate
708
709config SND_SOC_PCM179X_I2C
710 tristate "Texas Instruments PCM179X CODEC (I2C)"
711 depends on I2C
712 select SND_SOC_PCM179X
713 help
714 Enable support for Texas Instruments PCM179x CODEC.
715 Select this if your PCM179x is connected via an I2C bus.
716
717config SND_SOC_PCM179X_SPI
718 tristate "Texas Instruments PCM179X CODEC (SPI)"
719 depends on SPI_MASTER
720 select SND_SOC_PCM179X
721 help
722 Enable support for Texas Instruments PCM179x CODEC.
723 Select this if your PCM179x is connected via an SPI bus.
724
725config SND_SOC_PCM186X
726 tristate
727
728config SND_SOC_PCM186X_I2C
729 tristate "Texas Instruments PCM186x CODECs - I2C"
730 depends on I2C
731 select SND_SOC_PCM186X
732 select REGMAP_I2C
733
734config SND_SOC_PCM186X_SPI
735 tristate "Texas Instruments PCM186x CODECs - SPI"
736 depends on SPI_MASTER
737 select SND_SOC_PCM186X
738 select REGMAP_SPI
739
740config SND_SOC_PCM3008
741 tristate
742
743config SND_SOC_PCM3168A
744 tristate
745
746config SND_SOC_PCM3168A_I2C
747 tristate "Texas Instruments PCM3168A CODEC - I2C"
748 depends on I2C
749 select SND_SOC_PCM3168A
750 select REGMAP_I2C
751
752config SND_SOC_PCM3168A_SPI
753 tristate "Texas Instruments PCM3168A CODEC - SPI"
754 depends on SPI_MASTER
755 select SND_SOC_PCM3168A
756 select REGMAP_SPI
757
758config SND_SOC_PCM5102A
759 tristate
760
761config SND_SOC_PCM512x
762 tristate
763
764config SND_SOC_PCM512x_I2C
765 tristate "Texas Instruments PCM512x CODECs - I2C"
766 depends on I2C
767 select SND_SOC_PCM512x
768 select REGMAP_I2C
769
770config SND_SOC_PCM512x_SPI
771 tristate "Texas Instruments PCM512x CODECs - SPI"
772 depends on SPI_MASTER
773 select SND_SOC_PCM512x
774 select REGMAP_SPI
775
776config SND_SOC_RL6231
777 tristate
778 default y if SND_SOC_RT5514=y
779 default y if SND_SOC_RT5616=y
780 default y if SND_SOC_RT5640=y
781 default y if SND_SOC_RT5645=y
782 default y if SND_SOC_RT5651=y
783 default y if SND_SOC_RT5659=y
784 default y if SND_SOC_RT5660=y
785 default y if SND_SOC_RT5663=y
786 default y if SND_SOC_RT5665=y
787 default y if SND_SOC_RT5668=y
788 default y if SND_SOC_RT5670=y
789 default y if SND_SOC_RT5677=y
790 default y if SND_SOC_RT5682=y
791 default y if SND_SOC_RT1305=y
792 default m if SND_SOC_RT5514=m
793 default m if SND_SOC_RT5616=m
794 default m if SND_SOC_RT5640=m
795 default m if SND_SOC_RT5645=m
796 default m if SND_SOC_RT5651=m
797 default m if SND_SOC_RT5659=m
798 default m if SND_SOC_RT5660=m
799 default m if SND_SOC_RT5663=m
800 default m if SND_SOC_RT5665=m
801 default m if SND_SOC_RT5668=m
802 default m if SND_SOC_RT5670=m
803 default m if SND_SOC_RT5677=m
804 default m if SND_SOC_RT5682=m
805 default m if SND_SOC_RT1305=m
806
807config SND_SOC_RL6347A
808 tristate
809 default y if SND_SOC_RT274=y
810 default y if SND_SOC_RT286=y
811 default y if SND_SOC_RT298=y
812 default m if SND_SOC_RT274=m
813 default m if SND_SOC_RT286=m
814 default m if SND_SOC_RT298=m
815
816config SND_SOC_RT274
817 tristate
818 depends on I2C
819
820config SND_SOC_RT286
821 tristate
822 depends on I2C
823
824config SND_SOC_RT298
825 tristate
826 depends on I2C
827
828config SND_SOC_RT1305
829 tristate
830
831config SND_SOC_RT5514
832 tristate
833
834config SND_SOC_RT5514_SPI
835 tristate
836
837config SND_SOC_RT5514_SPI_BUILTIN
838 bool # force RT5514_SPI to be built-in to avoid link errors
839 default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
840
841config SND_SOC_RT5616
842 tristate "Realtek RT5616 CODEC"
843 depends on I2C
844
845config SND_SOC_RT5631
846 tristate "Realtek ALC5631/RT5631 CODEC"
847 depends on I2C
848
849config SND_SOC_RT5640
850 tristate
851
852config SND_SOC_RT5645
853 tristate
854
855config SND_SOC_RT5651
856 tristate
857
858config SND_SOC_RT5659
859 tristate
860
861config SND_SOC_RT5660
862 tristate
863
864config SND_SOC_RT5663
865 tristate
866
867config SND_SOC_RT5665
868 tristate
869
870config SND_SOC_RT5668
871 tristate
872
873config SND_SOC_RT5670
874 tristate
875
876config SND_SOC_RT5677
877 tristate
878 select REGMAP_I2C
879 select REGMAP_IRQ
880
881config SND_SOC_RT5677_SPI
882 tristate
883 default SND_SOC_RT5677 && SPI
884
885config SND_SOC_RT5682
886 tristate
887
888#Freescale sgtl5000 codec
889config SND_SOC_SGTL5000
890 tristate "Freescale SGTL5000 CODEC"
891 depends on I2C
892
893config SND_SOC_SI476X
894 tristate
895
896config SND_SOC_SIGMADSP
897 tristate
898 select CRC32
899
900config SND_SOC_SIGMADSP_I2C
901 tristate
902 select SND_SOC_SIGMADSP
903
904config SND_SOC_SIGMADSP_REGMAP
905 tristate
906 select SND_SOC_SIGMADSP
907
908config SND_SOC_SIMPLE_AMPLIFIER
909 tristate "Simple Audio Amplifier"
910 select GPIOLIB
911
912config SND_SOC_SIRF_AUDIO_CODEC
913 tristate "SiRF SoC internal audio codec"
914 select REGMAP_MMIO
915
916config SND_SOC_SPDIF
917 tristate "S/PDIF CODEC"
918
919config SND_SOC_SSM2305
920 tristate "Analog Devices SSM2305 Class-D Amplifier"
921 help
922 Enable support for Analog Devices SSM2305 filterless
923 high-efficiency mono Class-D audio power amplifiers.
924
925config SND_SOC_SSM2518
926 tristate
927
928config SND_SOC_SSM2602
929 tristate
930
931config SND_SOC_SSM2602_SPI
932 tristate "Analog Devices SSM2602 CODEC - SPI"
933 depends on SPI_MASTER
934 select SND_SOC_SSM2602
935 select REGMAP_SPI
936
937config SND_SOC_SSM2602_I2C
938 tristate "Analog Devices SSM2602 CODEC - I2C"
939 depends on I2C
940 select SND_SOC_SSM2602
941 select REGMAP_I2C
942
943config SND_SOC_SSM4567
944 tristate "Analog Devices ssm4567 amplifier driver support"
945 depends on I2C
946
947config SND_SOC_STA32X
948 tristate "STA326, STA328 and STA329 speaker amplifier"
949 depends on I2C
950 select REGMAP_I2C
951
952config SND_SOC_STA350
953 tristate "STA350 speaker amplifier"
954 depends on I2C
955
956config SND_SOC_STA529
957 tristate
958
959config SND_SOC_STAC9766
960 tristate
961
962config SND_SOC_STI_SAS
963 tristate "codec Audio support for STI SAS codec"
964
965config SND_SOC_TAS2552
966 tristate "Texas Instruments TAS2552 Mono Audio amplifier"
967 depends on I2C
968
969config SND_SOC_TAS5086
970 tristate "Texas Instruments TAS5086 speaker amplifier"
971 depends on I2C
972
973config SND_SOC_TAS571X
974 tristate "Texas Instruments TAS571x power amplifiers"
975 depends on I2C
976 help
977 Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
978 TAS5719 and TAS5721 power amplifiers
979
980config SND_SOC_TAS5720
981 tristate "Texas Instruments TAS5720 Mono Audio amplifier"
982 depends on I2C
983 help
984 Enable support for Texas Instruments TAS5720L/M high-efficiency mono
985 Class-D audio power amplifiers.
986
987config SND_SOC_TAS6424
988 tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
989 depends on I2C
990 help
991 Enable support for Texas Instruments TAS6424 high-efficiency
992 digital input quad-channel Class-D audio power amplifiers.
993
994config SND_SOC_TDA7419
995 tristate "ST TDA7419 audio processor"
996 depends on I2C
997 select REGMAP_I2C
998
999config SND_SOC_TFA9879
1000 tristate "NXP Semiconductors TFA9879 amplifier"
1001 depends on I2C
1002
1003config SND_SOC_TLV320AIC23
1004 tristate
1005
1006config SND_SOC_TLV320AIC23_I2C
1007 tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1008 depends on I2C
1009 select SND_SOC_TLV320AIC23
1010
1011config SND_SOC_TLV320AIC23_SPI
1012 tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1013 depends on SPI_MASTER
1014 select SND_SOC_TLV320AIC23
1015
1016config SND_SOC_TLV320AIC26
1017 tristate
1018 depends on SPI
1019
1020config SND_SOC_TLV320AIC31XX
1021 tristate "Texas Instruments TLV320AIC31xx CODECs"
1022 depends on I2C
1023 select REGMAP_I2C
1024
1025config SND_SOC_TLV320AIC32X4
1026 tristate
1027
1028config SND_SOC_TLV320AIC32X4_I2C
1029 tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1030 depends on I2C
1031 select SND_SOC_TLV320AIC32X4
1032
1033config SND_SOC_TLV320AIC32X4_SPI
1034 tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1035 depends on SPI_MASTER
1036 select SND_SOC_TLV320AIC32X4
1037
1038config SND_SOC_TLV320AIC3X
1039 tristate "Texas Instruments TLV320AIC3x CODECs"
1040 depends on I2C
1041
1042config SND_SOC_TLV320DAC33
1043 tristate
1044
1045config SND_SOC_TS3A227E
1046 tristate "TI Headset/Mic detect and keypress chip"
1047 depends on I2C
1048
1049config SND_SOC_TSCS42XX
1050 tristate "Tempo Semiconductor TSCS42xx CODEC"
1051 depends on I2C
1052 select REGMAP_I2C
1053 help
1054 Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1055
1056config SND_SOC_TSCS454
1057 tristate "Tempo Semiconductor TSCS454 CODEC"
1058 depends on I2C
1059 select REGMAP_I2C
1060 help
1061 Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1062
1063config SND_SOC_TWL4030
1064 select MFD_TWL4030_AUDIO
1065 tristate
1066
1067config SND_SOC_TWL6040
1068 tristate
1069
1070config SND_SOC_UDA134X
1071 tristate
1072
1073config SND_SOC_UDA1380
1074 tristate
1075 depends on I2C
1076
1077config SND_SOC_WL1273
1078 tristate
1079
1080config SND_SOC_WM0010
1081 tristate
1082
1083config SND_SOC_WM1250_EV1
1084 tristate
1085
1086config SND_SOC_WM2000
1087 tristate
1088
1089config SND_SOC_WM2200
1090 tristate
1091
1092config SND_SOC_WM5100
1093 tristate
1094
1095config SND_SOC_WM5102
1096 tristate
1097
1098config SND_SOC_WM5110
1099 tristate
1100
1101config SND_SOC_WM8350
1102 tristate
1103
1104config SND_SOC_WM8400
1105 tristate
1106
1107config SND_SOC_WM8510
1108 tristate "Wolfson Microelectronics WM8510 CODEC"
1109 depends on SND_SOC_I2C_AND_SPI
1110
1111config SND_SOC_WM8523
1112 tristate "Wolfson Microelectronics WM8523 DAC"
1113 depends on I2C
1114
1115config SND_SOC_WM8524
1116 tristate "Wolfson Microelectronics WM8524 DAC"
1117 depends on GPIOLIB
1118
1119config SND_SOC_WM8580
1120 tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1121 depends on I2C
1122
1123config SND_SOC_WM8711
1124 tristate "Wolfson Microelectronics WM8711 CODEC"
1125 depends on SND_SOC_I2C_AND_SPI
1126
1127config SND_SOC_WM8727
1128 tristate
1129
1130config SND_SOC_WM8728
1131 tristate "Wolfson Microelectronics WM8728 DAC"
1132 depends on SND_SOC_I2C_AND_SPI
1133
1134config SND_SOC_WM8731
1135 tristate "Wolfson Microelectronics WM8731 CODEC"
1136 depends on SND_SOC_I2C_AND_SPI
1137
1138config SND_SOC_WM8737
1139 tristate "Wolfson Microelectronics WM8737 ADC"
1140 depends on SND_SOC_I2C_AND_SPI
1141
1142config SND_SOC_WM8741
1143 tristate "Wolfson Microelectronics WM8737 DAC"
1144 depends on SND_SOC_I2C_AND_SPI
1145
1146config SND_SOC_WM8750
1147 tristate "Wolfson Microelectronics WM8750 CODEC"
1148 depends on SND_SOC_I2C_AND_SPI
1149
1150config SND_SOC_WM8753
1151 tristate "Wolfson Microelectronics WM8753 CODEC"
1152 depends on SND_SOC_I2C_AND_SPI
1153
1154config SND_SOC_WM8770
1155 tristate "Wolfson Microelectronics WM8770 CODEC"
1156 depends on SPI_MASTER
1157
1158config SND_SOC_WM8776
1159 tristate "Wolfson Microelectronics WM8776 CODEC"
1160 depends on SND_SOC_I2C_AND_SPI
1161
1162config SND_SOC_WM8782
1163 tristate "Wolfson Microelectronics WM8782 ADC"
1164
1165config SND_SOC_WM8804
1166 tristate
1167
1168config SND_SOC_WM8804_I2C
1169 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1170 depends on I2C
1171 select SND_SOC_WM8804
1172 select REGMAP_I2C
1173
1174config SND_SOC_WM8804_SPI
1175 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1176 depends on SPI_MASTER
1177 select SND_SOC_WM8804
1178 select REGMAP_SPI
1179
1180config SND_SOC_WM8900
1181 tristate
1182
1183config SND_SOC_WM8903
1184 tristate "Wolfson Microelectronics WM8903 CODEC"
1185 depends on I2C
1186
1187config SND_SOC_WM8904
1188 tristate
1189
1190config SND_SOC_WM8940
1191 tristate
1192
1193config SND_SOC_WM8955
1194 tristate
1195
1196config SND_SOC_WM8960
1197 tristate "Wolfson Microelectronics WM8960 CODEC"
1198 depends on I2C
1199
1200config SND_SOC_WM8961
1201 tristate
1202
1203config SND_SOC_WM8962
1204 tristate "Wolfson Microelectronics WM8962 CODEC"
1205 depends on I2C && INPUT
1206
1207config SND_SOC_WM8971
1208 tristate
1209
1210config SND_SOC_WM8974
1211 tristate "Wolfson Microelectronics WM8974 codec"
1212 depends on I2C
1213
1214config SND_SOC_WM8978
1215 tristate "Wolfson Microelectronics WM8978 codec"
1216 depends on I2C
1217
1218config SND_SOC_WM8983
1219 tristate
1220
1221config SND_SOC_WM8985
1222 tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1223 depends on SND_SOC_I2C_AND_SPI
1224
1225config SND_SOC_WM8988
1226 tristate
1227
1228config SND_SOC_WM8990
1229 tristate
1230
1231config SND_SOC_WM8991
1232 tristate
1233
1234config SND_SOC_WM8993
1235 tristate
1236
1237config SND_SOC_WM8994
1238 tristate
1239
1240config SND_SOC_WM8995
1241 tristate
1242
1243config SND_SOC_WM8996
1244 tristate
1245
1246config SND_SOC_WM8997
1247 tristate
1248
1249config SND_SOC_WM8998
1250 tristate
1251
1252config SND_SOC_WM9081
1253 tristate
1254 depends on I2C
1255
1256config SND_SOC_WM9090
1257 tristate
1258
1259config SND_SOC_WM9705
1260 tristate
1261 select REGMAP_AC97
1262 select AC97_BUS_COMPAT if AC97_BUS_NEW
1263
1264config SND_SOC_WM9712
1265 tristate
1266 select REGMAP_AC97
1267 select AC97_BUS_COMPAT if AC97_BUS_NEW
1268
1269config SND_SOC_WM9713
1270 tristate
1271 select REGMAP_AC97
1272 select AC97_BUS_COMPAT if AC97_BUS_NEW
1273
1274config SND_SOC_ZX_AUD96P22
1275 tristate "ZTE ZX AUD96P22 CODEC"
1276 depends on I2C
1277 select REGMAP_I2C
1278
1279# Amp
1280config SND_SOC_LM4857
1281 tristate
1282
1283config SND_SOC_MAX9759
1284 tristate "Maxim MAX9759 speaker Amplifier"
1285 select GPIOLIB
1286
1287config SND_SOC_MAX9768
1288 tristate
1289
1290config SND_SOC_MAX9877
1291 tristate
1292
1293config SND_SOC_MC13783
1294 tristate
1295
1296config SND_SOC_ML26124
1297 tristate
1298
1299config SND_SOC_MT6351
1300 tristate "MediaTek MT6351 Codec"
1301
1302config SND_SOC_MT6359
1303 tristate "MediaTek MT6359 Codec driver"
1304 help
1305 MediaTek MT6359 is a codec which contain
1306 three ADC for uplink path(MICs), and
1307 three DAC for downlink path(handset,
1308 headset, lineout).
1309
1310config SND_SOC_MT6359_ACCDET
1311 tristate "MediaTek MT6359 ACCDET driver"
1312 default m
1313 help
1314 ACCDET means Accessory Detection technology, MediaTek develop it
1315 for ASoC codec soc-jack detection mechanism.
1316 Select N if you don't have jack on board.
1317
1318config SND_SOC_MT6660
1319 tristate "Mediatek MT6660 speaker amplifier"
1320 depends on I2C
1321 select CRC32
1322 select CRYPTO_SHA256
1323 select CRYPTO_RSA
1324 help
1325 MediaTek MT6660 is a smart power amplifier which contain
1326 speaker protection, multi-band DRC, equalizer functions.
1327 Select N if you don't have MT6660 on board.
1328 Select M to build this as module.
1329
1330config SND_SOC_NAU8540
1331 tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1332 depends on I2C
1333
1334config SND_SOC_NAU8810
1335 tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1336 depends on I2C
1337
1338config SND_SOC_NAU8824
1339 tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1340 depends on I2C
1341
1342config SND_SOC_NAU8825
1343 tristate
1344
1345config SND_SOC_TPA6130A2
1346 tristate "Texas Instruments TPA6130A2 headphone amplifier"
1347 depends on I2C
1348
1349config SND_SOC_PROSLIC
1350 tristate "Proslic chip"
1351
1352endmenu