Linux 5.15.57
[platform/kernel/linux-rpi.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_SDW_MOCKUP
191         imply SND_SOC_SGTL5000
192         imply SND_SOC_SI476X
193         imply SND_SOC_SIMPLE_AMPLIFIER
194         imply SND_SOC_SIMPLE_MUX
195         imply SND_SOC_SPDIF
196         imply SND_SOC_SSM2305
197         imply SND_SOC_SSM2518
198         imply SND_SOC_SSM2602_SPI
199         imply SND_SOC_SSM2602_I2C
200         imply SND_SOC_SSM4567
201         imply SND_SOC_STA32X
202         imply SND_SOC_STA350
203         imply SND_SOC_STA529
204         imply SND_SOC_STAC9766
205         imply SND_SOC_STI_SAS
206         imply SND_SOC_TAS2552
207         imply SND_SOC_TAS2562
208         imply SND_SOC_TAS2764
209         imply SND_SOC_TAS2770
210         imply SND_SOC_TAS5086
211         imply SND_SOC_TAS571X
212         imply SND_SOC_TAS5720
213         imply SND_SOC_TAS6424
214         imply SND_SOC_TDA7419
215         imply SND_SOC_TFA9879
216         imply SND_SOC_TFA989X
217         imply SND_SOC_TLV320ADCX140
218         imply SND_SOC_TLV320AIC23_I2C
219         imply SND_SOC_TLV320AIC23_SPI
220         imply SND_SOC_TLV320AIC26
221         imply SND_SOC_TLV320AIC31XX
222         imply SND_SOC_TLV320AIC32X4_I2C
223         imply SND_SOC_TLV320AIC32X4_SPI
224         imply SND_SOC_TLV320AIC3X_I2C
225         imply SND_SOC_TLV320AIC3X_SPI
226         imply SND_SOC_TPA6130A2
227         imply SND_SOC_TLV320DAC33
228         imply SND_SOC_TSCS42XX
229         imply SND_SOC_TSCS454
230         imply SND_SOC_TS3A227E
231         imply SND_SOC_TWL4030
232         imply SND_SOC_TWL6040
233         imply SND_SOC_UDA1334
234         imply SND_SOC_UDA134X
235         imply SND_SOC_UDA1380
236         imply SND_SOC_WCD9335
237         imply SND_SOC_WCD934X
238         imply SND_SOC_WCD938X_SDW
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         depends on MFD_CS47L15
694
695 config SND_SOC_CS47L24
696         tristate
697         depends on MFD_CS47L24 && MFD_ARIZONA
698
699 config SND_SOC_CS47L35
700         tristate
701         depends on MFD_CS47L35
702
703 config SND_SOC_CS47L85
704         tristate
705         depends on MFD_CS47L85
706
707 config SND_SOC_CS47L90
708         tristate
709         depends on MFD_CS47L90
710
711 config SND_SOC_CS47L92
712         tristate
713         depends on MFD_CS47L92
714
715 # Cirrus Logic Quad-Channel ADC
716 config SND_SOC_CS53L30
717         tristate "Cirrus Logic CS53L30 CODEC"
718         depends on I2C
719
720 config SND_SOC_CX20442
721         tristate
722         depends on TTY
723
724 config SND_SOC_CX2072X
725         tristate "Conexant CX2072X CODEC"
726         depends on I2C
727         help
728           Enable support for Conexant CX20721 and CX20723 codec chips.
729
730 config SND_SOC_JZ4740_CODEC
731         depends on MACH_INGENIC || COMPILE_TEST
732         depends on OF
733         select REGMAP_MMIO
734         tristate "Ingenic JZ4740 internal CODEC"
735         help
736           Enable support for the internal CODEC found in the JZ4740 SoC
737           from Ingenic.
738
739           This driver can also be built as a module. If so, the module
740           will be called snd-soc-jz4740-codec.
741
742 config SND_SOC_JZ4725B_CODEC
743         depends on MACH_INGENIC || COMPILE_TEST
744         depends on OF
745         select REGMAP
746         tristate "Ingenic JZ4725B internal CODEC"
747         help
748           Enable support for the internal CODEC found in the JZ4725B SoC
749           from Ingenic.
750
751           This driver can also be built as a module. If so, the module
752           will be called snd-soc-jz4725b-codec.
753
754 config SND_SOC_JZ4760_CODEC
755         depends on MACH_INGENIC || COMPILE_TEST
756         depends on OF
757         select REGMAP
758         tristate "Ingenic JZ4760 internal CODEC"
759         help
760           Enable support for the internal CODEC found in the JZ4760 SoC
761           from Ingenic.
762
763           This driver can also be built as a module. If so, the module
764           will be called snd-soc-jz4760-codec.
765
766 config SND_SOC_JZ4770_CODEC
767         depends on MACH_INGENIC || COMPILE_TEST
768         depends on OF
769         select REGMAP
770         tristate "Ingenic JZ4770 internal CODEC"
771         help
772           Enable support for the internal CODEC found in the JZ4770 SoC
773           from Ingenic.
774
775           This driver can also be built as a module. If so, the module
776           will be called snd-soc-jz4770-codec.
777
778 config SND_SOC_L3
779         tristate
780
781 config SND_SOC_DA7210
782         tristate
783         depends on SND_SOC_I2C_AND_SPI
784
785 config SND_SOC_DA7213
786         tristate "Dialog DA7213 CODEC"
787         depends on I2C
788
789 config SND_SOC_DA7218
790         tristate
791         depends on I2C
792
793 config SND_SOC_DA7219
794         tristate
795         depends on I2C
796
797 config SND_SOC_DA732X
798         tristate
799         depends on I2C
800
801 config SND_SOC_DA9055
802         tristate
803         depends on I2C
804
805 config SND_SOC_DMIC
806         tristate "Generic Digital Microphone CODEC"
807         depends on GPIOLIB
808         help
809           Enable support for the Generic Digital Microphone CODEC.
810           Select this if your sound card has DMICs.
811
812 config SND_SOC_HDMI_CODEC
813         tristate
814         select SND_PCM_ELD
815         select SND_PCM_IEC958
816         select HDMI
817
818 config SND_SOC_ES7134
819         tristate "Everest Semi ES7134 CODEC"
820
821 config SND_SOC_ES7241
822         tristate "Everest Semi ES7241 CODEC"
823
824 config SND_SOC_ES8316
825         tristate "Everest Semi ES8316 CODEC"
826         depends on I2C
827
828 config SND_SOC_ES8328
829         tristate
830
831 config SND_SOC_ES8328_I2C
832         tristate "Everest Semi ES8328 CODEC (I2C)"
833         depends on I2C
834         select SND_SOC_ES8328
835
836 config SND_SOC_ES8328_SPI
837         tristate "Everest Semi ES8328 CODEC (SPI)"
838         depends on SPI_MASTER
839         select SND_SOC_ES8328
840
841 config SND_SOC_GTM601
842         tristate 'GTM601 UMTS modem audio codec'
843
844 config SND_SOC_HDAC_HDMI
845         tristate
846         select SND_HDA_EXT_CORE
847         select SND_PCM_ELD
848         select HDMI
849
850 config SND_SOC_HDAC_HDA
851         tristate
852         select SND_HDA
853
854 config SND_SOC_ICS43432
855         tristate "ICS43423 and compatible i2s microphones"
856
857 config SND_SOC_INNO_RK3036
858         tristate "Inno codec driver for RK3036 SoC"
859         select REGMAP_MMIO
860
861 config SND_SOC_ISABELLE
862         tristate
863         depends on I2C
864
865 config SND_SOC_LM49453
866         tristate
867         depends on I2C
868
869 config SND_SOC_LOCHNAGAR_SC
870         tristate "Lochnagar Sound Card"
871         depends on MFD_LOCHNAGAR
872         help
873           This driver support the sound card functionality of the Cirrus
874           Logic Lochnagar audio development board.
875
876 config SND_SOC_MADERA
877         tristate
878         default y if SND_SOC_CS47L15=y
879         default y if SND_SOC_CS47L35=y
880         default y if SND_SOC_CS47L85=y
881         default y if SND_SOC_CS47L90=y
882         default y if SND_SOC_CS47L92=y
883         default m if SND_SOC_CS47L15=m
884         default m if SND_SOC_CS47L35=m
885         default m if SND_SOC_CS47L85=m
886         default m if SND_SOC_CS47L90=m
887         default m if SND_SOC_CS47L92=m
888
889 config SND_SOC_MAX98088
890         tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
891         depends on I2C
892
893 config SND_SOC_MAX98090
894         tristate
895         depends on I2C
896
897 config SND_SOC_MAX98095
898         tristate
899         depends on I2C
900
901 config SND_SOC_MAX98357A
902         tristate "Maxim MAX98357A CODEC"
903
904 config SND_SOC_MAX98371
905         tristate
906         depends on I2C
907
908 config SND_SOC_MAX98504
909         tristate "Maxim MAX98504 speaker amplifier"
910         depends on I2C
911
912 config SND_SOC_MAX9867
913         tristate "Maxim MAX9867 CODEC"
914         depends on I2C
915
916 config SND_SOC_MAX98925
917         tristate
918         depends on I2C
919
920 config SND_SOC_MAX98926
921         tristate
922         depends on I2C
923
924 config SND_SOC_MAX98927
925         tristate "Maxim Integrated MAX98927 Speaker Amplifier"
926         depends on I2C
927
928 config SND_SOC_MAX98373
929         tristate
930
931 config SND_SOC_MAX98373_I2C
932         tristate "Maxim Integrated MAX98373 Speaker Amplifier"
933         depends on I2C
934         select SND_SOC_MAX98373
935
936 config SND_SOC_MAX98373_SDW
937         tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
938         depends on SOUNDWIRE
939         select SND_SOC_MAX98373
940         select REGMAP_SOUNDWIRE
941         help
942           Enable support for Maxim Integrated MAX98373 Soundwire
943           amplifier. MAX98373 supports either the MIPI SoundWire
944           compatible interface for audio and control data, or
945           the PCM interface for audio data and a standard I2C
946           interface for control data. Select this if MAX98373 is
947           connected via soundwire.
948
949 config SND_SOC_MAX98390
950         tristate "Maxim Integrated MAX98390 Speaker Amplifier"
951         depends on I2C
952
953 config SND_SOC_MAX9850
954         tristate
955         depends on I2C
956
957 config SND_SOC_MAX9860
958         tristate "Maxim MAX9860 Mono Audio Voice Codec"
959         depends on I2C
960         select REGMAP_I2C
961
962 config SND_SOC_MSM8916_WCD_ANALOG
963         tristate "Qualcomm MSM8916 WCD Analog Codec"
964         depends on SPMI || COMPILE_TEST
965
966 config SND_SOC_MSM8916_WCD_DIGITAL
967         tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
968         select REGMAP_MMIO
969
970 config SND_SOC_PCM1681
971         tristate "Texas Instruments PCM1681 CODEC"
972         depends on I2C
973
974 config SND_SOC_PCM1789
975         tristate
976
977 config SND_SOC_PCM1789_I2C
978         tristate "Texas Instruments PCM1789 CODEC (I2C)"
979         depends on I2C
980         select SND_SOC_PCM1789
981         help
982           Enable support for Texas Instruments PCM1789 CODEC.
983           Select this if your PCM1789 is connected via an I2C bus.
984
985 config SND_SOC_PCM179X
986         tristate
987
988 config SND_SOC_PCM179X_I2C
989         tristate "Texas Instruments PCM179X CODEC (I2C)"
990         depends on I2C
991         select SND_SOC_PCM179X
992         help
993           Enable support for Texas Instruments PCM179x CODEC.
994           Select this if your PCM179x is connected via an I2C bus.
995
996 config SND_SOC_PCM179X_SPI
997         tristate "Texas Instruments PCM179X CODEC (SPI)"
998         depends on SPI_MASTER
999         select SND_SOC_PCM179X
1000         help
1001           Enable support for Texas Instruments PCM179x CODEC.
1002           Select this if your PCM179x is connected via an SPI bus.
1003
1004 config SND_SOC_PCM186X
1005         tristate
1006
1007 config SND_SOC_PCM186X_I2C
1008         tristate "Texas Instruments PCM186x CODECs - I2C"
1009         depends on I2C
1010         select SND_SOC_PCM186X
1011         select REGMAP_I2C
1012
1013 config SND_SOC_PCM186X_SPI
1014         tristate "Texas Instruments PCM186x CODECs - SPI"
1015         depends on SPI_MASTER
1016         select SND_SOC_PCM186X
1017         select REGMAP_SPI
1018
1019 config SND_SOC_PCM3008
1020         tristate
1021
1022 config SND_SOC_PCM3060
1023         tristate
1024
1025 config SND_SOC_PCM3060_I2C
1026         tristate "Texas Instruments PCM3060 CODEC - I2C"
1027         depends on I2C
1028         select SND_SOC_PCM3060
1029         select REGMAP_I2C
1030
1031 config SND_SOC_PCM3060_SPI
1032         tristate "Texas Instruments PCM3060 CODEC - SPI"
1033         depends on SPI_MASTER
1034         select SND_SOC_PCM3060
1035         select REGMAP_SPI
1036
1037 config SND_SOC_PCM3168A
1038         tristate
1039
1040 config SND_SOC_PCM3168A_I2C
1041         tristate "Texas Instruments PCM3168A CODEC - I2C"
1042         depends on I2C
1043         select SND_SOC_PCM3168A
1044         select REGMAP_I2C
1045
1046 config SND_SOC_PCM3168A_SPI
1047         tristate "Texas Instruments PCM3168A CODEC - SPI"
1048         depends on SPI_MASTER
1049         select SND_SOC_PCM3168A
1050         select REGMAP_SPI
1051
1052 config SND_SOC_PCM5102A
1053         tristate "Texas Instruments PCM5102A CODEC"
1054
1055 config SND_SOC_PCM512x
1056         tristate
1057
1058 config SND_SOC_PCM512x_I2C
1059         tristate "Texas Instruments PCM512x CODECs - I2C"
1060         depends on I2C
1061         select SND_SOC_PCM512x
1062         select REGMAP_I2C
1063
1064 config SND_SOC_PCM512x_SPI
1065         tristate "Texas Instruments PCM512x CODECs - SPI"
1066         depends on SPI_MASTER
1067         select SND_SOC_PCM512x
1068         select REGMAP_SPI
1069
1070 config SND_SOC_RK3328
1071         tristate "Rockchip RK3328 audio CODEC"
1072         select REGMAP_MMIO
1073
1074 config SND_SOC_RK817
1075         tristate "Rockchip RK817 audio CODEC"
1076         depends on MFD_RK808
1077         select REGMAP_I2C
1078
1079 config SND_SOC_RL6231
1080         tristate
1081         default y if SND_SOC_RT5514=y
1082         default y if SND_SOC_RT5616=y
1083         default y if SND_SOC_RT5640=y
1084         default y if SND_SOC_RT5645=y
1085         default y if SND_SOC_RT5651=y
1086         default y if SND_SOC_RT5659=y
1087         default y if SND_SOC_RT5660=y
1088         default y if SND_SOC_RT5663=y
1089         default y if SND_SOC_RT5665=y
1090         default y if SND_SOC_RT5668=y
1091         default y if SND_SOC_RT5670=y
1092         default y if SND_SOC_RT5677=y
1093         default y if SND_SOC_RT5682=y
1094         default y if SND_SOC_RT1011=y
1095         default y if SND_SOC_RT1015=y
1096         default y if SND_SOC_RT1015P=y
1097         default y if SND_SOC_RT1019=y
1098         default y if SND_SOC_RT1305=y
1099         default y if SND_SOC_RT1308=y
1100         default m if SND_SOC_RT5514=m
1101         default m if SND_SOC_RT5616=m
1102         default m if SND_SOC_RT5640=m
1103         default m if SND_SOC_RT5645=m
1104         default m if SND_SOC_RT5651=m
1105         default m if SND_SOC_RT5659=m
1106         default m if SND_SOC_RT5660=m
1107         default m if SND_SOC_RT5663=m
1108         default m if SND_SOC_RT5665=m
1109         default m if SND_SOC_RT5668=m
1110         default m if SND_SOC_RT5670=m
1111         default m if SND_SOC_RT5677=m
1112         default m if SND_SOC_RT5682=m
1113         default m if SND_SOC_RT1011=m
1114         default m if SND_SOC_RT1015=m
1115         default m if SND_SOC_RT1015P=m
1116         default m if SND_SOC_RT1019=m
1117         default m if SND_SOC_RT1305=m
1118         default m if SND_SOC_RT1308=m
1119
1120 config SND_SOC_RL6347A
1121         tristate
1122         default y if SND_SOC_RT274=y
1123         default y if SND_SOC_RT286=y
1124         default y if SND_SOC_RT298=y
1125         default m if SND_SOC_RT274=m
1126         default m if SND_SOC_RT286=m
1127         default m if SND_SOC_RT298=m
1128
1129 config SND_SOC_RT274
1130         tristate
1131         depends on I2C
1132
1133 config SND_SOC_RT286
1134         tristate
1135         depends on I2C
1136
1137 config SND_SOC_RT298
1138         tristate
1139         depends on I2C
1140
1141 config SND_SOC_RT1011
1142         tristate
1143         depends on I2C
1144
1145 config SND_SOC_RT1015
1146         tristate
1147         depends on I2C
1148
1149 config SND_SOC_RT1015P
1150         tristate
1151
1152 config SND_SOC_RT1019
1153         tristate
1154         depends on I2C
1155
1156 config SND_SOC_RT1305
1157         tristate
1158         depends on I2C
1159
1160 config SND_SOC_RT1308
1161         tristate
1162         depends on I2C
1163
1164 config SND_SOC_RT1308_SDW
1165         tristate "Realtek RT1308 Codec - SDW"
1166         depends on I2C && SOUNDWIRE
1167         select REGMAP_SOUNDWIRE
1168
1169 config SND_SOC_RT1316_SDW
1170         tristate "Realtek RT1316 Codec - SDW"
1171         depends on SOUNDWIRE
1172         select REGMAP_SOUNDWIRE
1173
1174 config SND_SOC_RT5514
1175         tristate
1176         depends on I2C
1177
1178 config SND_SOC_RT5514_SPI
1179         tristate
1180         depends on SPI_MASTER
1181
1182 config SND_SOC_RT5514_SPI_BUILTIN
1183         bool # force RT5514_SPI to be built-in to avoid link errors
1184         default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1185
1186 config SND_SOC_RT5616
1187         tristate "Realtek RT5616 CODEC"
1188         depends on I2C
1189
1190 config SND_SOC_RT5631
1191         tristate "Realtek ALC5631/RT5631 CODEC"
1192         depends on I2C
1193
1194 config SND_SOC_RT5640
1195         tristate "Realtek RT5640/RT5639 Codec"
1196         depends on I2C
1197
1198 config SND_SOC_RT5645
1199         tristate
1200         depends on I2C
1201
1202 config SND_SOC_RT5651
1203         tristate
1204         depends on I2C
1205
1206 config SND_SOC_RT5659
1207         tristate "Realtek RT5658/RT5659 Codec"
1208         depends on I2C
1209
1210 config SND_SOC_RT5660
1211         tristate
1212         depends on I2C
1213
1214 config SND_SOC_RT5663
1215         tristate
1216         depends on I2C
1217
1218 config SND_SOC_RT5665
1219         tristate
1220         depends on I2C
1221
1222 config SND_SOC_RT5668
1223         tristate
1224         depends on I2C
1225
1226 config SND_SOC_RT5670
1227         tristate
1228         depends on I2C
1229
1230 config SND_SOC_RT5677
1231         tristate
1232         depends on I2C
1233         select REGMAP_I2C
1234         select REGMAP_IRQ
1235
1236 config SND_SOC_RT5677_SPI
1237         tristate
1238         default SND_SOC_RT5677 && SPI
1239
1240 config SND_SOC_RT5682
1241         tristate
1242
1243 config SND_SOC_RT5682_I2C
1244         tristate
1245         depends on I2C
1246         select SND_SOC_RT5682
1247
1248 config SND_SOC_RT5682_SDW
1249         tristate "Realtek RT5682 Codec - SDW"
1250         depends on SOUNDWIRE
1251         select SND_SOC_RT5682
1252         select REGMAP_SOUNDWIRE
1253
1254 config SND_SOC_RT700
1255         tristate
1256
1257 config SND_SOC_RT700_SDW
1258         tristate "Realtek RT700 Codec - SDW"
1259         depends on SOUNDWIRE
1260         select SND_SOC_RT700
1261         select REGMAP_SOUNDWIRE
1262
1263 config SND_SOC_RT711
1264         tristate
1265
1266 config SND_SOC_RT711_SDW
1267         tristate "Realtek RT711 Codec - SDW"
1268         depends on SOUNDWIRE
1269         select SND_SOC_RT711
1270         select REGMAP_SOUNDWIRE
1271
1272 config SND_SOC_RT711_SDCA_SDW
1273         tristate "Realtek RT711 SDCA Codec - SDW"
1274         depends on SOUNDWIRE
1275         select REGMAP_SOUNDWIRE
1276         select REGMAP_SOUNDWIRE_MBQ
1277
1278 config SND_SOC_RT715
1279         tristate
1280
1281 config SND_SOC_RT715_SDW
1282         tristate "Realtek RT715 Codec - SDW"
1283         depends on SOUNDWIRE
1284         select SND_SOC_RT715
1285         select REGMAP_SOUNDWIRE
1286
1287 config SND_SOC_RT715_SDCA_SDW
1288         tristate "Realtek RT715 SDCA Codec - SDW"
1289         depends on SOUNDWIRE
1290         select REGMAP_SOUNDWIRE
1291         select REGMAP_SOUNDWIRE_MBQ
1292
1293 config SND_SOC_SDW_MOCKUP
1294         tristate "SoundWire mockup codec"
1295         depends on EXPERT
1296         depends on SOUNDWIRE
1297         help
1298           This option enables a SoundWire mockup codec that does not drive the
1299           bus, take part in the command/command protocol or generate data on a
1300           Source port.
1301           This option is only intended to be used for tests on a device
1302           with a connector, in combination with a bus analyzer, or to test new
1303           topologies that differ from the actual hardware layout.
1304           This mockup device could be totally virtual but could also be a
1305           real physical one with one key restriction: it is not allowed by the
1306           SoundWire specification to be configured via a sideband mechanism and
1307           generate audio data for capture. However, nothing prevents such a
1308           peripheral device from snooping the bus.
1309
1310 #Freescale sgtl5000 codec
1311 config SND_SOC_SGTL5000
1312         tristate "Freescale SGTL5000 CODEC"
1313         depends on I2C
1314
1315 config SND_SOC_SI476X
1316         tristate
1317
1318 config SND_SOC_SIGMADSP
1319         tristate
1320         select CRC32
1321
1322 config SND_SOC_SIGMADSP_I2C
1323         tristate
1324         select SND_SOC_SIGMADSP
1325
1326 config SND_SOC_SIGMADSP_REGMAP
1327         tristate
1328         select SND_SOC_SIGMADSP
1329
1330 config SND_SOC_SIMPLE_AMPLIFIER
1331         tristate "Simple Audio Amplifier"
1332         select GPIOLIB
1333
1334 config SND_SOC_SIMPLE_MUX
1335         tristate "Simple Audio Mux"
1336         select GPIOLIB
1337
1338 config SND_SOC_SPDIF
1339         tristate "S/PDIF CODEC"
1340
1341 config SND_SOC_SSM2305
1342         tristate "Analog Devices SSM2305 Class-D Amplifier"
1343         help
1344           Enable support for Analog Devices SSM2305 filterless
1345           high-efficiency mono Class-D audio power amplifiers.
1346
1347 config SND_SOC_SSM2518
1348         tristate "Analog Devices SSM2518 Class-D Amplifier"
1349         depends on I2C
1350
1351 config SND_SOC_SSM2602
1352         tristate
1353
1354 config SND_SOC_SSM2602_SPI
1355         tristate "Analog Devices SSM2602 CODEC - SPI"
1356         depends on SPI_MASTER
1357         select SND_SOC_SSM2602
1358         select REGMAP_SPI
1359
1360 config SND_SOC_SSM2602_I2C
1361         tristate "Analog Devices SSM2602 CODEC - I2C"
1362         depends on I2C
1363         select SND_SOC_SSM2602
1364         select REGMAP_I2C
1365
1366 config SND_SOC_SSM4567
1367         tristate "Analog Devices ssm4567 amplifier driver support"
1368         depends on I2C
1369
1370 config SND_SOC_STA32X
1371         tristate "STA326, STA328 and STA329 speaker amplifier"
1372         depends on I2C
1373         select REGMAP_I2C
1374
1375 config SND_SOC_STA350
1376         tristate "STA350 speaker amplifier"
1377         depends on I2C
1378
1379 config SND_SOC_STA529
1380         tristate
1381         depends on I2C
1382
1383 config SND_SOC_STAC9766
1384         tristate
1385         depends on SND_SOC_AC97_BUS
1386
1387 config SND_SOC_STI_SAS
1388         tristate "codec Audio support for STI SAS codec"
1389
1390 config SND_SOC_TAS2552
1391         tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1392         depends on I2C
1393
1394 config SND_SOC_TAS2562
1395         tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1396         depends on I2C
1397
1398 config SND_SOC_TAS2764
1399         tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1400         depends on I2C
1401
1402 config SND_SOC_TAS2770
1403         tristate "Texas Instruments TAS2770 speaker amplifier"
1404         depends on I2C
1405
1406 config SND_SOC_TAS5086
1407         tristate "Texas Instruments TAS5086 speaker amplifier"
1408         depends on I2C
1409
1410 config SND_SOC_TAS571X
1411         tristate "Texas Instruments TAS571x power amplifiers"
1412         depends on I2C
1413         help
1414           Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1415           TAS5719 and TAS5721 power amplifiers
1416
1417 config SND_SOC_TAS5720
1418         tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1419         depends on I2C
1420         help
1421           Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1422           Class-D audio power amplifiers.
1423
1424 config SND_SOC_TAS6424
1425         tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1426         depends on I2C
1427         help
1428           Enable support for Texas Instruments TAS6424 high-efficiency
1429           digital input quad-channel Class-D audio power amplifiers.
1430
1431 config SND_SOC_TDA7419
1432         tristate "ST TDA7419 audio processor"
1433         depends on I2C
1434         select REGMAP_I2C
1435
1436 config SND_SOC_TFA9879
1437         tristate "NXP Semiconductors TFA9879 amplifier"
1438         depends on I2C
1439
1440 config SND_SOC_TFA989X
1441         tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1442         depends on I2C
1443         select REGMAP_I2C
1444         help
1445           Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1446           amplifiers, e.g. TFA9895.
1447           Note that the driver currently bypasses the built-in "CoolFlux DSP"
1448           and does not support (hardware) volume control.
1449
1450 config SND_SOC_TLV320AIC23
1451         tristate
1452
1453 config SND_SOC_TLV320AIC23_I2C
1454         tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1455         depends on I2C
1456         select SND_SOC_TLV320AIC23
1457
1458 config SND_SOC_TLV320AIC23_SPI
1459         tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1460         depends on SPI_MASTER
1461         select SND_SOC_TLV320AIC23
1462
1463 config SND_SOC_TLV320AIC26
1464         tristate
1465         depends on SPI
1466
1467 config SND_SOC_TLV320AIC31XX
1468         tristate "Texas Instruments TLV320AIC31xx CODECs"
1469         depends on I2C
1470         select REGMAP_I2C
1471
1472 config SND_SOC_TLV320AIC32X4
1473         tristate
1474         depends on COMMON_CLK
1475
1476 config SND_SOC_TLV320AIC32X4_I2C
1477         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1478         depends on I2C
1479         depends on COMMON_CLK
1480         select SND_SOC_TLV320AIC32X4
1481
1482 config SND_SOC_TLV320AIC32X4_SPI
1483         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1484         depends on SPI_MASTER
1485         depends on COMMON_CLK
1486         select SND_SOC_TLV320AIC32X4
1487
1488 config SND_SOC_TLV320AIC3X
1489         tristate
1490
1491 config SND_SOC_TLV320AIC3X_I2C
1492         tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1493         depends on I2C
1494         select SND_SOC_TLV320AIC3X
1495         select REGMAP_I2C
1496
1497 config SND_SOC_TLV320AIC3X_SPI
1498         tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1499         depends on SPI_MASTER
1500         select SND_SOC_TLV320AIC3X
1501         select REGMAP_SPI
1502
1503 config SND_SOC_TLV320DAC33
1504         tristate
1505         depends on I2C
1506
1507 config SND_SOC_TLV320ADCX140
1508         tristate "Texas Instruments TLV320ADCX140 CODEC family"
1509         depends on I2C
1510         select REGMAP_I2C
1511         help
1512           Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1513           tlv320adc6140 quad channel ADCs.
1514
1515 config SND_SOC_TS3A227E
1516         tristate "TI Headset/Mic detect and keypress chip"
1517         depends on I2C
1518
1519 config SND_SOC_TSCS42XX
1520         tristate "Tempo Semiconductor TSCS42xx CODEC"
1521         depends on I2C
1522         select REGMAP_I2C
1523         help
1524           Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1525
1526 config SND_SOC_TSCS454
1527         tristate "Tempo Semiconductor TSCS454 CODEC"
1528         depends on I2C
1529         select REGMAP_I2C
1530         help
1531           Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1532
1533 config SND_SOC_TWL4030
1534         tristate
1535         depends on TWL4030_CORE
1536         select MFD_TWL4030_AUDIO
1537
1538 config SND_SOC_TWL6040
1539         tristate
1540         depends on TWL6040_CORE
1541
1542 config SND_SOC_UDA1334
1543         tristate "NXP UDA1334 DAC"
1544         depends on GPIOLIB
1545         help
1546           The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1547           and has basic features such as de-emphasis (at 44.1 kHz sampling
1548           rate) and mute.
1549
1550 config SND_SOC_UDA134X
1551         tristate
1552
1553 config SND_SOC_UDA1380
1554         tristate
1555         depends on I2C
1556
1557 config SND_SOC_WCD9335
1558         tristate "WCD9335 Codec"
1559         depends on SLIMBUS
1560         select REGMAP_SLIMBUS
1561         select REGMAP_IRQ
1562         help
1563           The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1564           Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1565           including the MSM8996, MSM8976, and MSM8956 chipsets.
1566
1567 config SND_SOC_WCD_MBHC
1568         tristate
1569
1570 config SND_SOC_WCD934X
1571         tristate "WCD9340/WCD9341 Codec"
1572         depends on COMMON_CLK
1573         select SND_SOC_WCD_MBHC
1574         depends on MFD_WCD934X
1575         help
1576           The WCD9340/9341 is a audio codec IC Integrated in
1577           Qualcomm SoCs like SDM845.
1578
1579 config SND_SOC_WCD938X
1580         depends on SND_SOC_WCD938X_SDW
1581         tristate
1582         depends on SOUNDWIRE || !SOUNDWIRE
1583
1584 config SND_SOC_WCD938X_SDW
1585         tristate "WCD9380/WCD9385 Codec - SDW"
1586         select SND_SOC_WCD938X
1587         select SND_SOC_WCD_MBHC
1588         select REGMAP_IRQ
1589         depends on SOUNDWIRE
1590         select REGMAP_SOUNDWIRE
1591         help
1592           The WCD9380/9385 is a audio codec IC Integrated in
1593           Qualcomm SoCs like SM8250.
1594
1595 config SND_SOC_WL1273
1596         tristate
1597
1598 config SND_SOC_WM0010
1599         tristate
1600         depends on SPI_MASTER
1601
1602 config SND_SOC_WM1250_EV1
1603         tristate
1604         depends on I2C
1605
1606 config SND_SOC_WM2000
1607         tristate
1608         depends on I2C
1609
1610 config SND_SOC_WM2200
1611         tristate
1612         depends on I2C
1613
1614 config SND_SOC_WM5100
1615         tristate
1616         depends on I2C
1617
1618 config SND_SOC_WM5102
1619         tristate
1620         depends on MFD_WM5102 && MFD_ARIZONA
1621
1622 config SND_SOC_WM5110
1623         tristate
1624         depends on MFD_WM5110 && MFD_ARIZONA
1625
1626 config SND_SOC_WM8350
1627         tristate
1628         depends on MFD_WM8350
1629
1630 config SND_SOC_WM8400
1631         tristate
1632         # FIXME nothing selects SND_SOC_WM8400??
1633         depends on MFD_WM8400
1634
1635 config SND_SOC_WM8510
1636         tristate "Wolfson Microelectronics WM8510 CODEC"
1637         depends on SND_SOC_I2C_AND_SPI
1638
1639 config SND_SOC_WM8523
1640         tristate "Wolfson Microelectronics WM8523 DAC"
1641         depends on I2C
1642
1643 config SND_SOC_WM8524
1644         tristate "Wolfson Microelectronics WM8524 DAC"
1645         depends on GPIOLIB
1646
1647 config SND_SOC_WM8580
1648         tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1649         depends on I2C
1650
1651 config SND_SOC_WM8711
1652         tristate "Wolfson Microelectronics WM8711 CODEC"
1653         depends on SND_SOC_I2C_AND_SPI
1654
1655 config SND_SOC_WM8727
1656         tristate
1657
1658 config SND_SOC_WM8728
1659         tristate "Wolfson Microelectronics WM8728 DAC"
1660         depends on SND_SOC_I2C_AND_SPI
1661
1662 config SND_SOC_WM8731
1663         tristate "Wolfson Microelectronics WM8731 CODEC"
1664         depends on SND_SOC_I2C_AND_SPI
1665
1666 config SND_SOC_WM8737
1667         tristate "Wolfson Microelectronics WM8737 ADC"
1668         depends on SND_SOC_I2C_AND_SPI
1669
1670 config SND_SOC_WM8741
1671         tristate "Wolfson Microelectronics WM8741 DAC"
1672         depends on SND_SOC_I2C_AND_SPI
1673
1674 config SND_SOC_WM8750
1675         tristate "Wolfson Microelectronics WM8750 CODEC"
1676         depends on SND_SOC_I2C_AND_SPI
1677
1678 config SND_SOC_WM8753
1679         tristate "Wolfson Microelectronics WM8753 CODEC"
1680         depends on SND_SOC_I2C_AND_SPI
1681
1682 config SND_SOC_WM8770
1683         tristate "Wolfson Microelectronics WM8770 CODEC"
1684         depends on SPI_MASTER
1685
1686 config SND_SOC_WM8776
1687         tristate "Wolfson Microelectronics WM8776 CODEC"
1688         depends on SND_SOC_I2C_AND_SPI
1689
1690 config SND_SOC_WM8782
1691         tristate "Wolfson Microelectronics WM8782 ADC"
1692
1693 config SND_SOC_WM8804
1694         tristate
1695
1696 config SND_SOC_WM8804_I2C
1697         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1698         depends on I2C
1699         select SND_SOC_WM8804
1700         select REGMAP_I2C
1701
1702 config SND_SOC_WM8804_SPI
1703         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1704         depends on SPI_MASTER
1705         select SND_SOC_WM8804
1706         select REGMAP_SPI
1707
1708 config SND_SOC_WM8900
1709         tristate
1710         depends on SND_SOC_I2C_AND_SPI
1711
1712 config SND_SOC_WM8903
1713         tristate "Wolfson Microelectronics WM8903 CODEC"
1714         depends on I2C
1715
1716 config SND_SOC_WM8904
1717         tristate "Wolfson Microelectronics WM8904 CODEC"
1718         depends on I2C
1719
1720 config SND_SOC_WM8940
1721         tristate
1722         depends on I2C
1723
1724 config SND_SOC_WM8955
1725         tristate
1726         depends on I2C
1727
1728 config SND_SOC_WM8960
1729         tristate "Wolfson Microelectronics WM8960 CODEC"
1730         depends on I2C
1731
1732 config SND_SOC_WM8961
1733         tristate
1734         depends on I2C
1735
1736 config SND_SOC_WM8962
1737         tristate "Wolfson Microelectronics WM8962 CODEC"
1738         depends on I2C && INPUT
1739
1740 config SND_SOC_WM8971
1741         tristate
1742         depends on I2C
1743
1744 config SND_SOC_WM8974
1745         tristate "Wolfson Microelectronics WM8974 codec"
1746         depends on I2C
1747
1748 config SND_SOC_WM8978
1749         tristate "Wolfson Microelectronics WM8978 codec"
1750         depends on I2C
1751
1752 config SND_SOC_WM8983
1753         tristate
1754         depends on SND_SOC_I2C_AND_SPI
1755
1756 config SND_SOC_WM8985
1757         tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1758         depends on SND_SOC_I2C_AND_SPI
1759
1760 config SND_SOC_WM8988
1761         tristate
1762         depends on SND_SOC_I2C_AND_SPI
1763
1764 config SND_SOC_WM8990
1765         tristate
1766         depends on I2C
1767
1768 config SND_SOC_WM8991
1769         tristate
1770         depends on I2C
1771
1772 config SND_SOC_WM8993
1773         tristate
1774         depends on I2C
1775
1776 config SND_SOC_WM8994
1777         tristate
1778
1779 config SND_SOC_WM8995
1780         tristate
1781         depends on SND_SOC_I2C_AND_SPI
1782
1783 config SND_SOC_WM8996
1784         tristate
1785         depends on I2C
1786
1787 config SND_SOC_WM8997
1788         tristate
1789         depends on MFD_WM8997 && MFD_ARIZONA
1790
1791 config SND_SOC_WM8998
1792         tristate
1793         depends on MFD_WM8998 && MFD_ARIZONA
1794
1795 config SND_SOC_WM9081
1796         tristate
1797         depends on I2C
1798
1799 config SND_SOC_WM9090
1800         tristate
1801         depends on I2C
1802
1803 config SND_SOC_WM9705
1804         tristate
1805         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1806         select REGMAP_AC97
1807         select AC97_BUS_COMPAT if AC97_BUS_NEW
1808
1809 config SND_SOC_WM9712
1810         tristate
1811         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1812         select REGMAP_AC97
1813         select AC97_BUS_COMPAT if AC97_BUS_NEW
1814
1815 config SND_SOC_WM9713
1816         tristate
1817         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1818         select REGMAP_AC97
1819         select AC97_BUS_COMPAT if AC97_BUS_NEW
1820
1821 config SND_SOC_WSA881X
1822         tristate "WSA881X Codec"
1823         depends on SOUNDWIRE
1824         select REGMAP_SOUNDWIRE
1825         tristate
1826         help
1827           This enables support for Qualcomm WSA8810/WSA8815 Class-D
1828           Smart Speaker Amplifier.
1829
1830 config SND_SOC_ZL38060
1831         tristate "Microsemi ZL38060 Connected Home Audio Processor"
1832         depends on SPI_MASTER
1833         select GPIOLIB
1834         select REGMAP
1835         help
1836           Support for ZL38060 Connected Home Audio Processor from Microsemi,
1837           which consists of a Digital Signal Processor (DSP), several Digital
1838           Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1839
1840 # Amp
1841 config SND_SOC_LM4857
1842         tristate
1843         depends on I2C
1844
1845 config SND_SOC_MAX9759
1846         tristate "Maxim MAX9759 speaker Amplifier"
1847         select GPIOLIB
1848
1849 config SND_SOC_MAX9768
1850         tristate
1851         depends on I2C
1852
1853 config SND_SOC_MAX9877
1854         tristate
1855         depends on I2C
1856
1857 config SND_SOC_MC13783
1858         tristate
1859         depends on MFD_MC13XXX
1860
1861 config SND_SOC_ML26124
1862         tristate
1863         depends on I2C
1864
1865 config SND_SOC_MT6351
1866         tristate "MediaTek MT6351 Codec"
1867
1868 config SND_SOC_MT6358
1869         tristate "MediaTek MT6358 Codec"
1870         help
1871           Enable support for the platform which uses MT6358 as
1872           external codec device.
1873
1874 config SND_SOC_MT6359
1875         tristate "MediaTek MT6359 Codec"
1876         depends on MTK_PMIC_WRAP
1877         help
1878           Enable support for the platform which uses MT6359 as
1879           external codec device.
1880
1881 config SND_SOC_MT6359_ACCDET
1882         tristate "MediaTek MT6359 ACCDET driver"
1883         depends on MTK_PMIC_WRAP
1884         help
1885           ACCDET means Accessory Detection technology, MediaTek develop it
1886           for ASoC codec soc-jack detection mechanism.
1887           Select N if you don't have jack on board.
1888
1889 config SND_SOC_MT6660
1890         tristate "Mediatek MT6660 Speaker Amplifier"
1891         depends on I2C
1892         help
1893           MediaTek MT6660 is a smart power amplifier which contain
1894           speaker protection, multi-band DRC, equalizer functions.
1895           Select N if you don't have MT6660 on board.
1896           Select M to build this as module.
1897
1898 config SND_SOC_NAU8315
1899         tristate "Nuvoton Technology Corporation NAU8315 CODEC"
1900         depends on GPIOLIB
1901
1902 config SND_SOC_NAU8540
1903         tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1904         depends on I2C
1905
1906 config SND_SOC_NAU8810
1907         tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1908         depends on I2C
1909
1910 config SND_SOC_NAU8822
1911         tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1912         depends on I2C
1913
1914 config SND_SOC_NAU8824
1915         tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1916         depends on I2C
1917
1918 config SND_SOC_NAU8825
1919         tristate
1920         depends on I2C
1921
1922 config SND_SOC_TPA6130A2
1923         tristate "Texas Instruments TPA6130A2 headphone amplifier"
1924         depends on I2C
1925
1926 config SND_SOC_LPASS_WSA_MACRO
1927         depends on COMMON_CLK
1928         select REGMAP_MMIO
1929         tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
1930
1931 config SND_SOC_LPASS_VA_MACRO
1932         depends on COMMON_CLK
1933         select REGMAP_MMIO
1934         tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
1935
1936 config SND_SOC_LPASS_RX_MACRO
1937         depends on COMMON_CLK
1938         select REGMAP_MMIO
1939         tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
1940
1941 config SND_SOC_LPASS_TX_MACRO
1942         depends on COMMON_CLK
1943         select REGMAP_MMIO
1944         tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
1945
1946 endmenu