I2C: Add helper macro for i2c_driver boilerplate
[zen-stable.git] / sound / soc / codecs / Kconfig
blob4584514d93d4fd21a92de37847d318951e824bf8
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
11 config SND_SOC_ALL_CODECS
12         tristate "Build all ASoC CODEC drivers"
13         select SND_SOC_88PM860X if MFD_88PM860X
14         select SND_SOC_L3
15         select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
16         select SND_SOC_AD1836 if SPI_MASTER
17         select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI
18         select SND_SOC_AD1980 if SND_SOC_AC97_BUS
19         select SND_SOC_AD73311
20         select SND_SOC_ADAU1373 if I2C
21         select SND_SOC_ADAV80X
22         select SND_SOC_ADS117X
23         select SND_SOC_AK4104 if SPI_MASTER
24         select SND_SOC_AK4535 if I2C
25         select SND_SOC_AK4641 if I2C
26         select SND_SOC_AK4642 if I2C
27         select SND_SOC_AK4671 if I2C
28         select SND_SOC_ALC5623 if I2C
29         select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
30         select SND_SOC_CS42L51 if I2C
31         select SND_SOC_CS4270 if I2C
32         select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
33         select SND_SOC_CX20442
34         select SND_SOC_DA7210 if I2C
35         select SND_SOC_DFBMCS320
36         select SND_SOC_JZ4740_CODEC if SOC_JZ4740
37         select SND_SOC_LM4857 if I2C
38         select SND_SOC_MAX98088 if I2C
39         select SND_SOC_MAX98095 if I2C
40         select SND_SOC_MAX9850 if I2C
41         select SND_SOC_MAX9877 if I2C
42         select SND_SOC_PCM3008
43         select SND_SOC_RT5631 if I2C
44         select SND_SOC_SGTL5000 if I2C
45         select SND_SOC_SN95031 if INTEL_SCU_IPC
46         select SND_SOC_SPDIF
47         select SND_SOC_SSM2602 if SND_SOC_I2C_AND_SPI
48         select SND_SOC_STA32X if I2C
49         select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
50         select SND_SOC_TLV320AIC23 if I2C
51         select SND_SOC_TLV320AIC26 if SPI_MASTER
52         select SND_SOC_TLV320AIC32X4 if I2C
53         select SND_SOC_TLV320AIC3X if I2C
54         select SND_SOC_TPA6130A2 if I2C
55         select SND_SOC_TLV320DAC33 if I2C
56         select SND_SOC_TWL4030 if TWL4030_CORE
57         select SND_SOC_TWL6040 if TWL4030_CORE
58         select SND_SOC_UDA134X
59         select SND_SOC_UDA1380 if I2C
60         select SND_SOC_WL1273 if MFD_WL1273_CORE
61         select SND_SOC_WM1250_EV1 if I2C
62         select SND_SOC_WM2000 if I2C
63         select SND_SOC_WM5100 if I2C
64         select SND_SOC_WM8350 if MFD_WM8350
65         select SND_SOC_WM8400 if MFD_WM8400
66         select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
67         select SND_SOC_WM8523 if I2C
68         select SND_SOC_WM8580 if I2C
69         select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
70         select SND_SOC_WM8727
71         select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
72         select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
73         select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
74         select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
75         select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
76         select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
77         select SND_SOC_WM8770 if SPI_MASTER
78         select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
79         select SND_SOC_WM8782
80         select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
81         select SND_SOC_WM8900 if I2C
82         select SND_SOC_WM8903 if I2C
83         select SND_SOC_WM8904 if I2C
84         select SND_SOC_WM8940 if I2C
85         select SND_SOC_WM8955 if I2C
86         select SND_SOC_WM8960 if I2C
87         select SND_SOC_WM8961 if I2C
88         select SND_SOC_WM8962 if I2C
89         select SND_SOC_WM8971 if I2C
90         select SND_SOC_WM8974 if I2C
91         select SND_SOC_WM8978 if I2C
92         select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
93         select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
94         select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
95         select SND_SOC_WM8990 if I2C
96         select SND_SOC_WM8991 if I2C
97         select SND_SOC_WM8993 if I2C
98         select SND_SOC_WM8994 if MFD_WM8994
99         select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
100         select SND_SOC_WM8996 if I2C
101         select SND_SOC_WM9081 if I2C
102         select SND_SOC_WM9090 if I2C
103         select SND_SOC_WM9705 if SND_SOC_AC97_BUS
104         select SND_SOC_WM9712 if SND_SOC_AC97_BUS
105         select SND_SOC_WM9713 if SND_SOC_AC97_BUS
106         help
107           Normally ASoC codec drivers are only built if a machine driver which
108           uses them is also built since they are only usable with a machine
109           driver.  Selecting this option will allow these drivers to be built
110           without an explicit machine driver for test and development purposes.
112           Support for the bus types used to access the codecs to be built must
113           be selected separately.
115           If unsure select "N".
117 config SND_SOC_88PM860X
118         tristate
120 config SND_SOC_WM_HUBS
121         tristate
122         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
123         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
125 config SND_SOC_AC97_CODEC
126         tristate
127         select SND_AC97_CODEC
129 config SND_SOC_AD1836
130         tristate
132 config SND_SOC_AD193X
133         tristate
135 config SND_SOC_AD1980
136         tristate
138 config SND_SOC_AD73311
139         tristate
141 config SND_SOC_ADAU1701
142         select SIGMA
143         tristate
145 config SND_SOC_ADAU1373
146         tristate
148 config SND_SOC_ADAV80X
149         tristate
151 config SND_SOC_ADS117X
152         tristate
154 config SND_SOC_AK4104
155         tristate
157 config SND_SOC_AK4535
158         tristate
160 config SND_SOC_AK4641
161         tristate
163 config SND_SOC_AK4642
164         tristate
166 config SND_SOC_AK4671
167         tristate
169 config SND_SOC_ALC5623
170        tristate
172 config SND_SOC_CQ0093VC
173         tristate
175 config SND_SOC_CS42L51
176         tristate
178 # Cirrus Logic CS4270 Codec
179 config SND_SOC_CS4270
180         tristate
182 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
183 # Select if you are affected by the errata where the part will not function
184 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
185 # not select any sample rates that require MCLK to be divided by 1.5.
186 config SND_SOC_CS4270_VD33_ERRATA
187         bool
188         depends on SND_SOC_CS4270
190 config SND_SOC_CS4271
191         tristate
193 config SND_SOC_CX20442
194         tristate
196 config SND_SOC_JZ4740_CODEC
197         tristate
199 config SND_SOC_L3
200        tristate
202 config SND_SOC_DA7210
203         tristate
205 config SND_SOC_DFBMCS320
206         tristate
208 config SND_SOC_DMIC
209         tristate
211 config SND_SOC_MAX98088
212        tristate
214 config SND_SOC_MAX98095
215        tristate
217 config SND_SOC_MAX9850
218         tristate
220 config SND_SOC_PCM3008
221        tristate
223 config SND_SOC_RT5631
224         tristate
226 #Freescale sgtl5000 codec
227 config SND_SOC_SGTL5000
228         tristate
230 config SND_SOC_SN95031
231         tristate
233 config SND_SOC_SPDIF
234         tristate
236 config SND_SOC_SSM2602
237         tristate
239 config SND_SOC_STA32X
240         tristate
242 config SND_SOC_STAC9766
243         tristate
245 config SND_SOC_TLV320AIC23
246         tristate
248 config SND_SOC_TLV320AIC26
249         tristate "TI TLV320AIC26 Codec support" if SND_SOC_OF_SIMPLE
250         depends on SPI
252 config SND_SOC_TLV320AIC32X4
253         tristate
255 config SND_SOC_TLV320AIC3X
256         tristate
258 config SND_SOC_TLV320DAC33
259         tristate
261 config SND_SOC_TWL4030
262         select MFD_TWL4030_AUDIO
263         tristate
265 config SND_SOC_TWL6040
266         select TWL6040_CORE
267         tristate
269 config SND_SOC_UDA134X
270        tristate
272 config SND_SOC_UDA1380
273         tristate
275 config SND_SOC_WL1273
276         tristate
278 config SND_SOC_WM1250_EV1
279         tristate
281 config SND_SOC_WM5100
282         tristate
284 config SND_SOC_WM8350
285         tristate
287 config SND_SOC_WM8400
288         tristate
290 config SND_SOC_WM8510
291         tristate
293 config SND_SOC_WM8523
294         tristate
296 config SND_SOC_WM8580
297         tristate
299 config SND_SOC_WM8711
300         tristate
302 config SND_SOC_WM8727
303         tristate
305 config SND_SOC_WM8728
306         tristate
308 config SND_SOC_WM8731
309         tristate
311 config SND_SOC_WM8737
312         tristate
314 config SND_SOC_WM8741
315         tristate
317 config SND_SOC_WM8750
318         tristate
320 config SND_SOC_WM8753
321         tristate
323 config SND_SOC_WM8770
324         tristate
326 config SND_SOC_WM8776
327         tristate
329 config SND_SOC_WM8782
330         tristate
332 config SND_SOC_WM8804
333         tristate
335 config SND_SOC_WM8900
336         tristate
338 config SND_SOC_WM8903
339         tristate
341 config SND_SOC_WM8904
342         tristate
344 config SND_SOC_WM8940
345         tristate
347 config SND_SOC_WM8955
348         tristate
350 config SND_SOC_WM8960
351         tristate
353 config SND_SOC_WM8961
354         tristate
356 config SND_SOC_WM8962
357         tristate
359 config SND_SOC_WM8971
360         tristate
362 config SND_SOC_WM8974
363         tristate
365 config SND_SOC_WM8978
366         tristate
368 config SND_SOC_WM8983
369         tristate
371 config SND_SOC_WM8985
372         tristate
374 config SND_SOC_WM8988
375         tristate
377 config SND_SOC_WM8990
378         tristate
380 config SND_SOC_WM8991
381         tristate
383 config SND_SOC_WM8993
384         tristate
386 config SND_SOC_WM8994
387         tristate
389 config SND_SOC_WM8995
390         tristate
392 config SND_SOC_WM8996
393         tristate
395 config SND_SOC_WM9081
396         tristate
398 config SND_SOC_WM9705
399         tristate
401 config SND_SOC_WM9712
402         tristate
404 config SND_SOC_WM9713
405         tristate
407 # Amp
408 config SND_SOC_LM4857
409         tristate
411 config SND_SOC_MAX9877
412         tristate
414 config SND_SOC_TPA6130A2
415         tristate
417 config SND_SOC_WM2000
418         tristate
420 config SND_SOC_WM9090
421         tristate