ASoC: ssm2602: Split SPI and I2C code into different modules
[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 config SND_SOC_ALL_CODECS
12         tristate "Build all ASoC CODEC drivers"
13         depends on COMPILE_TEST
14         select SND_SOC_88PM860X if MFD_88PM860X
15         select SND_SOC_L3
16         select SND_SOC_AB8500_CODEC if ABX500_CORE
17         select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
18         select SND_SOC_AD1836 if SPI_MASTER
19         select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI
20         select SND_SOC_AD1980 if SND_SOC_AC97_BUS
21         select SND_SOC_AD73311
22         select SND_SOC_ADAU1373 if I2C
23         select SND_SOC_ADAV80X if SND_SOC_I2C_AND_SPI
24         select SND_SOC_ADAU1701 if I2C
25         select SND_SOC_ADS117X
26         select SND_SOC_AK4104 if SPI_MASTER
27         select SND_SOC_AK4535 if I2C
28         select SND_SOC_AK4641 if I2C
29         select SND_SOC_AK4642 if I2C
30         select SND_SOC_AK4671 if I2C
31         select SND_SOC_AK5386
32         select SND_SOC_ALC5623 if I2C
33         select SND_SOC_ALC5632 if I2C
34         select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
35         select SND_SOC_CS42L51 if I2C
36         select SND_SOC_CS42L52 if I2C
37         select SND_SOC_CS42L73 if I2C
38         select SND_SOC_CS4270 if I2C
39         select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
40         select SND_SOC_CX20442 if TTY
41         select SND_SOC_DA7210 if I2C
42         select SND_SOC_DA7213 if I2C
43         select SND_SOC_DA732X if I2C
44         select SND_SOC_DA9055 if I2C
45         select SND_SOC_BT_SCO
46         select SND_SOC_ISABELLE if I2C
47         select SND_SOC_JZ4740_CODEC
48         select SND_SOC_LM4857 if I2C
49         select SND_SOC_LM49453 if I2C
50         select SND_SOC_MAX98088 if I2C
51         select SND_SOC_MAX98090 if I2C
52         select SND_SOC_MAX98095 if I2C
53         select SND_SOC_MAX9850 if I2C
54         select SND_SOC_MAX9768 if I2C
55         select SND_SOC_MAX9877 if I2C
56         select SND_SOC_MC13783 if MFD_MC13XXX
57         select SND_SOC_ML26124 if I2C
58         select SND_SOC_HDMI_CODEC
59         select SND_SOC_PCM1681 if I2C
60         select SND_SOC_PCM1792A if SPI_MASTER
61         select SND_SOC_PCM3008
62         select SND_SOC_RT5631 if I2C
63         select SND_SOC_RT5640 if I2C
64         select SND_SOC_SGTL5000 if I2C
65         select SND_SOC_SI476X if MFD_SI476X_CORE
66         select SND_SOC_SN95031 if INTEL_SCU_IPC
67         select SND_SOC_SPDIF
68         select SND_SOC_SSM2518 if I2C
69         select SND_SOC_SSM2602_SPI if SPI_MASTER
70         select SND_SOC_SSM2602_I2C if I2C
71         select SND_SOC_STA32X if I2C
72         select SND_SOC_STA529 if I2C
73         select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
74         select SND_SOC_TAS5086 if I2C
75         select SND_SOC_TLV320AIC23 if I2C
76         select SND_SOC_TLV320AIC26 if SPI_MASTER
77         select SND_SOC_TLV320AIC32X4 if I2C
78         select SND_SOC_TLV320AIC3X if I2C
79         select SND_SOC_TPA6130A2 if I2C
80         select SND_SOC_TLV320DAC33 if I2C
81         select SND_SOC_TWL4030 if TWL4030_CORE
82         select SND_SOC_TWL6040 if TWL6040_CORE
83         select SND_SOC_UDA134X
84         select SND_SOC_UDA1380 if I2C
85         select SND_SOC_WL1273 if MFD_WL1273_CORE
86         select SND_SOC_WM0010 if SPI_MASTER
87         select SND_SOC_WM1250_EV1 if I2C
88         select SND_SOC_WM2000 if I2C
89         select SND_SOC_WM2200 if I2C
90         select SND_SOC_WM5100 if I2C
91         select SND_SOC_WM5102 if MFD_WM5102
92         select SND_SOC_WM5110 if MFD_WM5110
93         select SND_SOC_WM8350 if MFD_WM8350
94         select SND_SOC_WM8400 if MFD_WM8400
95         select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
96         select SND_SOC_WM8523 if I2C
97         select SND_SOC_WM8580 if I2C
98         select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
99         select SND_SOC_WM8727
100         select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
101         select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
102         select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
103         select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
104         select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
105         select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
106         select SND_SOC_WM8770 if SPI_MASTER
107         select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
108         select SND_SOC_WM8782
109         select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
110         select SND_SOC_WM8900 if I2C
111         select SND_SOC_WM8903 if I2C
112         select SND_SOC_WM8904 if I2C
113         select SND_SOC_WM8940 if I2C
114         select SND_SOC_WM8955 if I2C
115         select SND_SOC_WM8960 if I2C
116         select SND_SOC_WM8961 if I2C
117         select SND_SOC_WM8962 if I2C
118         select SND_SOC_WM8971 if I2C
119         select SND_SOC_WM8974 if I2C
120         select SND_SOC_WM8978 if I2C
121         select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
122         select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
123         select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
124         select SND_SOC_WM8990 if I2C
125         select SND_SOC_WM8991 if I2C
126         select SND_SOC_WM8993 if I2C
127         select SND_SOC_WM8994 if MFD_WM8994
128         select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
129         select SND_SOC_WM8996 if I2C
130         select SND_SOC_WM8997 if MFD_WM8997
131         select SND_SOC_WM9081 if I2C
132         select SND_SOC_WM9090 if I2C
133         select SND_SOC_WM9705 if SND_SOC_AC97_BUS
134         select SND_SOC_WM9712 if SND_SOC_AC97_BUS
135         select SND_SOC_WM9713 if SND_SOC_AC97_BUS
136         help
137           Normally ASoC codec drivers are only built if a machine driver which
138           uses them is also built since they are only usable with a machine
139           driver.  Selecting this option will allow these drivers to be built
140           without an explicit machine driver for test and development purposes.
141
142           Support for the bus types used to access the codecs to be built must
143           be selected separately.
144
145           If unsure select "N".
146
147 config SND_SOC_88PM860X
148         tristate
149
150 config SND_SOC_ARIZONA
151         tristate
152         default y if SND_SOC_WM5102=y
153         default y if SND_SOC_WM5110=y
154         default y if SND_SOC_WM8997=y
155         default m if SND_SOC_WM5102=m
156         default m if SND_SOC_WM5110=m
157         default m if SND_SOC_WM8997=m
158
159 config SND_SOC_WM_HUBS
160         tristate
161         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
162         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
163
164 config SND_SOC_WM_ADSP
165         tristate
166         default y if SND_SOC_WM5102=y
167         default y if SND_SOC_WM5110=y
168         default y if SND_SOC_WM2200=y
169         default m if SND_SOC_WM5102=m
170         default m if SND_SOC_WM5110=m
171         default m if SND_SOC_WM2200=m
172
173 config SND_SOC_AB8500_CODEC
174         tristate
175
176 config SND_SOC_AC97_CODEC
177         tristate
178         select SND_AC97_CODEC
179
180 config SND_SOC_AD1836
181         tristate
182
183 config SND_SOC_AD193X
184         tristate
185
186 config SND_SOC_AD1980
187         tristate
188
189 config SND_SOC_AD73311
190         tristate
191
192 config SND_SOC_ADAU1701
193         select SND_SOC_SIGMADSP
194         tristate
195
196 config SND_SOC_ADAU1373
197         tristate
198
199 config SND_SOC_ADAV80X
200         tristate
201
202 config SND_SOC_ADS117X
203         tristate
204
205 config SND_SOC_AK4104
206         tristate
207
208 config SND_SOC_AK4535
209         tristate
210
211 config SND_SOC_AK4554
212         tristate
213
214 config SND_SOC_AK4641
215         tristate
216
217 config SND_SOC_AK4642
218         tristate
219
220 config SND_SOC_AK4671
221         tristate
222
223 config SND_SOC_AK5386
224         tristate
225
226 config SND_SOC_ALC5623
227        tristate
228 config SND_SOC_ALC5632
229         tristate
230
231 config SND_SOC_CQ0093VC
232         tristate
233
234 config SND_SOC_CS42L51
235         tristate
236
237 config SND_SOC_CS42L52
238         tristate
239
240 config SND_SOC_CS42L73
241         tristate
242
243 # Cirrus Logic CS4270 Codec
244 config SND_SOC_CS4270
245         tristate
246
247 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
248 # Select if you are affected by the errata where the part will not function
249 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
250 # not select any sample rates that require MCLK to be divided by 1.5.
251 config SND_SOC_CS4270_VD33_ERRATA
252         bool
253         depends on SND_SOC_CS4270
254
255 config SND_SOC_CS4271
256         tristate
257
258 config SND_SOC_CX20442
259         tristate
260         depends on TTY
261
262 config SND_SOC_JZ4740_CODEC
263         select REGMAP_MMIO
264         tristate
265
266 config SND_SOC_L3
267        tristate
268
269 config SND_SOC_DA7210
270         tristate
271
272 config SND_SOC_DA7213
273         tristate
274
275 config SND_SOC_DA732X
276         tristate
277
278 config SND_SOC_DA9055
279         tristate
280
281 config SND_SOC_BT_SCO
282         tristate
283
284 config SND_SOC_DMIC
285         tristate
286
287 config SND_SOC_ISABELLE
288         tristate
289
290 config SND_SOC_LM49453
291         tristate
292
293 config SND_SOC_MAX98088
294        tristate
295
296 config SND_SOC_MAX98090
297        tristate
298
299 config SND_SOC_MAX98095
300        tristate
301
302 config SND_SOC_MAX9850
303         tristate
304
305 config SND_SOC_HDMI_CODEC
306        tristate
307
308 config SND_SOC_PCM1681
309        tristate
310
311 config SND_SOC_PCM1792A
312        tristate
313
314 config SND_SOC_PCM3008
315        tristate
316
317 config SND_SOC_RT5631
318         tristate
319
320 config SND_SOC_RT5640
321         tristate
322
323 #Freescale sgtl5000 codec
324 config SND_SOC_SGTL5000
325         tristate
326
327 config SND_SOC_SI476X
328         tristate
329
330 config SND_SOC_SIGMADSP
331         tristate
332         select CRC32
333
334 config SND_SOC_SN95031
335         tristate
336
337 config SND_SOC_SPDIF
338         tristate
339
340 config SND_SOC_SSM2518
341         tristate
342
343 config SND_SOC_SSM2602
344         tristate
345
346 config SND_SOC_SSM2602_SPI
347         select SND_SOC_SSM2602
348         tristate
349
350 config SND_SOC_SSM2602_I2C
351         select SND_SOC_SSM2602
352         tristate
353
354 config SND_SOC_STA32X
355         tristate
356
357 config SND_SOC_STA529
358         tristate
359
360 config SND_SOC_STAC9766
361         tristate
362
363 config SND_SOC_TAS5086
364         tristate
365
366 config SND_SOC_TLV320AIC23
367         tristate
368
369 config SND_SOC_TLV320AIC26
370         tristate
371         depends on SPI
372
373 config SND_SOC_TLV320AIC32X4
374         tristate
375
376 config SND_SOC_TLV320AIC3X
377         tristate
378
379 config SND_SOC_TLV320DAC33
380         tristate
381
382 config SND_SOC_TWL4030
383         select MFD_TWL4030_AUDIO
384         tristate
385
386 config SND_SOC_TWL6040
387         tristate
388
389 config SND_SOC_UDA134X
390        tristate
391
392 config SND_SOC_UDA1380
393         tristate
394
395 config SND_SOC_WL1273
396         tristate
397
398 config SND_SOC_WM0010
399         tristate
400
401 config SND_SOC_WM1250_EV1
402         tristate
403
404 config SND_SOC_WM2000
405         tristate
406
407 config SND_SOC_WM2200
408         tristate
409
410 config SND_SOC_WM5100
411         tristate
412
413 config SND_SOC_WM5102
414         tristate
415
416 config SND_SOC_WM5110
417         tristate
418
419 config SND_SOC_WM8350
420         tristate
421
422 config SND_SOC_WM8400
423         tristate
424
425 config SND_SOC_WM8510
426         tristate
427
428 config SND_SOC_WM8523
429         tristate
430
431 config SND_SOC_WM8580
432         tristate
433
434 config SND_SOC_WM8711
435         tristate
436
437 config SND_SOC_WM8727
438         tristate
439
440 config SND_SOC_WM8728
441         tristate
442
443 config SND_SOC_WM8731
444         tristate
445
446 config SND_SOC_WM8737
447         tristate
448
449 config SND_SOC_WM8741
450         tristate
451
452 config SND_SOC_WM8750
453         tristate
454
455 config SND_SOC_WM8753
456         tristate
457
458 config SND_SOC_WM8770
459         tristate
460
461 config SND_SOC_WM8776
462         tristate
463
464 config SND_SOC_WM8782
465         tristate
466
467 config SND_SOC_WM8804
468         tristate
469
470 config SND_SOC_WM8900
471         tristate
472
473 config SND_SOC_WM8903
474         tristate
475
476 config SND_SOC_WM8904
477         tristate
478
479 config SND_SOC_WM8940
480         tristate
481
482 config SND_SOC_WM8955
483         tristate
484
485 config SND_SOC_WM8960
486         tristate
487
488 config SND_SOC_WM8961
489         tristate
490
491 config SND_SOC_WM8962
492         tristate
493
494 config SND_SOC_WM8971
495         tristate
496
497 config SND_SOC_WM8974
498         tristate
499
500 config SND_SOC_WM8978
501         tristate
502
503 config SND_SOC_WM8983
504         tristate
505
506 config SND_SOC_WM8985
507         tristate
508
509 config SND_SOC_WM8988
510         tristate
511
512 config SND_SOC_WM8990
513         tristate
514
515 config SND_SOC_WM8991
516         tristate
517
518 config SND_SOC_WM8993
519         tristate
520
521 config SND_SOC_WM8994
522         tristate
523
524 config SND_SOC_WM8995
525         tristate
526
527 config SND_SOC_WM8996
528         tristate
529
530 config SND_SOC_WM8997
531         tristate
532
533 config SND_SOC_WM9081
534         tristate
535
536 config SND_SOC_WM9090
537         tristate
538
539 config SND_SOC_WM9705
540         tristate
541
542 config SND_SOC_WM9712
543         tristate
544
545 config SND_SOC_WM9713
546         tristate
547
548 # Amp
549 config SND_SOC_LM4857
550         tristate
551
552 config SND_SOC_MAX9768
553         tristate
554
555 config SND_SOC_MAX9877
556         tristate
557
558 config SND_SOC_MC13783
559         tristate
560
561 config SND_SOC_ML26124
562         tristate
563
564 config SND_SOC_TPA6130A2
565         tristate