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