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