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
9 default y if SPI_MASTER=y
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
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_ADS117X
36 select SND_SOC_AK4104 if SPI_MASTER
37 select SND_SOC_AK4535 if I2C
39 select SND_SOC_AK4641 if I2C
40 select SND_SOC_AK4642 if I2C
41 select SND_SOC_AK4671 if I2C
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_CS35L32 if I2C
47 select SND_SOC_CS42L51_I2C if I2C
48 select SND_SOC_CS42L52 if I2C && INPUT
49 select SND_SOC_CS42L56 if I2C && INPUT
50 select SND_SOC_CS42L73 if I2C
51 select SND_SOC_CS4265 if I2C
52 select SND_SOC_CS4270 if I2C
53 select SND_SOC_CS4271_I2C if I2C
54 select SND_SOC_CS4271_SPI if SPI_MASTER
55 select SND_SOC_CS42XX8_I2C if I2C
56 select SND_SOC_CX20442 if TTY
57 select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
58 select SND_SOC_DA7213 if I2C
59 select SND_SOC_DA732X if I2C
60 select SND_SOC_DA9055 if I2C
63 select SND_SOC_ES8328_SPI if SPI_MASTER
64 select SND_SOC_ES8328_I2C if I2C
66 select SND_SOC_ICS43432
67 select SND_SOC_ISABELLE if I2C
68 select SND_SOC_JZ4740_CODEC
69 select SND_SOC_LM4857 if I2C
70 select SND_SOC_LM49453 if I2C
71 select SND_SOC_MAX98088 if I2C
72 select SND_SOC_MAX98090 if I2C
73 select SND_SOC_MAX98095 if I2C
74 select SND_SOC_MAX98357A if GPIOLIB
75 select SND_SOC_MAX98925 if I2C
76 select SND_SOC_MAX9850 if I2C
77 select SND_SOC_MAX9768 if I2C
78 select SND_SOC_MAX9877 if I2C
79 select SND_SOC_MC13783 if MFD_MC13XXX
80 select SND_SOC_ML26124 if I2C
81 select SND_SOC_HDMI_CODEC
82 select SND_SOC_PCM1681 if I2C
83 select SND_SOC_PCM1792A if SPI_MASTER
84 select SND_SOC_PCM3008
85 select SND_SOC_PCM512x_I2C if I2C
86 select SND_SOC_PCM512x_SPI if SPI_MASTER
87 select SND_SOC_RT286 if I2C
88 select SND_SOC_RT5631 if I2C
89 select SND_SOC_RT5640 if I2C
90 select SND_SOC_RT5645 if I2C
91 select SND_SOC_RT5651 if I2C
92 select SND_SOC_RT5670 if I2C
93 select SND_SOC_RT5677 if I2C && SPI_MASTER
94 select SND_SOC_SGTL5000 if I2C
95 select SND_SOC_SI476X if MFD_SI476X_CORE
96 select SND_SOC_SIRF_AUDIO_CODEC
97 select SND_SOC_SN95031 if INTEL_SCU_IPC
99 select SND_SOC_SSM2518 if I2C
100 select SND_SOC_SSM2602_SPI if SPI_MASTER
101 select SND_SOC_SSM2602_I2C if I2C
102 select SND_SOC_SSM4567 if I2C
103 select SND_SOC_STA32X if I2C
104 select SND_SOC_STA350 if I2C
105 select SND_SOC_STA529 if I2C
106 select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
107 select SND_SOC_TAS2552 if I2C
108 select SND_SOC_TAS5086 if I2C
109 select SND_SOC_TAS571X if I2C
110 select SND_SOC_TFA9879 if I2C
111 select SND_SOC_TLV320AIC23_I2C if I2C
112 select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
113 select SND_SOC_TLV320AIC26 if SPI_MASTER
114 select SND_SOC_TLV320AIC31XX if I2C
115 select SND_SOC_TLV320AIC32X4 if I2C
116 select SND_SOC_TLV320AIC3X if I2C
117 select SND_SOC_TPA6130A2 if I2C
118 select SND_SOC_TLV320DAC33 if I2C
119 select SND_SOC_TS3A227E if I2C
120 select SND_SOC_TWL4030 if TWL4030_CORE
121 select SND_SOC_TWL6040 if TWL6040_CORE
122 select SND_SOC_UDA134X
123 select SND_SOC_UDA1380 if I2C
124 select SND_SOC_WL1273 if MFD_WL1273_CORE
125 select SND_SOC_WM0010 if SPI_MASTER
126 select SND_SOC_WM1250_EV1 if I2C
127 select SND_SOC_WM2000 if I2C
128 select SND_SOC_WM2200 if I2C
129 select SND_SOC_WM5100 if I2C
130 select SND_SOC_WM5102 if MFD_WM5102
131 select SND_SOC_WM5110 if MFD_WM5110
132 select SND_SOC_WM8350 if MFD_WM8350
133 select SND_SOC_WM8400 if MFD_WM8400
134 select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
135 select SND_SOC_WM8523 if I2C
136 select SND_SOC_WM8580 if I2C
137 select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
138 select SND_SOC_WM8727
139 select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
140 select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
141 select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
142 select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
143 select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
144 select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
145 select SND_SOC_WM8770 if SPI_MASTER
146 select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
147 select SND_SOC_WM8782
148 select SND_SOC_WM8804_I2C if I2C
149 select SND_SOC_WM8804_SPI if SPI_MASTER
150 select SND_SOC_WM8900 if I2C
151 select SND_SOC_WM8903 if I2C
152 select SND_SOC_WM8904 if I2C
153 select SND_SOC_WM8940 if I2C
154 select SND_SOC_WM8955 if I2C
155 select SND_SOC_WM8960 if I2C
156 select SND_SOC_WM8961 if I2C
157 select SND_SOC_WM8962 if I2C && INPUT
158 select SND_SOC_WM8971 if I2C
159 select SND_SOC_WM8974 if I2C
160 select SND_SOC_WM8978 if I2C
161 select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
162 select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
163 select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
164 select SND_SOC_WM8990 if I2C
165 select SND_SOC_WM8991 if I2C
166 select SND_SOC_WM8993 if I2C
167 select SND_SOC_WM8994 if MFD_WM8994
168 select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
169 select SND_SOC_WM8996 if I2C
170 select SND_SOC_WM8997 if MFD_WM8997
171 select SND_SOC_WM9081 if I2C
172 select SND_SOC_WM9090 if I2C
173 select SND_SOC_WM9705 if SND_SOC_AC97_BUS
174 select SND_SOC_WM9712 if SND_SOC_AC97_BUS
175 select SND_SOC_WM9713 if SND_SOC_AC97_BUS
177 Normally ASoC codec drivers are only built if a machine driver which
178 uses them is also built since they are only usable with a machine
179 driver. Selecting this option will allow these drivers to be built
180 without an explicit machine driver for test and development purposes.
182 Support for the bus types used to access the codecs to be built must
183 be selected separately.
185 If unsure select "N".
187 config SND_SOC_88PM860X
190 config SND_SOC_ARIZONA
192 default y if SND_SOC_WM5102=y
193 default y if SND_SOC_WM5110=y
194 default y if SND_SOC_WM8997=y
195 default m if SND_SOC_WM5102=m
196 default m if SND_SOC_WM5110=m
197 default m if SND_SOC_WM8997=m
199 config SND_SOC_WM_HUBS
201 default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
202 default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
204 config SND_SOC_WM_ADSP
206 default y if SND_SOC_WM5102=y
207 default y if SND_SOC_WM5110=y
208 default y if SND_SOC_WM2200=y
209 default m if SND_SOC_WM5102=m
210 default m if SND_SOC_WM5110=m
211 default m if SND_SOC_WM2200=m
213 config SND_SOC_AB8500_CODEC
216 config SND_SOC_AC97_CODEC
217 tristate "Build generic ASoC AC97 CODEC driver"
218 select SND_AC97_CODEC
219 select SND_SOC_AC97_BUS
221 config SND_SOC_AD1836
224 config SND_SOC_AD193X
227 config SND_SOC_AD193X_SPI
229 select SND_SOC_AD193X
231 config SND_SOC_AD193X_I2C
233 select SND_SOC_AD193X
235 config SND_SOC_AD1980
239 config SND_SOC_AD73311
242 config SND_SOC_ADAU1373
245 config SND_SOC_ADAU1701
246 tristate "Analog Devices ADAU1701 CODEC"
248 select SND_SOC_SIGMADSP_I2C
250 config SND_SOC_ADAU17X1
252 select SND_SOC_SIGMADSP_REGMAP
254 config SND_SOC_ADAU1761
256 select SND_SOC_ADAU17X1
258 config SND_SOC_ADAU1761_I2C
260 select SND_SOC_ADAU1761
263 config SND_SOC_ADAU1761_SPI
265 select SND_SOC_ADAU1761
268 config SND_SOC_ADAU1781
269 select SND_SOC_ADAU17X1
272 config SND_SOC_ADAU1781_I2C
274 select SND_SOC_ADAU1781
277 config SND_SOC_ADAU1781_SPI
279 select SND_SOC_ADAU1781
282 config SND_SOC_ADAU1977
285 config SND_SOC_ADAU1977_SPI
287 select SND_SOC_ADAU1977
290 config SND_SOC_ADAU1977_I2C
292 select SND_SOC_ADAU1977
295 config SND_SOC_ADAV80X
298 config SND_SOC_ADAV801
300 select SND_SOC_ADAV80X
302 config SND_SOC_ADAV803
304 select SND_SOC_ADAV80X
306 config SND_SOC_ADS117X
309 config SND_SOC_AK4104
310 tristate "AKM AK4104 CODEC"
311 depends on SPI_MASTER
313 config SND_SOC_AK4535
316 config SND_SOC_AK4554
317 tristate "AKM AK4554 CODEC"
319 config SND_SOC_AK4641
322 config SND_SOC_AK4642
323 tristate "AKM AK4642 CODEC"
326 config SND_SOC_AK4671
329 config SND_SOC_AK5386
330 tristate "AKM AK5638 CODEC"
332 config SND_SOC_ALC5623
333 tristate "Realtek ALC5623 CODEC"
336 config SND_SOC_ALC5632
339 config SND_SOC_CQ0093VC
342 config SND_SOC_CS35L32
343 tristate "Cirrus Logic CS35L32 CODEC"
346 config SND_SOC_CS42L51
349 config SND_SOC_CS42L51_I2C
350 tristate "Cirrus Logic CS42L51 CODEC (I2C)"
352 select SND_SOC_CS42L51
354 config SND_SOC_CS42L52
355 tristate "Cirrus Logic CS42L52 CODEC"
356 depends on I2C && INPUT
358 config SND_SOC_CS42L56
359 tristate "Cirrus Logic CS42L56 CODEC"
360 depends on I2C && INPUT
362 config SND_SOC_CS42L73
363 tristate "Cirrus Logic CS42L73 CODEC"
366 config SND_SOC_CS4265
367 tristate "Cirrus Logic CS4265 CODEC"
371 # Cirrus Logic CS4270 Codec
372 config SND_SOC_CS4270
373 tristate "Cirrus Logic CS4270 CODEC"
376 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
377 # Select if you are affected by the errata where the part will not function
378 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will
379 # not select any sample rates that require MCLK to be divided by 1.5.
380 config SND_SOC_CS4270_VD33_ERRATA
382 depends on SND_SOC_CS4270
384 config SND_SOC_CS4271
387 config SND_SOC_CS4271_I2C
388 tristate "Cirrus Logic CS4271 CODEC (I2C)"
390 select SND_SOC_CS4271
393 config SND_SOC_CS4271_SPI
394 tristate "Cirrus Logic CS4271 CODEC (SPI)"
395 depends on SPI_MASTER
396 select SND_SOC_CS4271
399 config SND_SOC_CS42XX8
402 config SND_SOC_CS42XX8_I2C
403 tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
405 select SND_SOC_CS42XX8
408 config SND_SOC_CX20442
412 config SND_SOC_JZ4740_CODEC
419 config SND_SOC_DA7210
422 config SND_SOC_DA7213
425 config SND_SOC_DA732X
428 config SND_SOC_DA9055
431 config SND_SOC_BT_SCO
437 config SND_SOC_HDMI_CODEC
438 tristate "HDMI stub CODEC"
440 config SND_SOC_ES8328
441 tristate "Everest Semi ES8328 CODEC"
443 config SND_SOC_ES8328_I2C
445 select SND_SOC_ES8328
447 config SND_SOC_ES8328_SPI
449 select SND_SOC_ES8328
451 config SND_SOC_GTM601
452 tristate 'GTM601 UMTS modem audio codec'
454 config SND_SOC_ICS43432
457 config SND_SOC_ISABELLE
460 config SND_SOC_LM49453
463 config SND_SOC_MAX98088
466 config SND_SOC_MAX98090
469 config SND_SOC_MAX98095
472 config SND_SOC_MAX98357A
475 config SND_SOC_MAX98925
478 config SND_SOC_MAX9850
481 config SND_SOC_PCM1681
482 tristate "Texas Instruments PCM1681 CODEC"
485 config SND_SOC_PCM1792A
486 tristate "Texas Instruments PCM1792A CODEC"
487 depends on SPI_MASTER
489 config SND_SOC_PCM3008
492 config SND_SOC_PCM512x
495 config SND_SOC_PCM512x_I2C
496 tristate "Texas Instruments PCM512x CODECs - I2C"
498 select SND_SOC_PCM512x
501 config SND_SOC_PCM512x_SPI
502 tristate "Texas Instruments PCM512x CODECs - SPI"
503 depends on SPI_MASTER
504 select SND_SOC_PCM512x
507 config SND_SOC_RL6231
509 default y if SND_SOC_RT5640=y
510 default y if SND_SOC_RT5645=y
511 default y if SND_SOC_RT5651=y
512 default y if SND_SOC_RT5670=y
513 default y if SND_SOC_RT5677=y
514 default m if SND_SOC_RT5640=m
515 default m if SND_SOC_RT5645=m
516 default m if SND_SOC_RT5651=m
517 default m if SND_SOC_RT5670=m
518 default m if SND_SOC_RT5677=m
520 config SND_SOC_RL6347A
522 default y if SND_SOC_RT286=y
523 default m if SND_SOC_RT286=m
529 config SND_SOC_RT5631
530 tristate "Realtek ALC5631/RT5631 CODEC"
533 config SND_SOC_RT5640
536 config SND_SOC_RT5645
539 config SND_SOC_RT5651
542 config SND_SOC_RT5670
545 config SND_SOC_RT5677
550 config SND_SOC_RT5677_SPI
552 default SND_SOC_RT5677 && SPI
554 #Freescale sgtl5000 codec
555 config SND_SOC_SGTL5000
556 tristate "Freescale SGTL5000 CODEC"
559 config SND_SOC_SI476X
562 config SND_SOC_SIGMADSP
566 config SND_SOC_SIGMADSP_I2C
568 select SND_SOC_SIGMADSP
570 config SND_SOC_SIGMADSP_REGMAP
572 select SND_SOC_SIGMADSP
574 config SND_SOC_SIRF_AUDIO_CODEC
575 tristate "SiRF SoC internal audio codec"
578 config SND_SOC_SN95031
582 tristate "S/PDIF CODEC"
584 config SND_SOC_SSM2518
587 config SND_SOC_SSM2602
590 config SND_SOC_SSM2602_SPI
591 tristate "Analog Devices SSM2602 CODEC - SPI"
592 depends on SPI_MASTER
593 select SND_SOC_SSM2602
596 config SND_SOC_SSM2602_I2C
597 tristate "Analog Devices SSM2602 CODEC - I2C"
599 select SND_SOC_SSM2602
602 config SND_SOC_SSM4567
603 tristate "Analog Devices ssm4567 amplifier driver support"
606 config SND_SOC_STA32X
607 tristate "STA326, STA328 and STA329 speaker amplifier"
611 config SND_SOC_STA350
612 tristate "STA350 speaker amplifier"
615 config SND_SOC_STA529
618 config SND_SOC_STAC9766
621 config SND_SOC_TAS2552
622 tristate "Texas Instruments TAS2552 Mono Audio amplifier"
625 config SND_SOC_TAS5086
626 tristate "Texas Instruments TAS5086 speaker amplifier"
629 config SND_SOC_TAS571X
630 tristate "Texas Instruments TAS5711/TAS5717/TAS5719 power amplifiers"
633 config SND_SOC_TFA9879
634 tristate "NXP Semiconductors TFA9879 amplifier"
637 config SND_SOC_TLV320AIC23
640 config SND_SOC_TLV320AIC23_I2C
641 tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
643 select SND_SOC_TLV320AIC23
645 config SND_SOC_TLV320AIC23_SPI
646 tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
647 depends on SPI_MASTER
648 select SND_SOC_TLV320AIC23
650 config SND_SOC_TLV320AIC26
654 config SND_SOC_TLV320AIC31XX
655 tristate "Texas Instruments TLV320AIC31xx CODECs"
659 config SND_SOC_TLV320AIC32X4
662 config SND_SOC_TLV320AIC3X
663 tristate "Texas Instruments TLV320AIC3x CODECs"
666 config SND_SOC_TLV320DAC33
669 config SND_SOC_TS3A227E
670 tristate "TI Headset/Mic detect and keypress chip"
673 config SND_SOC_TWL4030
674 select MFD_TWL4030_AUDIO
677 config SND_SOC_TWL6040
680 config SND_SOC_UDA134X
683 config SND_SOC_UDA1380
686 config SND_SOC_WL1273
689 config SND_SOC_WM0010
692 config SND_SOC_WM1250_EV1
695 config SND_SOC_WM2000
698 config SND_SOC_WM2200
701 config SND_SOC_WM5100
704 config SND_SOC_WM5102
707 config SND_SOC_WM5110
710 config SND_SOC_WM8350
713 config SND_SOC_WM8400
716 config SND_SOC_WM8510
717 tristate "Wolfson Microelectronics WM8510 CODEC"
718 depends on SND_SOC_I2C_AND_SPI
720 config SND_SOC_WM8523
721 tristate "Wolfson Microelectronics WM8523 DAC"
724 config SND_SOC_WM8580
725 tristate "Wolfson Microelectronics WM8523 CODEC"
728 config SND_SOC_WM8711
729 tristate "Wolfson Microelectronics WM8711 CODEC"
730 depends on SND_SOC_I2C_AND_SPI
732 config SND_SOC_WM8727
735 config SND_SOC_WM8728
736 tristate "Wolfson Microelectronics WM8728 DAC"
737 depends on SND_SOC_I2C_AND_SPI
739 config SND_SOC_WM8731
740 tristate "Wolfson Microelectronics WM8731 CODEC"
741 depends on SND_SOC_I2C_AND_SPI
743 config SND_SOC_WM8737
744 tristate "Wolfson Microelectronics WM8737 ADC"
745 depends on SND_SOC_I2C_AND_SPI
747 config SND_SOC_WM8741
748 tristate "Wolfson Microelectronics WM8737 DAC"
749 depends on SND_SOC_I2C_AND_SPI
751 config SND_SOC_WM8750
752 tristate "Wolfson Microelectronics WM8750 CODEC"
753 depends on SND_SOC_I2C_AND_SPI
755 config SND_SOC_WM8753
756 tristate "Wolfson Microelectronics WM8753 CODEC"
757 depends on SND_SOC_I2C_AND_SPI
759 config SND_SOC_WM8770
760 tristate "Wolfson Microelectronics WM8770 CODEC"
761 depends on SPI_MASTER
763 config SND_SOC_WM8776
764 tristate "Wolfson Microelectronics WM8776 CODEC"
765 depends on SND_SOC_I2C_AND_SPI
767 config SND_SOC_WM8782
770 config SND_SOC_WM8804
773 config SND_SOC_WM8804_I2C
774 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
776 select SND_SOC_WM8804
779 config SND_SOC_WM8804_SPI
780 tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
781 depends on SPI_MASTER
782 select SND_SOC_WM8804
785 config SND_SOC_WM8900
788 config SND_SOC_WM8903
789 tristate "Wolfson Microelectronics WM8903 CODEC"
792 config SND_SOC_WM8904
795 config SND_SOC_WM8940
798 config SND_SOC_WM8955
801 config SND_SOC_WM8960
804 config SND_SOC_WM8961
807 config SND_SOC_WM8962
808 tristate "Wolfson Microelectronics WM8962 CODEC"
809 depends on I2C && INPUT
811 config SND_SOC_WM8971
814 config SND_SOC_WM8974
817 config SND_SOC_WM8978
818 tristate "Wolfson Microelectronics WM8978 codec"
821 config SND_SOC_WM8983
824 config SND_SOC_WM8985
827 config SND_SOC_WM8988
830 config SND_SOC_WM8990
833 config SND_SOC_WM8991
836 config SND_SOC_WM8993
839 config SND_SOC_WM8994
842 config SND_SOC_WM8995
845 config SND_SOC_WM8996
848 config SND_SOC_WM8997
851 config SND_SOC_WM9081
854 config SND_SOC_WM9090
857 config SND_SOC_WM9705
860 config SND_SOC_WM9712
863 config SND_SOC_WM9713
867 config SND_SOC_LM4857
870 config SND_SOC_MAX9768
873 config SND_SOC_MAX9877
876 config SND_SOC_MC13783
879 config SND_SOC_ML26124
882 config SND_SOC_TPA6130A2
883 tristate "Texas Instruments TPA6130A2 headphone amplifier"