Merge tag 'mips-fixes_5.14_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
[platform/kernel/linux-starfive.git] / sound / soc / codecs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 # Helper to resolve issues with configs that have SPI enabled but I2C
3 # modular, meaning we can't build the codec driver in with I2C support.
4 # We use an ordered list of conditional defaults to pick the appropriate
5 # setting - SPI can't be modular so that case doesn't need to be covered.
6 config SND_SOC_I2C_AND_SPI
7         tristate
8         default m if I2C=m
9         default y if I2C=y
10         default y if SPI_MASTER=y
11
12 menu "CODEC drivers"
13
14 config SND_SOC_ALL_CODECS
15         tristate "Build all ASoC CODEC drivers"
16         depends on COMPILE_TEST
17         imply SND_SOC_88PM860X
18         imply SND_SOC_L3
19         imply SND_SOC_AB8500_CODEC
20         imply SND_SOC_AC97_CODEC
21         imply SND_SOC_AD1836
22         imply SND_SOC_AD193X_SPI
23         imply SND_SOC_AD193X_I2C
24         imply SND_SOC_AD1980
25         imply SND_SOC_AD73311
26         imply SND_SOC_ADAU1372_I2C
27         imply SND_SOC_ADAU1372_SPI
28         imply SND_SOC_ADAU1373
29         imply SND_SOC_ADAU1761_I2C
30         imply SND_SOC_ADAU1761_SPI
31         imply SND_SOC_ADAU1781_I2C
32         imply SND_SOC_ADAU1781_SPI
33         imply SND_SOC_ADAV801
34         imply SND_SOC_ADAV803
35         imply SND_SOC_ADAU1977_SPI
36         imply SND_SOC_ADAU1977_I2C
37         imply SND_SOC_ADAU1701
38         imply SND_SOC_ADAU7002
39         imply SND_SOC_ADAU7118_I2C
40         imply SND_SOC_ADAU7118_HW
41         imply SND_SOC_ADS117X
42         imply SND_SOC_AK4104
43         imply SND_SOC_AK4118
44         imply SND_SOC_AK4458
45         imply SND_SOC_AK4535
46         imply SND_SOC_AK4554
47         imply SND_SOC_AK4613
48         imply SND_SOC_AK4641
49         imply SND_SOC_AK4642
50         imply SND_SOC_AK4671
51         imply SND_SOC_AK5386
52         imply SND_SOC_AK5558
53         imply SND_SOC_ALC5623
54         imply SND_SOC_ALC5632
55         imply SND_SOC_BT_SCO
56         imply SND_SOC_BD28623
57         imply SND_SOC_CQ0093VC
58         imply SND_SOC_CROS_EC_CODEC
59         imply SND_SOC_CS35L32
60         imply SND_SOC_CS35L33
61         imply SND_SOC_CS35L34
62         imply SND_SOC_CS35L35
63         imply SND_SOC_CS35L36
64         imply SND_SOC_CS42L42
65         imply SND_SOC_CS42L51_I2C
66         imply SND_SOC_CS42L52
67         imply SND_SOC_CS42L56
68         imply SND_SOC_CS42L73
69         imply SND_SOC_CS4234
70         imply SND_SOC_CS4265
71         imply SND_SOC_CS4270
72         imply SND_SOC_CS4271_I2C
73         imply SND_SOC_CS4271_SPI
74         imply SND_SOC_CS42XX8_I2C
75         imply SND_SOC_CS43130
76         imply SND_SOC_CS4341
77         imply SND_SOC_CS4349
78         imply SND_SOC_CS47L15
79         imply SND_SOC_CS47L24
80         imply SND_SOC_CS47L35
81         imply SND_SOC_CS47L85
82         imply SND_SOC_CS47L90
83         imply SND_SOC_CS47L92
84         imply SND_SOC_CS53L30
85         imply SND_SOC_CX20442
86         imply SND_SOC_CX2072X
87         imply SND_SOC_DA7210
88         imply SND_SOC_DA7213
89         imply SND_SOC_DA7218
90         imply SND_SOC_DA7219
91         imply SND_SOC_DA732X
92         imply SND_SOC_DA9055
93         imply SND_SOC_DMIC
94         imply SND_SOC_ES8316
95         imply SND_SOC_ES8328_SPI
96         imply SND_SOC_ES8328_I2C
97         imply SND_SOC_ES7134
98         imply SND_SOC_ES7241
99         imply SND_SOC_GTM601
100         imply SND_SOC_HDAC_HDMI
101         imply SND_SOC_HDAC_HDA
102         imply SND_SOC_ICS43432
103         imply SND_SOC_INNO_RK3036
104         imply SND_SOC_ISABELLE
105         imply SND_SOC_JZ4740_CODEC
106         imply SND_SOC_JZ4725B_CODEC
107         imply SND_SOC_JZ4760_CODEC
108         imply SND_SOC_JZ4770_CODEC
109         imply SND_SOC_LM4857
110         imply SND_SOC_LM49453
111         imply SND_SOC_LOCHNAGAR_SC
112         imply SND_SOC_MAX98088
113         imply SND_SOC_MAX98090
114         imply SND_SOC_MAX98095
115         imply SND_SOC_MAX98357A
116         imply SND_SOC_MAX98371
117         imply SND_SOC_MAX98504
118         imply SND_SOC_MAX9867
119         imply SND_SOC_MAX98925
120         imply SND_SOC_MAX98926
121         imply SND_SOC_MAX98927
122         imply SND_SOC_MAX98373_I2C
123         imply SND_SOC_MAX98373_SDW
124         imply SND_SOC_MAX98390
125         imply SND_SOC_MAX9850
126         imply SND_SOC_MAX9860
127         imply SND_SOC_MAX9759
128         imply SND_SOC_MAX9768
129         imply SND_SOC_MAX9877
130         imply SND_SOC_MC13783
131         imply SND_SOC_ML26124
132         imply SND_SOC_MT6351
133         imply SND_SOC_MT6358
134         imply SND_SOC_MT6359
135         imply SND_SOC_MT6660
136         imply SND_SOC_NAU8315
137         imply SND_SOC_NAU8540
138         imply SND_SOC_NAU8810
139         imply SND_SOC_NAU8822
140         imply SND_SOC_NAU8824
141         imply SND_SOC_NAU8825
142         imply SND_SOC_HDMI_CODEC
143         imply SND_SOC_PCM1681
144         imply SND_SOC_PCM1789_I2C
145         imply SND_SOC_PCM179X_I2C
146         imply SND_SOC_PCM179X_SPI
147         imply SND_SOC_PCM186X_I2C
148         imply SND_SOC_PCM186X_SPI
149         imply SND_SOC_PCM3008
150         imply SND_SOC_PCM3060_I2C
151         imply SND_SOC_PCM3060_SPI
152         imply SND_SOC_PCM3168A_I2C
153         imply SND_SOC_PCM3168A_SPI
154         imply SND_SOC_PCM5102A
155         imply SND_SOC_PCM512x_I2C
156         imply SND_SOC_PCM512x_SPI
157         imply SND_SOC_RK3328
158         imply SND_SOC_RK817
159         imply SND_SOC_RT274
160         imply SND_SOC_RT286
161         imply SND_SOC_RT298
162         imply SND_SOC_RT1011
163         imply SND_SOC_RT1015
164         imply SND_SOC_RT1015P
165         imply SND_SOC_RT1019
166         imply SND_SOC_RT1305
167         imply SND_SOC_RT1308
168         imply SND_SOC_RT5514
169         imply SND_SOC_RT5616
170         imply SND_SOC_RT5631
171         imply SND_SOC_RT5640
172         imply SND_SOC_RT5645
173         imply SND_SOC_RT5651
174         imply SND_SOC_RT5659
175         imply SND_SOC_RT5660
176         imply SND_SOC_RT5663
177         imply SND_SOC_RT5665
178         imply SND_SOC_RT5668
179         imply SND_SOC_RT5670
180         imply SND_SOC_RT5677
181         imply SND_SOC_RT5682_I2C
182         imply SND_SOC_RT5682_SDW
183         imply SND_SOC_RT700_SDW
184         imply SND_SOC_RT711_SDW
185         imply SND_SOC_RT711_SDCA_SDW
186         imply SND_SOC_RT715_SDW
187         imply SND_SOC_RT715_SDCA_SDW
188         imply SND_SOC_RT1308_SDW
189         imply SND_SOC_RT1316_SDW
190         imply SND_SOC_SGTL5000
191         imply SND_SOC_SI476X
192         imply SND_SOC_SIMPLE_AMPLIFIER
193         imply SND_SOC_SIMPLE_MUX
194         imply SND_SOC_SPDIF
195         imply SND_SOC_SSM2305
196         imply SND_SOC_SSM2518
197         imply SND_SOC_SSM2602_SPI
198         imply SND_SOC_SSM2602_I2C
199         imply SND_SOC_SSM4567
200         imply SND_SOC_STA32X
201         imply SND_SOC_STA350
202         imply SND_SOC_STA529
203         imply SND_SOC_STAC9766
204         imply SND_SOC_STI_SAS
205         imply SND_SOC_TAS2552
206         imply SND_SOC_TAS2562
207         imply SND_SOC_TAS2764
208         imply SND_SOC_TAS2770
209         imply SND_SOC_TAS5086
210         imply SND_SOC_TAS571X
211         imply SND_SOC_TAS5720
212         imply SND_SOC_TAS6424
213         imply SND_SOC_TDA7419
214         imply SND_SOC_TFA9879
215         imply SND_SOC_TFA989X
216         imply SND_SOC_TLV320ADCX140
217         imply SND_SOC_TLV320AIC23_I2C
218         imply SND_SOC_TLV320AIC23_SPI
219         imply SND_SOC_TLV320AIC26
220         imply SND_SOC_TLV320AIC31XX
221         imply SND_SOC_TLV320AIC32X4_I2C
222         imply SND_SOC_TLV320AIC32X4_SPI
223         imply SND_SOC_TLV320AIC3X_I2C
224         imply SND_SOC_TLV320AIC3X_SPI
225         imply SND_SOC_TPA6130A2
226         imply SND_SOC_TLV320DAC33
227         imply SND_SOC_TSCS42XX
228         imply SND_SOC_TSCS454
229         imply SND_SOC_TS3A227E
230         imply SND_SOC_TWL4030
231         imply SND_SOC_TWL6040
232         imply SND_SOC_UDA1334
233         imply SND_SOC_UDA134X
234         imply SND_SOC_UDA1380
235         imply SND_SOC_WCD9335
236         imply SND_SOC_WCD934X
237         imply SND_SOC_WCD937X
238         imply SND_SOC_WCD938X
239         imply SND_SOC_LPASS_RX_MACRO
240         imply SND_SOC_LPASS_TX_MACRO
241         imply SND_SOC_WL1273
242         imply SND_SOC_WM0010
243         imply SND_SOC_WM1250_EV1
244         imply SND_SOC_WM2000
245         imply SND_SOC_WM2200
246         imply SND_SOC_WM5100
247         imply SND_SOC_WM5102
248         imply SND_SOC_WM5110
249         imply SND_SOC_WM8350
250         imply SND_SOC_WM8400
251         imply SND_SOC_WM8510
252         imply SND_SOC_WM8523
253         imply SND_SOC_WM8524
254         imply SND_SOC_WM8580
255         imply SND_SOC_WM8711
256         imply SND_SOC_WM8727
257         imply SND_SOC_WM8728
258         imply SND_SOC_WM8731
259         imply SND_SOC_WM8737
260         imply SND_SOC_WM8741
261         imply SND_SOC_WM8750
262         imply SND_SOC_WM8753
263         imply SND_SOC_WM8770
264         imply SND_SOC_WM8776
265         imply SND_SOC_WM8782
266         imply SND_SOC_WM8804_I2C
267         imply SND_SOC_WM8804_SPI
268         imply SND_SOC_WM8900
269         imply SND_SOC_WM8903
270         imply SND_SOC_WM8904
271         imply SND_SOC_WM8940
272         imply SND_SOC_WM8955
273         imply SND_SOC_WM8960
274         imply SND_SOC_WM8961
275         imply SND_SOC_WM8962
276         imply SND_SOC_WM8971
277         imply SND_SOC_WM8974
278         imply SND_SOC_WM8978
279         imply SND_SOC_WM8983
280         imply SND_SOC_WM8985
281         imply SND_SOC_WM8988
282         imply SND_SOC_WM8990
283         imply SND_SOC_WM8991
284         imply SND_SOC_WM8993
285         imply SND_SOC_WM8994
286         imply SND_SOC_WM8995
287         imply SND_SOC_WM8996
288         imply SND_SOC_WM8997
289         imply SND_SOC_WM8998
290         imply SND_SOC_WM9081
291         imply SND_SOC_WM9090
292         imply SND_SOC_WM9705
293         imply SND_SOC_WM9712
294         imply SND_SOC_WM9713
295         imply SND_SOC_WSA881X
296         imply SND_SOC_ZL38060
297         help
298           Normally ASoC codec drivers are only built if a machine driver which
299           uses them is also built since they are only usable with a machine
300           driver.  Selecting this option will allow these drivers to be built
301           without an explicit machine driver for test and development purposes.
302
303           Support for the bus types used to access the codecs to be built must
304           be selected separately.
305
306           If unsure select "N".
307
308 config SND_SOC_88PM860X
309         tristate
310         depends on MFD_88PM860X
311
312 config SND_SOC_ARIZONA
313         tristate
314         default y if SND_SOC_CS47L24=y
315         default y if SND_SOC_WM5102=y
316         default y if SND_SOC_WM5110=y
317         default y if SND_SOC_WM8997=y
318         default y if SND_SOC_WM8998=y
319         default m if SND_SOC_CS47L24=m
320         default m if SND_SOC_WM5102=m
321         default m if SND_SOC_WM5110=m
322         default m if SND_SOC_WM8997=m
323         default m if SND_SOC_WM8998=m
324
325 config SND_SOC_WM_HUBS
326         tristate
327         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
328         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
329
330 config SND_SOC_WM_ADSP
331         tristate
332         select SND_SOC_COMPRESS
333         default y if SND_SOC_MADERA=y
334         default y if SND_SOC_CS47L24=y
335         default y if SND_SOC_WM5102=y
336         default y if SND_SOC_WM5110=y
337         default y if SND_SOC_WM2200=y
338         default m if SND_SOC_MADERA=m
339         default m if SND_SOC_CS47L24=m
340         default m if SND_SOC_WM5102=m
341         default m if SND_SOC_WM5110=m
342         default m if SND_SOC_WM2200=m
343
344 config SND_SOC_AB8500_CODEC
345         tristate
346         depends on ABX500_CORE
347
348 config SND_SOC_AC97_CODEC
349         tristate "Build generic ASoC AC97 CODEC driver"
350         select SND_AC97_CODEC
351         select SND_SOC_AC97_BUS
352
353 config SND_SOC_AD1836
354         tristate
355         depends on SPI_MASTER
356
357 config SND_SOC_AD193X
358         tristate
359
360 config SND_SOC_AD193X_SPI
361         tristate
362         depends on SPI_MASTER
363         select SND_SOC_AD193X
364
365 config SND_SOC_AD193X_I2C
366         tristate
367         depends on I2C
368         select SND_SOC_AD193X
369
370 config SND_SOC_AD1980
371         tristate
372         depends on SND_SOC_AC97_BUS
373         select REGMAP_AC97
374
375 config SND_SOC_AD73311
376         tristate
377
378 config SND_SOC_ADAU_UTILS
379         tristate
380
381 config SND_SOC_ADAU1372
382         tristate
383         select SND_SOC_ADAU_UTILS
384
385 config SND_SOC_ADAU1372_I2C
386         tristate "Analog Devices ADAU1372 CODEC (I2C)"
387         depends on I2C
388         select SND_SOC_ADAU1372
389         select REGMAP_I2C
390
391 config SND_SOC_ADAU1372_SPI
392         tristate "Analog Devices ADAU1372 CODEC (SPI)"
393         depends on SPI
394         select SND_SOC_ADAU1372
395         select REGMAP_SPI
396
397 config SND_SOC_ADAU1373
398         tristate
399         depends on I2C
400         select SND_SOC_ADAU_UTILS
401
402 config SND_SOC_ADAU1701
403         tristate "Analog Devices ADAU1701 CODEC"
404         depends on I2C
405         select SND_SOC_SIGMADSP_I2C
406
407 config SND_SOC_ADAU17X1
408         tristate
409         select SND_SOC_SIGMADSP_REGMAP
410         select SND_SOC_ADAU_UTILS
411
412 config SND_SOC_ADAU1761
413         tristate
414         select SND_SOC_ADAU17X1
415
416 config SND_SOC_ADAU1761_I2C
417         tristate "Analog Devices AU1761 CODEC - I2C"
418         depends on I2C
419         select SND_SOC_ADAU1761
420         select REGMAP_I2C
421
422 config SND_SOC_ADAU1761_SPI
423         tristate "Analog Devices AU1761 CODEC - SPI"
424         depends on SPI
425         select SND_SOC_ADAU1761
426         select REGMAP_SPI
427
428 config SND_SOC_ADAU1781
429         select SND_SOC_ADAU17X1
430         tristate
431
432 config SND_SOC_ADAU1781_I2C
433         tristate
434         depends on I2C
435         select SND_SOC_ADAU1781
436         select REGMAP_I2C
437
438 config SND_SOC_ADAU1781_SPI
439         tristate
440         depends on SPI_MASTER
441         select SND_SOC_ADAU1781
442         select REGMAP_SPI
443
444 config SND_SOC_ADAU1977
445         tristate
446
447 config SND_SOC_ADAU1977_SPI
448         tristate
449         depends on SPI_MASTER
450         select SND_SOC_ADAU1977
451         select REGMAP_SPI
452
453 config SND_SOC_ADAU1977_I2C
454         tristate
455         depends on I2C
456         select SND_SOC_ADAU1977
457         select REGMAP_I2C
458
459 config SND_SOC_ADAU7002
460         tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
461
462 config SND_SOC_ADAU7118
463         tristate
464
465 config SND_SOC_ADAU7118_HW
466         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
467         select SND_SOC_ADAU7118
468         help
469           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
470           Converter. In this mode, the device works in standalone mode which
471           means that there is no bus to communicate with it. Stereo mode is not
472           supported in this mode.
473
474           To compile this driver as a module, choose M here: the module
475           will be called snd-soc-adau7118-hw.
476
477 config SND_SOC_ADAU7118_I2C
478         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
479         depends on I2C
480         select SND_SOC_ADAU7118
481         select REGMAP_I2C
482         help
483           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
484           Converter over I2C. This gives full support over the device.
485
486           To compile this driver as a module, choose M here: the module
487           will be called snd-soc-adau7118-i2c.
488
489 config SND_SOC_ADAV80X
490         tristate
491
492 config SND_SOC_ADAV801
493         tristate
494         depends on SPI_MASTER
495         select SND_SOC_ADAV80X
496
497 config SND_SOC_ADAV803
498         tristate
499         depends on I2C
500         select SND_SOC_ADAV80X
501
502 config SND_SOC_ADS117X
503         tristate
504
505 config SND_SOC_AK4104
506         tristate "AKM AK4104 CODEC"
507         depends on SPI_MASTER
508
509 config SND_SOC_AK4118
510         tristate "AKM AK4118 CODEC"
511         depends on I2C
512         select REGMAP_I2C
513
514 config SND_SOC_AK4458
515         tristate "AKM AK4458 CODEC"
516         depends on I2C
517         select REGMAP_I2C
518
519 config SND_SOC_AK4535
520         tristate
521         depends on I2C
522
523 config SND_SOC_AK4554
524         tristate "AKM AK4554 CODEC"
525
526 config SND_SOC_AK4613
527         tristate "AKM AK4613 CODEC"
528         depends on I2C
529
530 config SND_SOC_AK4641
531         tristate
532         depends on I2C
533
534 config SND_SOC_AK4642
535         tristate "AKM AK4642 CODEC"
536         depends on I2C
537
538 config SND_SOC_AK4671
539         tristate
540         depends on I2C
541
542 config SND_SOC_AK5386
543         tristate "AKM AK5638 CODEC"
544
545 config SND_SOC_AK5558
546         tristate "AKM AK5558 CODEC"
547         depends on I2C
548         select REGMAP_I2C
549
550 config SND_SOC_ALC5623
551         tristate "Realtek ALC5623 CODEC"
552         depends on I2C
553
554 config SND_SOC_ALC5632
555         tristate
556         depends on I2C
557
558 config SND_SOC_BD28623
559         tristate "ROHM BD28623 CODEC"
560         help
561           Enable support for ROHM BD28623MUV Class D speaker amplifier.
562           This codec does not have any control buses such as I2C, it
563           detect format of I2S automatically.
564
565 config SND_SOC_BT_SCO
566         tristate "Dummy BT SCO codec driver"
567
568 config SND_SOC_CPCAP
569         tristate "Motorola CPCAP codec"
570         depends on MFD_CPCAP
571
572 config SND_SOC_CQ0093VC
573         tristate
574
575 config SND_SOC_CROS_EC_CODEC
576         tristate "codec driver for ChromeOS EC"
577         depends on CROS_EC
578         select CRYPTO
579         select CRYPTO_LIB_SHA256
580         help
581           If you say yes here you will get support for the
582           ChromeOS Embedded Controller's Audio Codec.
583
584 config SND_SOC_CS35L32
585         tristate "Cirrus Logic CS35L32 CODEC"
586         depends on I2C
587
588 config SND_SOC_CS35L33
589         tristate "Cirrus Logic CS35L33 CODEC"
590         depends on I2C
591
592 config SND_SOC_CS35L34
593         tristate "Cirrus Logic CS35L34 CODEC"
594         depends on I2C
595
596 config SND_SOC_CS35L35
597         tristate "Cirrus Logic CS35L35 CODEC"
598         depends on I2C
599
600 config SND_SOC_CS35L36
601         tristate "Cirrus Logic CS35L36 CODEC"
602         depends on I2C
603
604 config SND_SOC_CS42L42
605         tristate "Cirrus Logic CS42L42 CODEC"
606         depends on I2C
607
608 config SND_SOC_CS42L51
609         tristate
610
611 config SND_SOC_CS42L51_I2C
612         tristate "Cirrus Logic CS42L51 CODEC (I2C)"
613         depends on I2C
614         select SND_SOC_CS42L51
615
616 config SND_SOC_CS42L52
617         tristate "Cirrus Logic CS42L52 CODEC"
618         depends on I2C && INPUT
619
620 config SND_SOC_CS42L56
621         tristate "Cirrus Logic CS42L56 CODEC"
622         depends on I2C && INPUT
623
624 config SND_SOC_CS42L73
625         tristate "Cirrus Logic CS42L73 CODEC"
626         depends on I2C
627
628 config SND_SOC_CS4234
629         tristate "Cirrus Logic CS4234 CODEC"
630         depends on I2C
631         select REGMAP_I2C
632
633 config SND_SOC_CS4265
634         tristate "Cirrus Logic CS4265 CODEC"
635         depends on I2C
636         select REGMAP_I2C
637
638 # Cirrus Logic CS4270 Codec
639 config SND_SOC_CS4270
640         tristate "Cirrus Logic CS4270 CODEC"
641         depends on I2C
642
643 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
644 # Select if you are affected by the errata where the part will not function
645 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
646 # not select any sample rates that require MCLK to be divided by 1.5.
647 config SND_SOC_CS4270_VD33_ERRATA
648         bool
649         depends on SND_SOC_CS4270
650
651 config SND_SOC_CS4271
652         tristate
653
654 config SND_SOC_CS4271_I2C
655         tristate "Cirrus Logic CS4271 CODEC (I2C)"
656         depends on I2C
657         select SND_SOC_CS4271
658         select REGMAP_I2C
659
660 config SND_SOC_CS4271_SPI
661         tristate "Cirrus Logic CS4271 CODEC (SPI)"
662         depends on SPI_MASTER
663         select SND_SOC_CS4271
664         select REGMAP_SPI
665
666 config SND_SOC_CS42XX8
667         tristate
668
669 config SND_SOC_CS42XX8_I2C
670         tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
671         depends on I2C
672         select SND_SOC_CS42XX8
673         select REGMAP_I2C
674
675 # Cirrus Logic CS43130 HiFi DAC
676 config SND_SOC_CS43130
677         tristate "Cirrus Logic CS43130 CODEC"
678         depends on I2C
679
680 config SND_SOC_CS4341
681         tristate "Cirrus Logic CS4341 CODEC"
682         depends on SND_SOC_I2C_AND_SPI
683         select REGMAP_I2C if I2C
684         select REGMAP_SPI if SPI_MASTER
685
686 # Cirrus Logic CS4349 HiFi DAC
687 config SND_SOC_CS4349
688         tristate "Cirrus Logic CS4349 CODEC"
689         depends on I2C
690
691 config SND_SOC_CS47L15
692         tristate
693
694 config SND_SOC_CS47L24
695         tristate
696         depends on MFD_CS47L24 && MFD_ARIZONA
697
698 config SND_SOC_CS47L35
699         tristate
700
701 config SND_SOC_CS47L85
702         tristate
703
704 config SND_SOC_CS47L90
705         tristate
706
707 config SND_SOC_CS47L92
708         tristate
709
710 # Cirrus Logic Quad-Channel ADC
711 config SND_SOC_CS53L30
712         tristate "Cirrus Logic CS53L30 CODEC"
713         depends on I2C
714
715 config SND_SOC_CX20442
716         tristate
717         depends on TTY
718
719 config SND_SOC_CX2072X
720         tristate "Conexant CX2072X CODEC"
721         depends on I2C
722         help
723           Enable support for Conexant CX20721 and CX20723 codec chips.
724
725 config SND_SOC_JZ4740_CODEC
726         depends on MACH_INGENIC || COMPILE_TEST
727         depends on OF
728         select REGMAP_MMIO
729         tristate "Ingenic JZ4740 internal CODEC"
730         help
731           Enable support for the internal CODEC found in the JZ4740 SoC
732           from Ingenic.
733
734           This driver can also be built as a module. If so, the module
735           will be called snd-soc-jz4740-codec.
736
737 config SND_SOC_JZ4725B_CODEC
738         depends on MACH_INGENIC || COMPILE_TEST
739         depends on OF
740         select REGMAP
741         tristate "Ingenic JZ4725B internal CODEC"
742         help
743           Enable support for the internal CODEC found in the JZ4725B SoC
744           from Ingenic.
745
746           This driver can also be built as a module. If so, the module
747           will be called snd-soc-jz4725b-codec.
748
749 config SND_SOC_JZ4760_CODEC
750         depends on MACH_INGENIC || COMPILE_TEST
751         depends on OF
752         select REGMAP
753         tristate "Ingenic JZ4760 internal CODEC"
754         help
755           Enable support for the internal CODEC found in the JZ4760 SoC
756           from Ingenic.
757
758           This driver can also be built as a module. If so, the module
759           will be called snd-soc-jz4760-codec.
760
761 config SND_SOC_JZ4770_CODEC
762         depends on MACH_INGENIC || COMPILE_TEST
763         depends on OF
764         select REGMAP
765         tristate "Ingenic JZ4770 internal CODEC"
766         help
767           Enable support for the internal CODEC found in the JZ4770 SoC
768           from Ingenic.
769
770           This driver can also be built as a module. If so, the module
771           will be called snd-soc-jz4770-codec.
772
773 config SND_SOC_L3
774         tristate
775
776 config SND_SOC_DA7210
777         tristate
778         depends on SND_SOC_I2C_AND_SPI
779
780 config SND_SOC_DA7213
781         tristate "Dialog DA7213 CODEC"
782         depends on I2C
783
784 config SND_SOC_DA7218
785         tristate
786         depends on I2C
787
788 config SND_SOC_DA7219
789         tristate
790         depends on I2C
791
792 config SND_SOC_DA732X
793         tristate
794         depends on I2C
795
796 config SND_SOC_DA9055
797         tristate
798         depends on I2C
799
800 config SND_SOC_DMIC
801         tristate "Generic Digital Microphone CODEC"
802         depends on GPIOLIB
803         help
804           Enable support for the Generic Digital Microphone CODEC.
805           Select this if your sound card has DMICs.
806
807 config SND_SOC_HDMI_CODEC
808         tristate
809         select SND_PCM_ELD
810         select SND_PCM_IEC958
811         select HDMI
812
813 config SND_SOC_ES7134
814         tristate "Everest Semi ES7134 CODEC"
815
816 config SND_SOC_ES7241
817         tristate "Everest Semi ES7241 CODEC"
818
819 config SND_SOC_ES8316
820         tristate "Everest Semi ES8316 CODEC"
821         depends on I2C
822
823 config SND_SOC_ES8328
824         tristate
825
826 config SND_SOC_ES8328_I2C
827         tristate "Everest Semi ES8328 CODEC (I2C)"
828         depends on I2C
829         select SND_SOC_ES8328
830
831 config SND_SOC_ES8328_SPI
832         tristate "Everest Semi ES8328 CODEC (SPI)"
833         depends on SPI_MASTER
834         select SND_SOC_ES8328
835
836 config SND_SOC_GTM601
837         tristate 'GTM601 UMTS modem audio codec'
838
839 config SND_SOC_HDAC_HDMI
840         tristate
841         select SND_HDA_EXT_CORE
842         select SND_PCM_ELD
843         select HDMI
844
845 config SND_SOC_HDAC_HDA
846         tristate
847         select SND_HDA
848
849 config SND_SOC_ICS43432
850         tristate
851
852 config SND_SOC_INNO_RK3036
853         tristate "Inno codec driver for RK3036 SoC"
854         select REGMAP_MMIO
855
856 config SND_SOC_ISABELLE
857         tristate
858         depends on I2C
859
860 config SND_SOC_LM49453
861         tristate
862         depends on I2C
863
864 config SND_SOC_LOCHNAGAR_SC
865         tristate "Lochnagar Sound Card"
866         depends on MFD_LOCHNAGAR
867         help
868           This driver support the sound card functionality of the Cirrus
869           Logic Lochnagar audio development board.
870
871 config SND_SOC_MADERA
872         tristate
873         default y if SND_SOC_CS47L15=y
874         default y if SND_SOC_CS47L35=y
875         default y if SND_SOC_CS47L85=y
876         default y if SND_SOC_CS47L90=y
877         default y if SND_SOC_CS47L92=y
878         default m if SND_SOC_CS47L15=m
879         default m if SND_SOC_CS47L35=m
880         default m if SND_SOC_CS47L85=m
881         default m if SND_SOC_CS47L90=m
882         default m if SND_SOC_CS47L92=m
883
884 config SND_SOC_MAX98088
885         tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
886         depends on I2C
887
888 config SND_SOC_MAX98090
889         tristate
890         depends on I2C
891
892 config SND_SOC_MAX98095
893         tristate
894         depends on I2C
895
896 config SND_SOC_MAX98357A
897         tristate "Maxim MAX98357A CODEC"
898         depends on GPIOLIB
899
900 config SND_SOC_MAX98371
901         tristate
902         depends on I2C
903
904 config SND_SOC_MAX98504
905         tristate "Maxim MAX98504 speaker amplifier"
906         depends on I2C
907
908 config SND_SOC_MAX9867
909         tristate "Maxim MAX9867 CODEC"
910         depends on I2C
911
912 config SND_SOC_MAX98925
913         tristate
914         depends on I2C
915
916 config SND_SOC_MAX98926
917         tristate
918         depends on I2C
919
920 config SND_SOC_MAX98927
921         tristate "Maxim Integrated MAX98927 Speaker Amplifier"
922         depends on I2C
923
924 config SND_SOC_MAX98373
925         tristate
926
927 config SND_SOC_MAX98373_I2C
928         tristate "Maxim Integrated MAX98373 Speaker Amplifier"
929         depends on I2C
930         select SND_SOC_MAX98373
931
932 config SND_SOC_MAX98373_SDW
933         tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
934         depends on SOUNDWIRE
935         select SND_SOC_MAX98373
936         select REGMAP_SOUNDWIRE
937         help
938           Enable support for Maxim Integrated MAX98373 Soundwire
939           amplifier. MAX98373 supports either the MIPI SoundWire
940           compatible interface for audio and control data, or
941           the PCM interface for audio data and a standard I2C
942           interface for control data. Select this if MAX98373 is
943           connected via soundwire.
944
945 config SND_SOC_MAX98390
946         tristate "Maxim Integrated MAX98390 Speaker Amplifier"
947         depends on I2C
948
949 config SND_SOC_MAX9850
950         tristate
951         depends on I2C
952
953 config SND_SOC_MAX9860
954         tristate "Maxim MAX9860 Mono Audio Voice Codec"
955         depends on I2C
956         select REGMAP_I2C
957
958 config SND_SOC_MSM8916_WCD_ANALOG
959         tristate "Qualcomm MSM8916 WCD Analog Codec"
960         depends on SPMI || COMPILE_TEST
961
962 config SND_SOC_MSM8916_WCD_DIGITAL
963         tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
964         select REGMAP_MMIO
965
966 config SND_SOC_PCM1681
967         tristate "Texas Instruments PCM1681 CODEC"
968         depends on I2C
969
970 config SND_SOC_PCM1789
971         tristate
972
973 config SND_SOC_PCM1789_I2C
974         tristate "Texas Instruments PCM1789 CODEC (I2C)"
975         depends on I2C
976         select SND_SOC_PCM1789
977         help
978           Enable support for Texas Instruments PCM1789 CODEC.
979           Select this if your PCM1789 is connected via an I2C bus.
980
981 config SND_SOC_PCM179X
982         tristate
983
984 config SND_SOC_PCM179X_I2C
985         tristate "Texas Instruments PCM179X CODEC (I2C)"
986         depends on I2C
987         select SND_SOC_PCM179X
988         help
989           Enable support for Texas Instruments PCM179x CODEC.
990           Select this if your PCM179x is connected via an I2C bus.
991
992 config SND_SOC_PCM179X_SPI
993         tristate "Texas Instruments PCM179X CODEC (SPI)"
994         depends on SPI_MASTER
995         select SND_SOC_PCM179X
996         help
997           Enable support for Texas Instruments PCM179x CODEC.
998           Select this if your PCM179x is connected via an SPI bus.
999
1000 config SND_SOC_PCM186X
1001         tristate
1002
1003 config SND_SOC_PCM186X_I2C
1004         tristate "Texas Instruments PCM186x CODECs - I2C"
1005         depends on I2C
1006         select SND_SOC_PCM186X
1007         select REGMAP_I2C
1008
1009 config SND_SOC_PCM186X_SPI
1010         tristate "Texas Instruments PCM186x CODECs - SPI"
1011         depends on SPI_MASTER
1012         select SND_SOC_PCM186X
1013         select REGMAP_SPI
1014
1015 config SND_SOC_PCM3008
1016         tristate
1017
1018 config SND_SOC_PCM3060
1019         tristate
1020
1021 config SND_SOC_PCM3060_I2C
1022         tristate "Texas Instruments PCM3060 CODEC - I2C"
1023         depends on I2C
1024         select SND_SOC_PCM3060
1025         select REGMAP_I2C
1026
1027 config SND_SOC_PCM3060_SPI
1028         tristate "Texas Instruments PCM3060 CODEC - SPI"
1029         depends on SPI_MASTER
1030         select SND_SOC_PCM3060
1031         select REGMAP_SPI
1032
1033 config SND_SOC_PCM3168A
1034         tristate
1035
1036 config SND_SOC_PCM3168A_I2C
1037         tristate "Texas Instruments PCM3168A CODEC - I2C"
1038         depends on I2C
1039         select SND_SOC_PCM3168A
1040         select REGMAP_I2C
1041
1042 config SND_SOC_PCM3168A_SPI
1043         tristate "Texas Instruments PCM3168A CODEC - SPI"
1044         depends on SPI_MASTER
1045         select SND_SOC_PCM3168A
1046         select REGMAP_SPI
1047
1048 config SND_SOC_PCM5102A
1049         tristate "Texas Instruments PCM5102A CODEC"
1050
1051 config SND_SOC_PCM512x
1052         tristate
1053
1054 config SND_SOC_PCM512x_I2C
1055         tristate "Texas Instruments PCM512x CODECs - I2C"
1056         depends on I2C
1057         select SND_SOC_PCM512x
1058         select REGMAP_I2C
1059
1060 config SND_SOC_PCM512x_SPI
1061         tristate "Texas Instruments PCM512x CODECs - SPI"
1062         depends on SPI_MASTER
1063         select SND_SOC_PCM512x
1064         select REGMAP_SPI
1065
1066 config SND_SOC_RK3328
1067         tristate "Rockchip RK3328 audio CODEC"
1068         select REGMAP_MMIO
1069
1070 config SND_SOC_RK817
1071         tristate "Rockchip RK817 audio CODEC"
1072         depends on MFD_RK808
1073         select REGMAP_I2C
1074
1075 config SND_SOC_RL6231
1076         tristate
1077         default y if SND_SOC_RT5514=y
1078         default y if SND_SOC_RT5616=y
1079         default y if SND_SOC_RT5640=y
1080         default y if SND_SOC_RT5645=y
1081         default y if SND_SOC_RT5651=y
1082         default y if SND_SOC_RT5659=y
1083         default y if SND_SOC_RT5660=y
1084         default y if SND_SOC_RT5663=y
1085         default y if SND_SOC_RT5665=y
1086         default y if SND_SOC_RT5668=y
1087         default y if SND_SOC_RT5670=y
1088         default y if SND_SOC_RT5677=y
1089         default y if SND_SOC_RT5682=y
1090         default y if SND_SOC_RT1011=y
1091         default y if SND_SOC_RT1015=y
1092         default y if SND_SOC_RT1015P=y
1093         default y if SND_SOC_RT1019=y
1094         default y if SND_SOC_RT1305=y
1095         default y if SND_SOC_RT1308=y
1096         default m if SND_SOC_RT5514=m
1097         default m if SND_SOC_RT5616=m
1098         default m if SND_SOC_RT5640=m
1099         default m if SND_SOC_RT5645=m
1100         default m if SND_SOC_RT5651=m
1101         default m if SND_SOC_RT5659=m
1102         default m if SND_SOC_RT5660=m
1103         default m if SND_SOC_RT5663=m
1104         default m if SND_SOC_RT5665=m
1105         default m if SND_SOC_RT5668=m
1106         default m if SND_SOC_RT5670=m
1107         default m if SND_SOC_RT5677=m
1108         default m if SND_SOC_RT5682=m
1109         default m if SND_SOC_RT1011=m
1110         default m if SND_SOC_RT1015=m
1111         default m if SND_SOC_RT1015P=m
1112         default m if SND_SOC_RT1019=m
1113         default m if SND_SOC_RT1305=m
1114         default m if SND_SOC_RT1308=m
1115
1116 config SND_SOC_RL6347A
1117         tristate
1118         default y if SND_SOC_RT274=y
1119         default y if SND_SOC_RT286=y
1120         default y if SND_SOC_RT298=y
1121         default m if SND_SOC_RT274=m
1122         default m if SND_SOC_RT286=m
1123         default m if SND_SOC_RT298=m
1124
1125 config SND_SOC_RT274
1126         tristate
1127         depends on I2C
1128
1129 config SND_SOC_RT286
1130         tristate
1131         depends on I2C
1132
1133 config SND_SOC_RT298
1134         tristate
1135         depends on I2C
1136
1137 config SND_SOC_RT1011
1138         tristate
1139         depends on I2C
1140
1141 config SND_SOC_RT1015
1142         tristate
1143         depends on I2C
1144
1145 config SND_SOC_RT1015P
1146         tristate
1147         depends on GPIOLIB
1148
1149 config SND_SOC_RT1019
1150         tristate
1151         depends on I2C
1152
1153 config SND_SOC_RT1305
1154         tristate
1155         depends on I2C
1156
1157 config SND_SOC_RT1308
1158         tristate
1159         depends on I2C
1160
1161 config SND_SOC_RT1308_SDW
1162         tristate "Realtek RT1308 Codec - SDW"
1163         depends on I2C && SOUNDWIRE
1164         select REGMAP_SOUNDWIRE
1165
1166 config SND_SOC_RT1316_SDW
1167         tristate "Realtek RT1316 Codec - SDW"
1168         depends on SOUNDWIRE
1169         select REGMAP_SOUNDWIRE
1170
1171 config SND_SOC_RT5514
1172         tristate
1173         depends on I2C
1174
1175 config SND_SOC_RT5514_SPI
1176         tristate
1177         depends on SPI_MASTER
1178
1179 config SND_SOC_RT5514_SPI_BUILTIN
1180         bool # force RT5514_SPI to be built-in to avoid link errors
1181         default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1182
1183 config SND_SOC_RT5616
1184         tristate "Realtek RT5616 CODEC"
1185         depends on I2C
1186
1187 config SND_SOC_RT5631
1188         tristate "Realtek ALC5631/RT5631 CODEC"
1189         depends on I2C
1190
1191 config SND_SOC_RT5640
1192         tristate "Realtek RT5640/RT5639 Codec"
1193         depends on I2C
1194
1195 config SND_SOC_RT5645
1196         tristate
1197         depends on I2C
1198
1199 config SND_SOC_RT5651
1200         tristate
1201         depends on I2C
1202
1203 config SND_SOC_RT5659
1204         tristate "Realtek RT5658/RT5659 Codec"
1205         depends on I2C
1206
1207 config SND_SOC_RT5660
1208         tristate
1209         depends on I2C
1210
1211 config SND_SOC_RT5663
1212         tristate
1213         depends on I2C
1214
1215 config SND_SOC_RT5665
1216         tristate
1217         depends on I2C
1218
1219 config SND_SOC_RT5668
1220         tristate
1221         depends on I2C
1222
1223 config SND_SOC_RT5670
1224         tristate
1225         depends on I2C
1226
1227 config SND_SOC_RT5677
1228         tristate
1229         depends on I2C
1230         select REGMAP_I2C
1231         select REGMAP_IRQ
1232
1233 config SND_SOC_RT5677_SPI
1234         tristate
1235         default SND_SOC_RT5677 && SPI
1236
1237 config SND_SOC_RT5682
1238         tristate
1239
1240 config SND_SOC_RT5682_I2C
1241         tristate
1242         depends on I2C
1243         select SND_SOC_RT5682
1244
1245 config SND_SOC_RT5682_SDW
1246         tristate "Realtek RT5682 Codec - SDW"
1247         depends on SOUNDWIRE
1248         select SND_SOC_RT5682
1249         select REGMAP_SOUNDWIRE
1250
1251 config SND_SOC_RT700
1252         tristate
1253
1254 config SND_SOC_RT700_SDW
1255         tristate "Realtek RT700 Codec - SDW"
1256         depends on SOUNDWIRE
1257         select SND_SOC_RT700
1258         select REGMAP_SOUNDWIRE
1259
1260 config SND_SOC_RT711
1261         tristate
1262
1263 config SND_SOC_RT711_SDW
1264         tristate "Realtek RT711 Codec - SDW"
1265         depends on SOUNDWIRE
1266         select SND_SOC_RT711
1267         select REGMAP_SOUNDWIRE
1268
1269 config SND_SOC_RT711_SDCA_SDW
1270         tristate "Realtek RT711 SDCA Codec - SDW"
1271         depends on SOUNDWIRE
1272         select REGMAP_SOUNDWIRE
1273         select REGMAP_SOUNDWIRE_MBQ
1274
1275 config SND_SOC_RT715
1276         tristate
1277
1278 config SND_SOC_RT715_SDW
1279         tristate "Realtek RT715 Codec - SDW"
1280         depends on SOUNDWIRE
1281         select SND_SOC_RT715
1282         select REGMAP_SOUNDWIRE
1283
1284 config SND_SOC_RT715_SDCA_SDW
1285         tristate "Realtek RT715 SDCA Codec - SDW"
1286         depends on SOUNDWIRE
1287         select REGMAP_SOUNDWIRE
1288         select REGMAP_SOUNDWIRE_MBQ
1289
1290 #Freescale sgtl5000 codec
1291 config SND_SOC_SGTL5000
1292         tristate "Freescale SGTL5000 CODEC"
1293         depends on I2C
1294
1295 config SND_SOC_SI476X
1296         tristate
1297
1298 config SND_SOC_SIGMADSP
1299         tristate
1300         select CRC32
1301
1302 config SND_SOC_SIGMADSP_I2C
1303         tristate
1304         select SND_SOC_SIGMADSP
1305
1306 config SND_SOC_SIGMADSP_REGMAP
1307         tristate
1308         select SND_SOC_SIGMADSP
1309
1310 config SND_SOC_SIMPLE_AMPLIFIER
1311         tristate "Simple Audio Amplifier"
1312         select GPIOLIB
1313
1314 config SND_SOC_SIMPLE_MUX
1315         tristate "Simple Audio Mux"
1316         select GPIOLIB
1317
1318 config SND_SOC_SPDIF
1319         tristate "S/PDIF CODEC"
1320
1321 config SND_SOC_SSM2305
1322         tristate "Analog Devices SSM2305 Class-D Amplifier"
1323         help
1324           Enable support for Analog Devices SSM2305 filterless
1325           high-efficiency mono Class-D audio power amplifiers.
1326
1327 config SND_SOC_SSM2518
1328         tristate "Analog Devices SSM2518 Class-D Amplifier"
1329         depends on I2C
1330
1331 config SND_SOC_SSM2602
1332         tristate
1333
1334 config SND_SOC_SSM2602_SPI
1335         tristate "Analog Devices SSM2602 CODEC - SPI"
1336         depends on SPI_MASTER
1337         select SND_SOC_SSM2602
1338         select REGMAP_SPI
1339
1340 config SND_SOC_SSM2602_I2C
1341         tristate "Analog Devices SSM2602 CODEC - I2C"
1342         depends on I2C
1343         select SND_SOC_SSM2602
1344         select REGMAP_I2C
1345
1346 config SND_SOC_SSM4567
1347         tristate "Analog Devices ssm4567 amplifier driver support"
1348         depends on I2C
1349
1350 config SND_SOC_STA32X
1351         tristate "STA326, STA328 and STA329 speaker amplifier"
1352         depends on I2C
1353         select REGMAP_I2C
1354
1355 config SND_SOC_STA350
1356         tristate "STA350 speaker amplifier"
1357         depends on I2C
1358
1359 config SND_SOC_STA529
1360         tristate
1361         depends on I2C
1362
1363 config SND_SOC_STAC9766
1364         tristate
1365         depends on SND_SOC_AC97_BUS
1366
1367 config SND_SOC_STI_SAS
1368         tristate "codec Audio support for STI SAS codec"
1369
1370 config SND_SOC_TAS2552
1371         tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1372         depends on I2C
1373
1374 config SND_SOC_TAS2562
1375         tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1376         depends on I2C
1377
1378 config SND_SOC_TAS2764
1379         tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1380         depends on I2C
1381
1382 config SND_SOC_TAS2770
1383         tristate "Texas Instruments TAS2770 speaker amplifier"
1384         depends on I2C
1385
1386 config SND_SOC_TAS5086
1387         tristate "Texas Instruments TAS5086 speaker amplifier"
1388         depends on I2C
1389
1390 config SND_SOC_TAS571X
1391         tristate "Texas Instruments TAS571x power amplifiers"
1392         depends on I2C
1393         help
1394           Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1395           TAS5719 and TAS5721 power amplifiers
1396
1397 config SND_SOC_TAS5720
1398         tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1399         depends on I2C
1400         help
1401           Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1402           Class-D audio power amplifiers.
1403
1404 config SND_SOC_TAS6424
1405         tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1406         depends on I2C
1407         help
1408           Enable support for Texas Instruments TAS6424 high-efficiency
1409           digital input quad-channel Class-D audio power amplifiers.
1410
1411 config SND_SOC_TDA7419
1412         tristate "ST TDA7419 audio processor"
1413         depends on I2C
1414         select REGMAP_I2C
1415
1416 config SND_SOC_TFA9879
1417         tristate "NXP Semiconductors TFA9879 amplifier"
1418         depends on I2C
1419
1420 config SND_SOC_TFA989X
1421         tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1422         depends on I2C
1423         select REGMAP_I2C
1424         help
1425           Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1426           amplifiers, e.g. TFA9895.
1427           Note that the driver currently bypasses the built-in "CoolFlux DSP"
1428           and does not support (hardware) volume control.
1429
1430 config SND_SOC_TLV320AIC23
1431         tristate
1432
1433 config SND_SOC_TLV320AIC23_I2C
1434         tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1435         depends on I2C
1436         select SND_SOC_TLV320AIC23
1437
1438 config SND_SOC_TLV320AIC23_SPI
1439         tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1440         depends on SPI_MASTER
1441         select SND_SOC_TLV320AIC23
1442
1443 config SND_SOC_TLV320AIC26
1444         tristate
1445         depends on SPI
1446
1447 config SND_SOC_TLV320AIC31XX
1448         tristate "Texas Instruments TLV320AIC31xx CODECs"
1449         depends on I2C
1450         select REGMAP_I2C
1451
1452 config SND_SOC_TLV320AIC32X4
1453         tristate
1454         depends on COMMON_CLK
1455
1456 config SND_SOC_TLV320AIC32X4_I2C
1457         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1458         depends on I2C
1459         depends on COMMON_CLK
1460         select SND_SOC_TLV320AIC32X4
1461
1462 config SND_SOC_TLV320AIC32X4_SPI
1463         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1464         depends on SPI_MASTER
1465         depends on COMMON_CLK
1466         select SND_SOC_TLV320AIC32X4
1467
1468 config SND_SOC_TLV320AIC3X
1469         tristate
1470
1471 config SND_SOC_TLV320AIC3X_I2C
1472         tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1473         depends on I2C
1474         select SND_SOC_TLV320AIC3X
1475         select REGMAP_I2C
1476
1477 config SND_SOC_TLV320AIC3X_SPI
1478         tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1479         depends on SPI_MASTER
1480         select SND_SOC_TLV320AIC3X
1481         select REGMAP_SPI
1482
1483 config SND_SOC_TLV320DAC33
1484         tristate
1485         depends on I2C
1486
1487 config SND_SOC_TLV320ADCX140
1488         tristate "Texas Instruments TLV320ADCX140 CODEC family"
1489         depends on I2C
1490         select REGMAP_I2C
1491         help
1492           Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1493           tlv320adc6140 quad channel ADCs.
1494
1495 config SND_SOC_TS3A227E
1496         tristate "TI Headset/Mic detect and keypress chip"
1497         depends on I2C
1498
1499 config SND_SOC_TSCS42XX
1500         tristate "Tempo Semiconductor TSCS42xx CODEC"
1501         depends on I2C
1502         select REGMAP_I2C
1503         help
1504           Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1505
1506 config SND_SOC_TSCS454
1507         tristate "Tempo Semiconductor TSCS454 CODEC"
1508         depends on I2C
1509         select REGMAP_I2C
1510         help
1511           Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1512
1513 config SND_SOC_TWL4030
1514         tristate
1515         depends on TWL4030_CORE
1516         select MFD_TWL4030_AUDIO
1517
1518 config SND_SOC_TWL6040
1519         tristate
1520         depends on TWL6040_CORE
1521
1522 config SND_SOC_UDA1334
1523         tristate "NXP UDA1334 DAC"
1524         depends on GPIOLIB
1525         help
1526           The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1527           and has basic features such as de-emphasis (at 44.1 kHz sampling
1528           rate) and mute.
1529
1530 config SND_SOC_UDA134X
1531         tristate
1532
1533 config SND_SOC_UDA1380
1534         tristate
1535         depends on I2C
1536
1537 config SND_SOC_WCD9335
1538         tristate "WCD9335 Codec"
1539         depends on SLIMBUS
1540         select REGMAP_SLIMBUS
1541         select REGMAP_IRQ
1542         help
1543           The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1544           Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1545           including the MSM8996, MSM8976, and MSM8956 chipsets.
1546
1547 config SND_SOC_WCD_MBHC
1548         tristate
1549
1550 config SND_SOC_WCD934X
1551         tristate "WCD9340/WCD9341 Codec"
1552         depends on COMMON_CLK
1553         select SND_SOC_WCD_MBHC
1554         depends on MFD_WCD934X
1555         help
1556           The WCD9340/9341 is a audio codec IC Integrated in
1557           Qualcomm SoCs like SDM845.
1558
1559 config SND_SOC_WCD938X
1560         depends on SND_SOC_WCD938X_SDW
1561         tristate
1562
1563 config SND_SOC_WCD938X_SDW
1564         tristate "WCD9380/WCD9385 Codec - SDW"
1565         select SND_SOC_WCD938X
1566         depends on SOUNDWIRE
1567         select REGMAP_SOUNDWIRE
1568         help
1569           The WCD9380/9385 is a audio codec IC Integrated in
1570           Qualcomm SoCs like SM8250.
1571
1572 config SND_SOC_WL1273
1573         tristate
1574
1575 config SND_SOC_WM0010
1576         tristate
1577         depends on SPI_MASTER
1578
1579 config SND_SOC_WM1250_EV1
1580         tristate
1581         depends on I2C
1582
1583 config SND_SOC_WM2000
1584         tristate
1585         depends on I2C
1586
1587 config SND_SOC_WM2200
1588         tristate
1589         depends on I2C
1590
1591 config SND_SOC_WM5100
1592         tristate
1593         depends on I2C
1594
1595 config SND_SOC_WM5102
1596         tristate
1597         depends on MFD_WM5102 && MFD_ARIZONA
1598
1599 config SND_SOC_WM5110
1600         tristate
1601         depends on MFD_WM5110 && MFD_ARIZONA
1602
1603 config SND_SOC_WM8350
1604         tristate
1605         depends on MFD_WM8350
1606
1607 config SND_SOC_WM8400
1608         tristate
1609         # FIXME nothing selects SND_SOC_WM8400??
1610         depends on MFD_WM8400
1611
1612 config SND_SOC_WM8510
1613         tristate "Wolfson Microelectronics WM8510 CODEC"
1614         depends on SND_SOC_I2C_AND_SPI
1615
1616 config SND_SOC_WM8523
1617         tristate "Wolfson Microelectronics WM8523 DAC"
1618         depends on I2C
1619
1620 config SND_SOC_WM8524
1621         tristate "Wolfson Microelectronics WM8524 DAC"
1622         depends on GPIOLIB
1623
1624 config SND_SOC_WM8580
1625         tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1626         depends on I2C
1627
1628 config SND_SOC_WM8711
1629         tristate "Wolfson Microelectronics WM8711 CODEC"
1630         depends on SND_SOC_I2C_AND_SPI
1631
1632 config SND_SOC_WM8727
1633         tristate
1634
1635 config SND_SOC_WM8728
1636         tristate "Wolfson Microelectronics WM8728 DAC"
1637         depends on SND_SOC_I2C_AND_SPI
1638
1639 config SND_SOC_WM8731
1640         tristate "Wolfson Microelectronics WM8731 CODEC"
1641         depends on SND_SOC_I2C_AND_SPI
1642
1643 config SND_SOC_WM8737
1644         tristate "Wolfson Microelectronics WM8737 ADC"
1645         depends on SND_SOC_I2C_AND_SPI
1646
1647 config SND_SOC_WM8741
1648         tristate "Wolfson Microelectronics WM8741 DAC"
1649         depends on SND_SOC_I2C_AND_SPI
1650
1651 config SND_SOC_WM8750
1652         tristate "Wolfson Microelectronics WM8750 CODEC"
1653         depends on SND_SOC_I2C_AND_SPI
1654
1655 config SND_SOC_WM8753
1656         tristate "Wolfson Microelectronics WM8753 CODEC"
1657         depends on SND_SOC_I2C_AND_SPI
1658
1659 config SND_SOC_WM8770
1660         tristate "Wolfson Microelectronics WM8770 CODEC"
1661         depends on SPI_MASTER
1662
1663 config SND_SOC_WM8776
1664         tristate "Wolfson Microelectronics WM8776 CODEC"
1665         depends on SND_SOC_I2C_AND_SPI
1666
1667 config SND_SOC_WM8782
1668         tristate "Wolfson Microelectronics WM8782 ADC"
1669
1670 config SND_SOC_WM8804
1671         tristate
1672
1673 config SND_SOC_WM8804_I2C
1674         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1675         depends on I2C
1676         select SND_SOC_WM8804
1677         select REGMAP_I2C
1678
1679 config SND_SOC_WM8804_SPI
1680         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1681         depends on SPI_MASTER
1682         select SND_SOC_WM8804
1683         select REGMAP_SPI
1684
1685 config SND_SOC_WM8900
1686         tristate
1687         depends on SND_SOC_I2C_AND_SPI
1688
1689 config SND_SOC_WM8903
1690         tristate "Wolfson Microelectronics WM8903 CODEC"
1691         depends on I2C
1692
1693 config SND_SOC_WM8904
1694         tristate "Wolfson Microelectronics WM8904 CODEC"
1695         depends on I2C
1696
1697 config SND_SOC_WM8940
1698         tristate
1699         depends on I2C
1700
1701 config SND_SOC_WM8955
1702         tristate
1703         depends on I2C
1704
1705 config SND_SOC_WM8960
1706         tristate "Wolfson Microelectronics WM8960 CODEC"
1707         depends on I2C
1708
1709 config SND_SOC_WM8961
1710         tristate
1711         depends on I2C
1712
1713 config SND_SOC_WM8962
1714         tristate "Wolfson Microelectronics WM8962 CODEC"
1715         depends on I2C && INPUT
1716
1717 config SND_SOC_WM8971
1718         tristate
1719         depends on I2C
1720
1721 config SND_SOC_WM8974
1722         tristate "Wolfson Microelectronics WM8974 codec"
1723         depends on I2C
1724
1725 config SND_SOC_WM8978
1726         tristate "Wolfson Microelectronics WM8978 codec"
1727         depends on I2C
1728
1729 config SND_SOC_WM8983
1730         tristate
1731         depends on SND_SOC_I2C_AND_SPI
1732
1733 config SND_SOC_WM8985
1734         tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1735         depends on SND_SOC_I2C_AND_SPI
1736
1737 config SND_SOC_WM8988
1738         tristate
1739         depends on SND_SOC_I2C_AND_SPI
1740
1741 config SND_SOC_WM8990
1742         tristate
1743         depends on I2C
1744
1745 config SND_SOC_WM8991
1746         tristate
1747         depends on I2C
1748
1749 config SND_SOC_WM8993
1750         tristate
1751         depends on I2C
1752
1753 config SND_SOC_WM8994
1754         tristate
1755
1756 config SND_SOC_WM8995
1757         tristate
1758         depends on SND_SOC_I2C_AND_SPI
1759
1760 config SND_SOC_WM8996
1761         tristate
1762         depends on I2C
1763
1764 config SND_SOC_WM8997
1765         tristate
1766         depends on MFD_WM8997 && MFD_ARIZONA
1767
1768 config SND_SOC_WM8998
1769         tristate
1770         depends on MFD_WM8998 && MFD_ARIZONA
1771
1772 config SND_SOC_WM9081
1773         tristate
1774         depends on I2C
1775
1776 config SND_SOC_WM9090
1777         tristate
1778         depends on I2C
1779
1780 config SND_SOC_WM9705
1781         tristate
1782         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1783         select REGMAP_AC97
1784         select AC97_BUS_COMPAT if AC97_BUS_NEW
1785
1786 config SND_SOC_WM9712
1787         tristate
1788         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1789         select REGMAP_AC97
1790         select AC97_BUS_COMPAT if AC97_BUS_NEW
1791
1792 config SND_SOC_WM9713
1793         tristate
1794         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1795         select REGMAP_AC97
1796         select AC97_BUS_COMPAT if AC97_BUS_NEW
1797
1798 config SND_SOC_WSA881X
1799         tristate "WSA881X Codec"
1800         depends on SOUNDWIRE
1801         select REGMAP_SOUNDWIRE
1802         tristate
1803         help
1804           This enables support for Qualcomm WSA8810/WSA8815 Class-D
1805           Smart Speaker Amplifier.
1806
1807 config SND_SOC_ZL38060
1808         tristate "Microsemi ZL38060 Connected Home Audio Processor"
1809         depends on SPI_MASTER
1810         select GPIOLIB
1811         select REGMAP
1812         help
1813           Support for ZL38060 Connected Home Audio Processor from Microsemi,
1814           which consists of a Digital Signal Processor (DSP), several Digital
1815           Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1816
1817 # Amp
1818 config SND_SOC_LM4857
1819         tristate
1820         depends on I2C
1821
1822 config SND_SOC_MAX9759
1823         tristate "Maxim MAX9759 speaker Amplifier"
1824         select GPIOLIB
1825
1826 config SND_SOC_MAX9768
1827         tristate
1828         depends on I2C
1829
1830 config SND_SOC_MAX9877
1831         tristate
1832         depends on I2C
1833
1834 config SND_SOC_MC13783
1835         tristate
1836         depends on MFD_MC13XXX
1837
1838 config SND_SOC_ML26124
1839         tristate
1840         depends on I2C
1841
1842 config SND_SOC_MT6351
1843         tristate "MediaTek MT6351 Codec"
1844
1845 config SND_SOC_MT6358
1846         tristate "MediaTek MT6358 Codec"
1847         help
1848           Enable support for the platform which uses MT6358 as
1849           external codec device.
1850
1851 config SND_SOC_MT6359
1852         tristate "MediaTek MT6359 Codec"
1853         depends on MTK_PMIC_WRAP
1854         help
1855           Enable support for the platform which uses MT6359 as
1856           external codec device.
1857
1858 config SND_SOC_MT6359_ACCDET
1859         tristate "MediaTek MT6359 ACCDET driver"
1860         depends on MTK_PMIC_WRAP
1861         help
1862           ACCDET means Accessory Detection technology, MediaTek develop it
1863           for ASoC codec soc-jack detection mechanism.
1864           Select N if you don't have jack on board.
1865
1866 config SND_SOC_MT6660
1867         tristate "Mediatek MT6660 Speaker Amplifier"
1868         depends on I2C
1869         help
1870           MediaTek MT6660 is a smart power amplifier which contain
1871           speaker protection, multi-band DRC, equalizer functions.
1872           Select N if you don't have MT6660 on board.
1873           Select M to build this as module.
1874
1875 config SND_SOC_NAU8315
1876         tristate "Nuvoton Technology Corporation NAU8315 CODEC"
1877         depends on GPIOLIB
1878
1879 config SND_SOC_NAU8540
1880         tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1881         depends on I2C
1882
1883 config SND_SOC_NAU8810
1884         tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1885         depends on I2C
1886
1887 config SND_SOC_NAU8822
1888         tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1889         depends on I2C
1890
1891 config SND_SOC_NAU8824
1892         tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1893         depends on I2C
1894
1895 config SND_SOC_NAU8825
1896         tristate
1897         depends on I2C
1898
1899 config SND_SOC_TPA6130A2
1900         tristate "Texas Instruments TPA6130A2 headphone amplifier"
1901         depends on I2C
1902
1903 config SND_SOC_LPASS_WSA_MACRO
1904         depends on COMMON_CLK
1905         select REGMAP_MMIO
1906         tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
1907
1908 config SND_SOC_LPASS_VA_MACRO
1909         depends on COMMON_CLK
1910         select REGMAP_MMIO
1911         tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
1912
1913 config SND_SOC_LPASS_RX_MACRO
1914         depends on COMMON_CLK
1915         select REGMAP_MMIO
1916         tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
1917
1918 config SND_SOC_LPASS_TX_MACRO
1919         depends on COMMON_CLK
1920         select REGMAP_MMIO
1921         tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
1922
1923 endmenu