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