]> git.karo-electronics.de Git - karo-tx-linux.git/blob - sound/soc/codecs/Kconfig
ASoC: Add ADAU1381/ADAU1781 audio CODEC support
[karo-tx-linux.git] / sound / soc / codecs / Kconfig
1 # 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.
5 config 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
11 menu "CODEC drivers"
12
13 config 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 if SND_SOC_AC97_BUS
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_ADS117X
36         select SND_SOC_AK4104 if SPI_MASTER
37         select SND_SOC_AK4535 if I2C
38         select SND_SOC_AK4554
39         select SND_SOC_AK4641 if I2C
40         select SND_SOC_AK4642 if I2C
41         select SND_SOC_AK4671 if I2C
42         select SND_SOC_AK5386
43         select SND_SOC_ALC5623 if I2C
44         select SND_SOC_ALC5632 if I2C
45         select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
46         select SND_SOC_CS42L51 if I2C
47         select SND_SOC_CS42L52 if I2C
48         select SND_SOC_CS42L73 if I2C
49         select SND_SOC_CS4270 if I2C
50         select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
51         select SND_SOC_CS42XX8_I2C if I2C
52         select SND_SOC_CX20442 if TTY
53         select SND_SOC_DA7210 if I2C
54         select SND_SOC_DA7213 if I2C
55         select SND_SOC_DA732X if I2C
56         select SND_SOC_DA9055 if I2C
57         select SND_SOC_BT_SCO
58         select SND_SOC_ISABELLE if I2C
59         select SND_SOC_JZ4740_CODEC
60         select SND_SOC_LM4857 if I2C
61         select SND_SOC_LM49453 if I2C
62         select SND_SOC_MAX98088 if I2C
63         select SND_SOC_MAX98090 if I2C
64         select SND_SOC_MAX98095 if I2C
65         select SND_SOC_MAX9850 if I2C
66         select SND_SOC_MAX9768 if I2C
67         select SND_SOC_MAX9877 if I2C
68         select SND_SOC_MC13783 if MFD_MC13XXX
69         select SND_SOC_ML26124 if I2C
70         select SND_SOC_HDMI_CODEC
71         select SND_SOC_PCM1681 if I2C
72         select SND_SOC_PCM1792A if SPI_MASTER
73         select SND_SOC_PCM3008
74         select SND_SOC_PCM512x_I2C if I2C
75         select SND_SOC_PCM512x_SPI if SPI_MASTER
76         select SND_SOC_RT5631 if I2C
77         select SND_SOC_RT5640 if I2C
78         select SND_SOC_SGTL5000 if I2C
79         select SND_SOC_SI476X if MFD_SI476X_CORE
80         select SND_SOC_SIRF_AUDIO_CODEC
81         select SND_SOC_SN95031 if INTEL_SCU_IPC
82         select SND_SOC_SPDIF
83         select SND_SOC_SSM2518 if I2C
84         select SND_SOC_SSM2602_SPI if SPI_MASTER
85         select SND_SOC_SSM2602_I2C if I2C
86         select SND_SOC_STA32X if I2C
87         select SND_SOC_STA529 if I2C
88         select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
89         select SND_SOC_TAS5086 if I2C
90         select SND_SOC_TLV320AIC23_I2C if I2C
91         select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
92         select SND_SOC_TLV320AIC26 if SPI_MASTER
93         select SND_SOC_TLV320AIC31XX if I2C
94         select SND_SOC_TLV320AIC32X4 if I2C
95         select SND_SOC_TLV320AIC3X if I2C
96         select SND_SOC_TPA6130A2 if I2C
97         select SND_SOC_TLV320DAC33 if I2C
98         select SND_SOC_TWL4030 if TWL4030_CORE
99         select SND_SOC_TWL6040 if TWL6040_CORE
100         select SND_SOC_UDA134X
101         select SND_SOC_UDA1380 if I2C
102         select SND_SOC_WL1273 if MFD_WL1273_CORE
103         select SND_SOC_WM0010 if SPI_MASTER
104         select SND_SOC_WM1250_EV1 if I2C
105         select SND_SOC_WM2000 if I2C
106         select SND_SOC_WM2200 if I2C
107         select SND_SOC_WM5100 if I2C
108         select SND_SOC_WM5102 if MFD_WM5102
109         select SND_SOC_WM5110 if MFD_WM5110
110         select SND_SOC_WM8350 if MFD_WM8350
111         select SND_SOC_WM8400 if MFD_WM8400
112         select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
113         select SND_SOC_WM8523 if I2C
114         select SND_SOC_WM8580 if I2C
115         select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
116         select SND_SOC_WM8727
117         select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
118         select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
119         select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
120         select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
121         select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
122         select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
123         select SND_SOC_WM8770 if SPI_MASTER
124         select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
125         select SND_SOC_WM8782
126         select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
127         select SND_SOC_WM8900 if I2C
128         select SND_SOC_WM8903 if I2C
129         select SND_SOC_WM8904 if I2C
130         select SND_SOC_WM8940 if I2C
131         select SND_SOC_WM8955 if I2C
132         select SND_SOC_WM8960 if I2C
133         select SND_SOC_WM8961 if I2C
134         select SND_SOC_WM8962 if I2C
135         select SND_SOC_WM8971 if I2C
136         select SND_SOC_WM8974 if I2C
137         select SND_SOC_WM8978 if I2C
138         select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
139         select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
140         select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
141         select SND_SOC_WM8990 if I2C
142         select SND_SOC_WM8991 if I2C
143         select SND_SOC_WM8993 if I2C
144         select SND_SOC_WM8994 if MFD_WM8994
145         select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
146         select SND_SOC_WM8996 if I2C
147         select SND_SOC_WM8997 if MFD_WM8997
148         select SND_SOC_WM9081 if I2C
149         select SND_SOC_WM9090 if I2C
150         select SND_SOC_WM9705 if SND_SOC_AC97_BUS
151         select SND_SOC_WM9712 if SND_SOC_AC97_BUS
152         select SND_SOC_WM9713 if SND_SOC_AC97_BUS
153         help
154           Normally ASoC codec drivers are only built if a machine driver which
155           uses them is also built since they are only usable with a machine
156           driver.  Selecting this option will allow these drivers to be built
157           without an explicit machine driver for test and development purposes.
158
159           Support for the bus types used to access the codecs to be built must
160           be selected separately.
161
162           If unsure select "N".
163
164 config SND_SOC_88PM860X
165         tristate
166
167 config SND_SOC_ARIZONA
168         tristate
169         default y if SND_SOC_WM5102=y
170         default y if SND_SOC_WM5110=y
171         default y if SND_SOC_WM8997=y
172         default m if SND_SOC_WM5102=m
173         default m if SND_SOC_WM5110=m
174         default m if SND_SOC_WM8997=m
175
176 config SND_SOC_WM_HUBS
177         tristate
178         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
179         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
180
181 config SND_SOC_WM_ADSP
182         tristate
183         default y if SND_SOC_WM5102=y
184         default y if SND_SOC_WM5110=y
185         default y if SND_SOC_WM2200=y
186         default m if SND_SOC_WM5102=m
187         default m if SND_SOC_WM5110=m
188         default m if SND_SOC_WM2200=m
189
190 config SND_SOC_AB8500_CODEC
191         tristate
192
193 config SND_SOC_AC97_CODEC
194         tristate
195         select SND_AC97_CODEC
196
197 config SND_SOC_AD1836
198         tristate
199
200 config SND_SOC_AD193X
201         tristate
202
203 config SND_SOC_AD193X_SPI
204         tristate
205         select SND_SOC_AD193X
206
207 config SND_SOC_AD193X_I2C
208         tristate
209         select SND_SOC_AD193X
210
211 config SND_SOC_AD1980
212         tristate
213
214 config SND_SOC_AD73311
215         tristate
216
217 config SND_SOC_ADAU1373
218         tristate
219
220 config SND_SOC_ADAU1701
221         tristate "Analog Devices ADAU1701 CODEC"
222         depends on I2C
223         select SND_SOC_SIGMADSP
224
225 config SND_SOC_ADAU17X1
226         tristate
227         select SND_SOC_SIGMADSP
228
229 config SND_SOC_ADAU1761
230         tristate
231         select SND_SOC_ADAU17X1
232
233 config SND_SOC_ADAU1761_I2C
234         tristate
235         select SND_SOC_ADAU1761
236         select REGMAP_I2C
237
238 config SND_SOC_ADAU1761_SPI
239         tristate
240         select SND_SOC_ADAU1761
241         select REGMAP_SPI
242
243 config SND_SOC_ADAU1781
244         select SND_SOC_ADAU17X1
245         tristate
246
247 config SND_SOC_ADAU1781_I2C
248         tristate
249         select SND_SOC_ADAU1781
250         select REGMAP_I2C
251
252 config SND_SOC_ADAU1781_SPI
253         tristate
254         select SND_SOC_ADAU1781
255         select REGMAP_SPI
256
257 config SND_SOC_ADAU1977
258         tristate
259
260 config SND_SOC_ADAU1977_SPI
261         tristate
262         select SND_SOC_ADAU1977
263         select REGMAP_SPI
264
265 config SND_SOC_ADAU1977_I2C
266         tristate
267         select SND_SOC_ADAU1977
268         select REGMAP_I2C
269
270 config SND_SOC_ADAV80X
271         tristate
272
273 config SND_SOC_ADAV801
274         tristate
275         select SND_SOC_ADAV80X
276
277 config SND_SOC_ADAV803
278         tristate
279         select SND_SOC_ADAV80X
280
281 config SND_SOC_ADS117X
282         tristate
283
284 config SND_SOC_AK4104
285         tristate "AKM AK4104 CODEC"
286         depends on SPI_MASTER
287
288 config SND_SOC_AK4535
289         tristate
290
291 config SND_SOC_AK4554
292         tristate "AKM AK4554 CODEC"
293
294 config SND_SOC_AK4641
295         tristate
296
297 config SND_SOC_AK4642
298         tristate "AKM AK4642 CODEC"
299         depends on I2C
300
301 config SND_SOC_AK4671
302         tristate
303
304 config SND_SOC_AK5386
305         tristate "AKM AK5638 CODEC"
306
307 config SND_SOC_ALC5623
308        tristate
309
310 config SND_SOC_ALC5632
311         tristate
312
313 config SND_SOC_CQ0093VC
314         tristate
315
316 config SND_SOC_CS42L51
317         tristate
318
319 config SND_SOC_CS42L52
320         tristate "Cirrus Logic CS42L52 CODEC"
321         depends on I2C
322
323 config SND_SOC_CS42L73
324         tristate "Cirrus Logic CS42L73 CODEC"
325         depends on I2C
326
327 # Cirrus Logic CS4270 Codec
328 config SND_SOC_CS4270
329         tristate "Cirrus Logic CS4270 CODEC"
330         depends on I2C
331
332 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
333 # Select if you are affected by the errata where the part will not function
334 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
335 # not select any sample rates that require MCLK to be divided by 1.5.
336 config SND_SOC_CS4270_VD33_ERRATA
337         bool
338         depends on SND_SOC_CS4270
339
340 config SND_SOC_CS4271
341         tristate "Cirrus Logic CS4271 CODEC"
342         depends on SND_SOC_I2C_AND_SPI
343
344 config SND_SOC_CS42XX8
345         tristate
346
347 config SND_SOC_CS42XX8_I2C
348         tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
349         depends on I2C
350         select SND_SOC_CS42XX8
351         select REGMAP_I2C
352
353 config SND_SOC_CX20442
354         tristate
355         depends on TTY
356
357 config SND_SOC_JZ4740_CODEC
358         select REGMAP_MMIO
359         tristate
360
361 config SND_SOC_L3
362        tristate
363
364 config SND_SOC_DA7210
365         tristate
366
367 config SND_SOC_DA7213
368         tristate
369
370 config SND_SOC_DA732X
371         tristate
372
373 config SND_SOC_DA9055
374         tristate
375
376 config SND_SOC_BT_SCO
377         tristate
378
379 config SND_SOC_DMIC
380         tristate
381
382 config SND_SOC_HDMI_CODEC
383        tristate "HDMI stub CODEC"
384
385 config SND_SOC_ISABELLE
386         tristate
387
388 config SND_SOC_LM49453
389         tristate
390
391 config SND_SOC_MAX98088
392        tristate
393
394 config SND_SOC_MAX98090
395        tristate
396
397 config SND_SOC_MAX98095
398        tristate
399
400 config SND_SOC_MAX9850
401         tristate
402
403 config SND_SOC_PCM1681
404         tristate "Texas Instruments PCM1681 CODEC"
405         depends on I2C
406
407 config SND_SOC_PCM1792A
408         tristate "Texas Instruments PCM1792A CODEC"
409         depends on SPI_MASTER
410
411 config SND_SOC_PCM3008
412        tristate
413
414 config SND_SOC_PCM512x
415         tristate
416
417 config SND_SOC_PCM512x_I2C
418         tristate "Texas Instruments PCM512x CODECs - I2C"
419         depends on I2C
420         select SND_SOC_PCM512x
421         select REGMAP_I2C
422
423 config SND_SOC_PCM512x_SPI
424         tristate "Texas Instruments PCM512x CODECs - SPI"
425         depends on SPI_MASTER
426         select SND_SOC_PCM512x
427         select REGMAP_SPI
428
429 config SND_SOC_RT5631
430         tristate
431
432 config SND_SOC_RT5640
433         tristate
434
435 #Freescale sgtl5000 codec
436 config SND_SOC_SGTL5000
437         tristate "Freescale SGTL5000 CODEC"
438         depends on I2C
439
440 config SND_SOC_SI476X
441         tristate
442
443 config SND_SOC_SIGMADSP
444         tristate
445         select CRC32
446
447 config SND_SOC_SIRF_AUDIO_CODEC
448         tristate "SiRF SoC internal audio codec"
449         select REGMAP_MMIO
450
451 config SND_SOC_SN95031
452         tristate
453
454 config SND_SOC_SPDIF
455         tristate "S/PDIF CODEC"
456
457 config SND_SOC_SSM2518
458         tristate
459
460 config SND_SOC_SSM2602
461         tristate
462
463 config SND_SOC_SSM2602_SPI
464         select SND_SOC_SSM2602
465         tristate
466
467 config SND_SOC_SSM2602_I2C
468         select SND_SOC_SSM2602
469         tristate
470
471 config SND_SOC_STA32X
472         tristate
473
474 config SND_SOC_STA529
475         tristate
476
477 config SND_SOC_STAC9766
478         tristate
479
480 config SND_SOC_TAS5086
481         tristate "Texas Instruments TAS5086 speaker amplifier"
482         depends on I2C
483
484 config SND_SOC_TLV320AIC23
485         tristate
486
487 config SND_SOC_TLV320AIC23_I2C
488         tristate
489         select SND_SOC_TLV320AIC23
490
491 config SND_SOC_TLV320AIC23_SPI
492         tristate
493         select SND_SOC_TLV320AIC23
494
495 config SND_SOC_TLV320AIC26
496         tristate
497         depends on SPI
498
499 config SND_SOC_TLV320AIC31XX
500         tristate
501
502 config SND_SOC_TLV320AIC32X4
503         tristate
504
505 config SND_SOC_TLV320AIC3X
506         tristate "Texas Instruments TLV320AIC3x CODECs"
507         depends on I2C
508
509 config SND_SOC_TLV320DAC33
510         tristate
511
512 config SND_SOC_TWL4030
513         select MFD_TWL4030_AUDIO
514         tristate
515
516 config SND_SOC_TWL6040
517         tristate
518
519 config SND_SOC_UDA134X
520        tristate
521
522 config SND_SOC_UDA1380
523         tristate
524
525 config SND_SOC_WL1273
526         tristate
527
528 config SND_SOC_WM0010
529         tristate
530
531 config SND_SOC_WM1250_EV1
532         tristate
533
534 config SND_SOC_WM2000
535         tristate
536
537 config SND_SOC_WM2200
538         tristate
539
540 config SND_SOC_WM5100
541         tristate
542
543 config SND_SOC_WM5102
544         tristate
545
546 config SND_SOC_WM5110
547         tristate
548
549 config SND_SOC_WM8350
550         tristate
551
552 config SND_SOC_WM8400
553         tristate
554
555 config SND_SOC_WM8510
556         tristate "Wolfson Microelectronics WM8510 CODEC"
557         depends on SND_SOC_I2C_AND_SPI
558
559 config SND_SOC_WM8523
560         tristate "Wolfson Microelectronics WM8523 DAC"
561         depends on I2C
562
563 config SND_SOC_WM8580
564         tristate "Wolfson Microelectronics WM8523 CODEC"
565         depends on I2C
566
567 config SND_SOC_WM8711
568         tristate "Wolfson Microelectronics WM8711 CODEC"
569         depends on SND_SOC_I2C_AND_SPI
570
571 config SND_SOC_WM8727
572         tristate
573
574 config SND_SOC_WM8728
575         tristate "Wolfson Microelectronics WM8728 DAC"
576         depends on SND_SOC_I2C_AND_SPI
577
578 config SND_SOC_WM8731
579         tristate "Wolfson Microelectronics WM8731 CODEC"
580         depends on SND_SOC_I2C_AND_SPI
581
582 config SND_SOC_WM8737
583         tristate "Wolfson Microelectronics WM8737 ADC"
584         depends on SND_SOC_I2C_AND_SPI
585
586 config SND_SOC_WM8741
587         tristate "Wolfson Microelectronics WM8737 DAC"
588         depends on SND_SOC_I2C_AND_SPI
589
590 config SND_SOC_WM8750
591         tristate "Wolfson Microelectronics WM8750 CODEC"
592         depends on SND_SOC_I2C_AND_SPI
593
594 config SND_SOC_WM8753
595         tristate "Wolfson Microelectronics WM8753 CODEC"
596         depends on SND_SOC_I2C_AND_SPI
597
598 config SND_SOC_WM8770
599         tristate "Wolfson Microelectronics WM8770 CODEC"
600         depends on SPI_MASTER
601
602 config SND_SOC_WM8776
603         tristate "Wolfson Microelectronics WM8776 CODEC"
604         depends on SND_SOC_I2C_AND_SPI
605
606 config SND_SOC_WM8782
607         tristate
608
609 config SND_SOC_WM8804
610         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver"
611         depends on SND_SOC_I2C_AND_SPI
612
613 config SND_SOC_WM8900
614         tristate
615
616 config SND_SOC_WM8903
617         tristate "Wolfson Microelectronics WM8903 CODEC"
618         depends on I2C
619
620 config SND_SOC_WM8904
621         tristate
622
623 config SND_SOC_WM8940
624         tristate
625
626 config SND_SOC_WM8955
627         tristate
628
629 config SND_SOC_WM8960
630         tristate
631
632 config SND_SOC_WM8961
633         tristate
634
635 config SND_SOC_WM8962
636         tristate "Wolfson Microelectronics WM8962 CODEC"
637         depends on I2C
638
639 config SND_SOC_WM8971
640         tristate
641
642 config SND_SOC_WM8974
643         tristate
644
645 config SND_SOC_WM8978
646         tristate
647
648 config SND_SOC_WM8983
649         tristate
650
651 config SND_SOC_WM8985
652         tristate
653
654 config SND_SOC_WM8988
655         tristate
656
657 config SND_SOC_WM8990
658         tristate
659
660 config SND_SOC_WM8991
661         tristate
662
663 config SND_SOC_WM8993
664         tristate
665
666 config SND_SOC_WM8994
667         tristate
668
669 config SND_SOC_WM8995
670         tristate
671
672 config SND_SOC_WM8996
673         tristate
674
675 config SND_SOC_WM8997
676         tristate
677
678 config SND_SOC_WM9081
679         tristate
680
681 config SND_SOC_WM9090
682         tristate
683
684 config SND_SOC_WM9705
685         tristate
686
687 config SND_SOC_WM9712
688         tristate
689
690 config SND_SOC_WM9713
691         tristate
692
693 # Amp
694 config SND_SOC_LM4857
695         tristate
696
697 config SND_SOC_MAX9768
698         tristate
699
700 config SND_SOC_MAX9877
701         tristate
702
703 config SND_SOC_MC13783
704         tristate
705
706 config SND_SOC_ML26124
707         tristate
708
709 config SND_SOC_TPA6130A2
710         tristate "Texas Instruments TPA6130A2 headphone amplifier"
711         depends on I2C
712
713 endmenu