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