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