Add support for all the downstream rpi sound card drivers
[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_AB8500_CODEC
19         imply SND_SOC_AC97_CODEC
20         imply SND_SOC_AD1836
21         imply SND_SOC_AD193X_SPI
22         imply SND_SOC_AD193X_I2C
23         imply SND_SOC_AD1980
24         imply SND_SOC_AD73311
25         imply SND_SOC_ADAU1372_I2C
26         imply SND_SOC_ADAU1372_SPI
27         imply SND_SOC_ADAU1373
28         imply SND_SOC_ADAU1761_I2C
29         imply SND_SOC_ADAU1761_SPI
30         imply SND_SOC_ADAU1781_I2C
31         imply SND_SOC_ADAU1781_SPI
32         imply SND_SOC_ADAV801
33         imply SND_SOC_ADAV803
34         imply SND_SOC_ADAU1977_SPI
35         imply SND_SOC_ADAU1977_I2C
36         imply SND_SOC_ADAU1701
37         imply SND_SOC_ADAU7002
38         imply SND_SOC_ADAU7118_I2C
39         imply SND_SOC_ADAU7118_HW
40         imply SND_SOC_ADS117X
41         imply SND_SOC_AK4104
42         imply SND_SOC_AK4118
43         imply SND_SOC_AK4375
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_AUDIO_IIO_AUX
56         imply SND_SOC_AW8738
57         imply SND_SOC_AW88395
58         imply SND_SOC_AW88261
59         imply SND_SOC_BT_SCO
60         imply SND_SOC_BD28623
61         imply SND_SOC_CHV3_CODEC
62         imply SND_SOC_CQ0093VC
63         imply SND_SOC_CROS_EC_CODEC
64         imply SND_SOC_CS35L32
65         imply SND_SOC_CS35L33
66         imply SND_SOC_CS35L34
67         imply SND_SOC_CS35L35
68         imply SND_SOC_CS35L36
69         imply SND_SOC_CS35L41_SPI
70         imply SND_SOC_CS35L41_I2C
71         imply SND_SOC_CS35L45_I2C
72         imply SND_SOC_CS35L45_SPI
73         imply SND_SOC_CS35L56_I2C
74         imply SND_SOC_CS35L56_SPI
75         imply SND_SOC_CS35L56_SDW
76         imply SND_SOC_CS42L42
77         imply SND_SOC_CS42L42_SDW
78         imply SND_SOC_CS42L43
79         imply SND_SOC_CS42L43_SDW
80         imply SND_SOC_CS42L51_I2C
81         imply SND_SOC_CS42L52
82         imply SND_SOC_CS42L56
83         imply SND_SOC_CS42L73
84         imply SND_SOC_CS4234
85         imply SND_SOC_CS4265
86         imply SND_SOC_CS4270
87         imply SND_SOC_CS4271_I2C
88         imply SND_SOC_CS4271_SPI
89         imply SND_SOC_CS42XX8_I2C
90         imply SND_SOC_CS43130
91         imply SND_SOC_CS4341
92         imply SND_SOC_CS4349
93         imply SND_SOC_CS47L15
94         imply SND_SOC_CS47L24
95         imply SND_SOC_CS47L35
96         imply SND_SOC_CS47L85
97         imply SND_SOC_CS47L90
98         imply SND_SOC_CS47L92
99         imply SND_SOC_CS53L30
100         imply SND_SOC_CX20442
101         imply SND_SOC_CX2072X
102         imply SND_SOC_DA7210
103         imply SND_SOC_DA7213
104         imply SND_SOC_DA7218
105         imply SND_SOC_DA7219
106         imply SND_SOC_DA732X
107         imply SND_SOC_DA9055
108         imply SND_SOC_DMIC
109         imply SND_SOC_ES8316
110         imply SND_SOC_ES8326
111         imply SND_SOC_ES8328_SPI
112         imply SND_SOC_ES8328_I2C
113         imply SND_SOC_ES7134
114         imply SND_SOC_ES7241
115         imply SND_SOC_GTM601
116         imply SND_SOC_HDAC_HDMI
117         imply SND_SOC_HDAC_HDA
118         imply SND_SOC_ICS43432
119         imply SND_SOC_IDT821034
120         imply SND_SOC_INNO_RK3036
121         imply SND_SOC_ISABELLE
122         imply SND_SOC_I_SABRE_CODEC
123         imply SND_SOC_JZ4740_CODEC
124         imply SND_SOC_JZ4725B_CODEC
125         imply SND_SOC_JZ4760_CODEC
126         imply SND_SOC_JZ4770_CODEC
127         imply SND_SOC_LM4857
128         imply SND_SOC_LM49453
129         imply SND_SOC_LOCHNAGAR_SC
130         imply SND_SOC_MA120X0P
131         imply SND_SOC_MAX98088
132         imply SND_SOC_MAX98090
133         imply SND_SOC_MAX98095
134         imply SND_SOC_MAX98357A
135         imply SND_SOC_MAX98371
136         imply SND_SOC_MAX98504
137         imply SND_SOC_MAX98520
138         imply SND_SOC_MAX9867
139         imply SND_SOC_MAX98925
140         imply SND_SOC_MAX98926
141         imply SND_SOC_MAX98927
142         imply SND_SOC_MAX98363
143         imply SND_SOC_MAX98373_I2C
144         imply SND_SOC_MAX98373_SDW
145         imply SND_SOC_MAX98388
146         imply SND_SOC_MAX98390
147         imply SND_SOC_MAX98396
148         imply SND_SOC_MAX9850
149         imply SND_SOC_MAX9860
150         imply SND_SOC_MAX9759
151         imply SND_SOC_MAX9768
152         imply SND_SOC_MAX9877
153         imply SND_SOC_MC13783
154         imply SND_SOC_ML26124
155         imply SND_SOC_MT6351
156         imply SND_SOC_MT6358
157         imply SND_SOC_MT6359
158         imply SND_SOC_MT6660
159         imply SND_SOC_NAU8315
160         imply SND_SOC_NAU8540
161         imply SND_SOC_NAU8810
162         imply SND_SOC_NAU8821
163         imply SND_SOC_NAU8822
164         imply SND_SOC_NAU8824
165         imply SND_SOC_NAU8825
166         imply SND_SOC_HDMI_CODEC
167         imply SND_SOC_PCM1681
168         imply SND_SOC_PCM1789_I2C
169         imply SND_SOC_PCM179X_I2C
170         imply SND_SOC_PCM179X_SPI
171         imply SND_SOC_PCM186X_I2C
172         imply SND_SOC_PCM186X_SPI
173         imply SND_SOC_PCM1794A
174         imply SND_SOC_PCM3008
175         imply SND_SOC_PCM3060_I2C
176         imply SND_SOC_PCM3060_SPI
177         imply SND_SOC_PCM3168A_I2C
178         imply SND_SOC_PCM3168A_SPI
179         imply SND_SOC_PCM5102A
180         imply SND_SOC_PCM512x_I2C
181         imply SND_SOC_PCM512x_SPI
182         imply SND_SOC_PEB2466
183         imply SND_SOC_RK3328
184         imply SND_SOC_RK817
185         imply SND_SOC_RT274
186         imply SND_SOC_RT286
187         imply SND_SOC_RT298
188         imply SND_SOC_RT1011
189         imply SND_SOC_RT1015
190         imply SND_SOC_RT1015P
191         imply SND_SOC_RT1016
192         imply SND_SOC_RT1017_SDCA_SDW
193         imply SND_SOC_RT1019
194         imply SND_SOC_RT1305
195         imply SND_SOC_RT1308
196         imply SND_SOC_RT5514
197         imply SND_SOC_RT5616
198         imply SND_SOC_RT5631
199         imply SND_SOC_RT5640
200         imply SND_SOC_RT5645
201         imply SND_SOC_RT5651
202         imply SND_SOC_RT5659
203         imply SND_SOC_RT5660
204         imply SND_SOC_RT5663
205         imply SND_SOC_RT5665
206         imply SND_SOC_RT5668
207         imply SND_SOC_RT5670
208         imply SND_SOC_RT5677
209         imply SND_SOC_RT5682_I2C
210         imply SND_SOC_RT5682_SDW
211         imply SND_SOC_RT5682S
212         imply SND_SOC_RT700_SDW
213         imply SND_SOC_RT711_SDW
214         imply SND_SOC_RT711_SDCA_SDW
215         imply SND_SOC_RT712_SDCA_SDW
216         imply SND_SOC_RT712_SDCA_DMIC_SDW
217         imply SND_SOC_RT715_SDW
218         imply SND_SOC_RT715_SDCA_SDW
219         imply SND_SOC_RT722_SDCA_SDW
220         imply SND_SOC_RT1308_SDW
221         imply SND_SOC_RT1316_SDW
222         imply SND_SOC_RT1318_SDW
223         imply SND_SOC_RT9120
224         imply SND_SOC_SDW_MOCKUP
225         imply SND_SOC_SGTL5000
226         imply SND_SOC_SI476X
227         imply SND_SOC_SIMPLE_AMPLIFIER
228         imply SND_SOC_SIMPLE_MUX
229         imply SND_SOC_SMA1303
230         imply SND_SOC_SPDIF
231         imply SND_SOC_SRC4XXX_I2C
232         imply SND_SOC_SSM2305
233         imply SND_SOC_SSM2518
234         imply SND_SOC_SSM2602_SPI
235         imply SND_SOC_SSM2602_I2C
236         imply SND_SOC_SSM4567
237         imply SND_SOC_STA32X
238         imply SND_SOC_STA350
239         imply SND_SOC_STA529
240         imply SND_SOC_STAC9766
241         imply SND_SOC_STI_SAS
242         imply SND_SOC_TAS2552
243         imply SND_SOC_TAS2562
244         imply SND_SOC_TAS2764
245         imply SND_SOC_TAS2770
246         imply SND_SOC_TAS2780
247         imply SND_SOC_TAS2781_COMLIB
248         imply SND_SOC_TAS2781_FMWLIB
249         imply SND_SOC_TAS2781_I2C
250         imply SND_SOC_TAS5086
251         imply SND_SOC_TAS571X
252         imply SND_SOC_TAS5720
253         imply SND_SOC_TAS6424
254         imply SND_SOC_TDA7419
255         imply SND_SOC_TFA9879
256         imply SND_SOC_TFA989X
257         imply SND_SOC_TLV320ADC3XXX
258         imply SND_SOC_TLV320ADCX140
259         imply SND_SOC_TLV320AIC23_I2C
260         imply SND_SOC_TLV320AIC23_SPI
261         imply SND_SOC_TAS5713
262         imply SND_SOC_TLV320AIC26
263         imply SND_SOC_TLV320AIC31XX
264         imply SND_SOC_TLV320AIC32X4_I2C
265         imply SND_SOC_TLV320AIC32X4_SPI
266         imply SND_SOC_TLV320AIC3X_I2C
267         imply SND_SOC_TLV320AIC3X_SPI
268         imply SND_SOC_TPA6130A2
269         imply SND_SOC_TLV320DAC33
270         imply SND_SOC_TSCS42XX
271         imply SND_SOC_TSCS454
272         imply SND_SOC_TS3A227E
273         imply SND_SOC_TWL4030
274         imply SND_SOC_TWL6040
275         imply SND_SOC_UDA1334
276         imply SND_SOC_UDA1380
277         imply SND_SOC_WCD9335
278         imply SND_SOC_WCD934X
279         imply SND_SOC_WCD938X_SDW
280         imply SND_SOC_LPASS_MACRO_COMMON
281         imply SND_SOC_LPASS_RX_MACRO
282         imply SND_SOC_LPASS_TX_MACRO
283         imply SND_SOC_WL1273
284         imply SND_SOC_WM0010
285         imply SND_SOC_WM1250_EV1
286         imply SND_SOC_WM2000
287         imply SND_SOC_WM2200
288         imply SND_SOC_WM5100
289         imply SND_SOC_WM5102
290         imply SND_SOC_WM5110
291         imply SND_SOC_WM8350
292         imply SND_SOC_WM8400
293         imply SND_SOC_WM8510
294         imply SND_SOC_WM8523
295         imply SND_SOC_WM8524
296         imply SND_SOC_WM8580
297         imply SND_SOC_WM8711
298         imply SND_SOC_WM8727
299         imply SND_SOC_WM8728
300         imply SND_SOC_WM8731_I2C
301         imply SND_SOC_WM8731_SPI
302         imply SND_SOC_WM8737
303         imply SND_SOC_WM8741
304         imply SND_SOC_WM8750
305         imply SND_SOC_WM8753
306         imply SND_SOC_WM8770
307         imply SND_SOC_WM8776
308         imply SND_SOC_WM8782
309         imply SND_SOC_WM8804_I2C
310         imply SND_SOC_WM8804_SPI
311         imply SND_SOC_WM8900
312         imply SND_SOC_WM8903
313         imply SND_SOC_WM8904
314         imply SND_SOC_WM8940
315         imply SND_SOC_WM8955
316         imply SND_SOC_WM8960
317         imply SND_SOC_WM8961
318         imply SND_SOC_WM8962
319         imply SND_SOC_WM8971
320         imply SND_SOC_WM8974
321         imply SND_SOC_WM8978
322         imply SND_SOC_WM8983
323         imply SND_SOC_WM8985
324         imply SND_SOC_WM8988
325         imply SND_SOC_WM8990
326         imply SND_SOC_WM8991
327         imply SND_SOC_WM8993
328         imply SND_SOC_WM8994
329         imply SND_SOC_WM8995
330         imply SND_SOC_WM8996
331         imply SND_SOC_WM8997
332         imply SND_SOC_WM8998
333         imply SND_SOC_WM9081
334         imply SND_SOC_WM9090
335         imply SND_SOC_WM9705
336         imply SND_SOC_WM9712
337         imply SND_SOC_WM9713
338         imply SND_SOC_WSA881X
339         imply SND_SOC_WSA883X
340         imply SND_SOC_WSA884X
341         imply SND_SOC_ZL38060
342         help
343           Normally ASoC codec drivers are only built if a machine driver which
344           uses them is also built since they are only usable with a machine
345           driver.  Selecting this option will allow these drivers to be built
346           without an explicit machine driver for test and development purposes.
347
348           Support for the bus types used to access the codecs to be built must
349           be selected separately.
350
351           If unsure select "N".
352
353 config SND_SOC_88PM860X
354         tristate
355         depends on MFD_88PM860X
356
357 config SND_SOC_ARIZONA
358         tristate
359         default y if SND_SOC_CS47L24=y
360         default y if SND_SOC_WM5102=y
361         default y if SND_SOC_WM5110=y
362         default y if SND_SOC_WM8997=y
363         default y if SND_SOC_WM8998=y
364         default m if SND_SOC_CS47L24=m
365         default m if SND_SOC_WM5102=m
366         default m if SND_SOC_WM5110=m
367         default m if SND_SOC_WM8997=m
368         default m if SND_SOC_WM8998=m
369
370 config SND_SOC_WM_HUBS
371         tristate
372         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
373         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
374
375 config SND_SOC_WM_ADSP
376         tristate
377         select FW_CS_DSP
378         select SND_SOC_COMPRESS
379         default y if SND_SOC_MADERA=y
380         default y if SND_SOC_CS47L24=y
381         default y if SND_SOC_WM5102=y
382         default y if SND_SOC_WM5110=y
383         default y if SND_SOC_WM2200=y
384         default y if SND_SOC_CS35L41_SPI=y
385         default y if SND_SOC_CS35L41_I2C=y
386         default y if SND_SOC_CS35L45_SPI=y
387         default y if SND_SOC_CS35L45_I2C=y
388         default y if SND_SOC_CS35L56=y
389         default m if SND_SOC_MADERA=m
390         default m if SND_SOC_CS47L24=m
391         default m if SND_SOC_WM5102=m
392         default m if SND_SOC_WM5110=m
393         default m if SND_SOC_WM2200=m
394         default m if SND_SOC_CS35L41_SPI=m
395         default m if SND_SOC_CS35L41_I2C=m
396         default m if SND_SOC_CS35L45_SPI=m
397         default m if SND_SOC_CS35L45_I2C=m
398         default m if SND_SOC_CS35L56=m
399
400 config SND_SOC_AB8500_CODEC
401         tristate
402         depends on ABX500_CORE
403
404 config SND_SOC_AC97_CODEC
405         tristate "Build generic ASoC AC97 CODEC driver"
406         select SND_AC97_CODEC
407         select SND_SOC_AC97_BUS
408
409 config SND_SOC_AD1836
410         tristate
411         depends on SPI_MASTER
412
413 config SND_SOC_AD193X
414         tristate
415
416 config SND_SOC_AD193X_SPI
417         tristate "Analog Devices AU193X CODEC - SPI"
418         depends on SPI_MASTER
419         select SND_SOC_AD193X
420
421 config SND_SOC_AD193X_I2C
422         tristate "Analog Devices AU193X CODEC - I2C"
423         depends on I2C
424         select SND_SOC_AD193X
425
426 config SND_SOC_AD1980
427         tristate
428         depends on SND_SOC_AC97_BUS
429         select REGMAP_AC97
430
431 config SND_SOC_AD73311
432         tristate
433
434 config SND_SOC_ADAU_UTILS
435         tristate
436
437 config SND_SOC_ADAU1372
438         tristate
439         select SND_SOC_ADAU_UTILS
440
441 config SND_SOC_ADAU1372_I2C
442         tristate "Analog Devices ADAU1372 CODEC (I2C)"
443         depends on I2C
444         select SND_SOC_ADAU1372
445         select REGMAP_I2C
446
447 config SND_SOC_ADAU1372_SPI
448         tristate "Analog Devices ADAU1372 CODEC (SPI)"
449         depends on SPI
450         select SND_SOC_ADAU1372
451         select REGMAP_SPI
452
453 config SND_SOC_ADAU1373
454         tristate
455         depends on I2C
456         select SND_SOC_ADAU_UTILS
457
458 config SND_SOC_ADAU1701
459         tristate "Analog Devices ADAU1701 CODEC"
460         depends on I2C
461         select SND_SOC_SIGMADSP_I2C
462
463 config SND_SOC_ADAU17X1
464         tristate
465         select SND_SOC_SIGMADSP_REGMAP
466         select SND_SOC_ADAU_UTILS
467
468 config SND_SOC_ADAU1761
469         tristate
470         select SND_SOC_ADAU17X1
471
472 config SND_SOC_ADAU1761_I2C
473         tristate "Analog Devices AU1761 CODEC - I2C"
474         depends on I2C
475         select SND_SOC_ADAU1761
476         select REGMAP_I2C
477
478 config SND_SOC_ADAU1761_SPI
479         tristate "Analog Devices AU1761 CODEC - SPI"
480         depends on SPI
481         select SND_SOC_ADAU1761
482         select REGMAP_SPI
483
484 config SND_SOC_ADAU1781
485         select SND_SOC_ADAU17X1
486         tristate
487
488 config SND_SOC_ADAU1781_I2C
489         tristate
490         depends on I2C
491         select SND_SOC_ADAU1781
492         select REGMAP_I2C
493
494 config SND_SOC_ADAU1781_SPI
495         tristate
496         depends on SPI_MASTER
497         select SND_SOC_ADAU1781
498         select REGMAP_SPI
499
500 config SND_SOC_ADAU1977
501         tristate
502
503 config SND_SOC_ADAU1977_SPI
504         tristate
505         depends on SPI_MASTER
506         select SND_SOC_ADAU1977
507         select REGMAP_SPI
508
509 config SND_SOC_ADAU1977_I2C
510         tristate
511         depends on I2C
512         select SND_SOC_ADAU1977
513         select REGMAP_I2C
514
515 config SND_SOC_ADAU7002
516         tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
517
518 config SND_SOC_ADAU7118
519         tristate
520
521 config SND_SOC_ADAU7118_HW
522         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
523         select SND_SOC_ADAU7118
524         help
525           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
526           Converter. In this mode, the device works in standalone mode which
527           means that there is no bus to communicate with it. Stereo mode is not
528           supported in this mode.
529
530           To compile this driver as a module, choose M here: the module
531           will be called snd-soc-adau7118-hw.
532
533 config SND_SOC_ADAU7118_I2C
534         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
535         depends on I2C
536         select SND_SOC_ADAU7118
537         select REGMAP_I2C
538         help
539           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
540           Converter over I2C. This gives full support over the device.
541
542           To compile this driver as a module, choose M here: the module
543           will be called snd-soc-adau7118-i2c.
544
545 config SND_SOC_ADAV80X
546         tristate
547
548 config SND_SOC_ADAV801
549         tristate
550         depends on SPI_MASTER
551         select SND_SOC_ADAV80X
552
553 config SND_SOC_ADAV803
554         tristate
555         depends on I2C
556         select SND_SOC_ADAV80X
557
558 config SND_SOC_ADS117X
559         tristate
560
561 config SND_SOC_AK4104
562         tristate "AKM AK4104 CODEC"
563         depends on SPI_MASTER
564
565 config SND_SOC_AK4118
566         tristate "AKM AK4118 CODEC"
567         depends on I2C
568         select REGMAP_I2C
569
570 config SND_SOC_AK4375
571         tristate "AKM AK4375 CODEC"
572         depends on I2C
573         select REGMAP_I2C
574         help
575           Enable support for the Asahi-Kasei AK4375 codec.
576
577           To compile this driver as a module, choose M here: the module
578           will be called snd-soc-ak4375.
579
580 config SND_SOC_AK4458
581         tristate "AKM AK4458 CODEC"
582         depends on I2C
583         select REGMAP_I2C
584
585 config SND_SOC_AK4535
586         tristate
587         depends on I2C
588
589 config SND_SOC_AK4554
590         tristate "AKM AK4554 CODEC"
591
592 config SND_SOC_AK4613
593         tristate "AKM AK4613 CODEC"
594         depends on I2C
595
596 config SND_SOC_AK4641
597         tristate
598         depends on I2C
599
600 config SND_SOC_AK4642
601         tristate "AKM AK4642 CODEC"
602         depends on I2C
603
604 config SND_SOC_AK4671
605         tristate
606         depends on I2C
607
608 config SND_SOC_AK5386
609         tristate "AKM AK5638 CODEC"
610
611 config SND_SOC_AK5558
612         tristate "AKM AK5558 CODEC"
613         depends on I2C
614         select REGMAP_I2C
615
616 config SND_SOC_ALC5623
617         tristate "Realtek ALC5623 CODEC"
618         depends on I2C
619
620 config SND_SOC_ALC5632
621         tristate
622         depends on I2C
623
624 config SND_SOC_AUDIO_IIO_AUX
625         tristate "Audio IIO Auxiliary device"
626         depends on IIO
627         help
628           Enable support for Industrial I/O devices as audio auxiliary devices.
629           This allows to have an IIO device present in the audio path and
630           controlled using mixer controls.
631
632           To compile this driver as a module, choose M here: the module
633           will be called snd-soc-audio-iio-aux.
634
635 config SND_SOC_AW8738
636         tristate "Awinic AW8738 Audio Amplifier"
637         select GPIOLIB
638         help
639           Enable support for the Awinic AW8738 audio amplifier (or similar).
640           The driver supports simple audio amplifiers similar to
641           SND_SOC_SIMPLE_AMPLIFIER, but additionally allows setting the
642           operation mode using the Awinic-specific one-wire pulse control.
643
644 config SND_SOC_AW88395_LIB
645         tristate
646
647 config SND_SOC_AW88395
648         tristate "Soc Audio for awinic aw88395"
649         depends on I2C
650         select CRC8
651         select CRC32
652         select REGMAP_I2C
653         select GPIOLIB
654         select SND_SOC_AW88395_LIB
655         help
656           this option enables support for aw88395 Smart PA.
657           The Awinic AW88395 is an I2S/TDM input, high efficiency
658           digital Smart K audio amplifier with an integrated 10V
659           smart boost convert.
660
661 config SND_SOC_AW88261
662         tristate "Soc Audio for awinic aw88261"
663         depends on I2C
664         select CRC8
665         select REGMAP_I2C
666         select GPIOLIB
667         select SND_SOC_AW88395_LIB
668         help
669           This option enables support for aw88261 Smart PA.
670           The awinic AW88261 is an I2S/TDM input, high efficiency
671           digital Smart K audio amplifier. The output voltage of
672           boost converter can be adjusted smartly according to
673           the input amplitude.
674
675 config SND_SOC_BD28623
676         tristate "ROHM BD28623 CODEC"
677         help
678           Enable support for ROHM BD28623MUV Class D speaker amplifier.
679           This codec does not have any control buses such as I2C, it
680           detect format of I2S automatically.
681
682 config SND_SOC_BT_SCO
683         tristate "Dummy BT SCO codec driver"
684
685 config SND_SOC_CHV3_CODEC
686         tristate "Google Chameleon v3 codec driver"
687         help
688           Enable support for the Google Chameleon v3 audio codec.
689           This codec does not have a control interface, it always outputs
690           8 channel S32_LE audio.
691
692 config SND_SOC_CPCAP
693         tristate "Motorola CPCAP codec"
694         depends on MFD_CPCAP || COMPILE_TEST
695
696 config SND_SOC_CQ0093VC
697         tristate
698
699 config SND_SOC_CROS_EC_CODEC
700         tristate "codec driver for ChromeOS EC"
701         depends on CROS_EC
702         select CRYPTO
703         select CRYPTO_LIB_SHA256
704         help
705           If you say yes here you will get support for the
706           ChromeOS Embedded Controller's Audio Codec.
707
708 config SND_SOC_CS35L32
709         tristate "Cirrus Logic CS35L32 CODEC"
710         depends on I2C
711
712 config SND_SOC_CS35L33
713         tristate "Cirrus Logic CS35L33 CODEC"
714         depends on I2C
715
716 config SND_SOC_CS35L34
717         tristate "Cirrus Logic CS35L34 CODEC"
718         depends on I2C
719
720 config SND_SOC_CS35L35
721         tristate "Cirrus Logic CS35L35 CODEC"
722         depends on I2C
723
724 config SND_SOC_CS35L36
725         tristate "Cirrus Logic CS35L36 CODEC"
726         depends on I2C
727
728 config SND_SOC_CS35L41_LIB
729         tristate
730
731 config SND_SOC_CS35L41
732         tristate
733
734 config SND_SOC_CS35L41_SPI
735         tristate "Cirrus Logic CS35L41 CODEC (SPI)"
736         depends on SPI_MASTER
737         select SND_SOC_CS35L41_LIB
738         select SND_SOC_CS35L41
739         select REGMAP_SPI
740
741 config SND_SOC_CS35L41_I2C
742         tristate "Cirrus Logic CS35L41 CODEC (I2C)"
743         depends on I2C
744         select SND_SOC_CS35L41_LIB
745         select SND_SOC_CS35L41
746         select REGMAP_I2C
747
748 config SND_SOC_CS35L45
749         tristate
750         select REGMAP_IRQ
751
752 config SND_SOC_CS35L45_SPI
753         tristate "Cirrus Logic CS35L45 CODEC (SPI)"
754         depends on SPI_MASTER
755         select REGMAP
756         select REGMAP_SPI
757         select SND_SOC_CS35L45
758         help
759           Enable support for Cirrus Logic CS35L45 smart speaker amplifier
760           with SPI control.
761
762 config SND_SOC_CS35L45_I2C
763         tristate "Cirrus Logic CS35L45 CODEC (I2C)"
764         depends on I2C
765         select REGMAP
766         select REGMAP_I2C
767         select SND_SOC_CS35L45
768         help
769           Enable support for Cirrus Logic CS35L45 smart speaker amplifier
770           with I2C control.
771
772 config SND_SOC_CS35L56
773         tristate
774
775 config SND_SOC_CS35L56_SHARED
776         tristate
777
778 config SND_SOC_CS35L56_I2C
779         tristate "Cirrus Logic CS35L56 CODEC (I2C)"
780         depends on I2C
781         depends on SOUNDWIRE || !SOUNDWIRE
782         select REGMAP_I2C
783         select SND_SOC_CS35L56
784         select SND_SOC_CS35L56_SHARED
785         help
786           Enable support for Cirrus Logic CS35L56 boosted amplifier with I2C control
787
788 config SND_SOC_CS35L56_SPI
789         tristate "Cirrus Logic CS35L56 CODEC (SPI)"
790         depends on SPI_MASTER
791         depends on SOUNDWIRE || !SOUNDWIRE
792         select REGMAP_SPI
793         select SND_SOC_CS35L56
794         select SND_SOC_CS35L56_SHARED
795         help
796           Enable support for Cirrus Logic CS35L56 boosted amplifier with SPI control
797
798 config SND_SOC_CS35L56_SDW
799         tristate "Cirrus Logic CS35L56 CODEC (SDW)"
800         depends on SOUNDWIRE
801         select REGMAP
802         select SND_SOC_CS35L56
803         select SND_SOC_CS35L56_SHARED
804         help
805           Enable support for Cirrus Logic CS35L56 boosted amplifier with SoundWire control
806
807 config SND_SOC_CS42L42_CORE
808         tristate
809
810 config SND_SOC_CS42L42
811         tristate "Cirrus Logic CS42L42 CODEC (I2C)"
812         depends on I2C
813         select REGMAP
814         select REGMAP_I2C
815         select SND_SOC_CS42L42_CORE
816
817 config SND_SOC_CS42L42_SDW
818         tristate "Cirrus Logic CS42L42 CODEC on Soundwire"
819         depends on SOUNDWIRE
820         select SND_SOC_CS42L42_CORE
821         help
822           Enable support for Cirrus Logic CS42L42 codec with Soundwire control
823
824 config SND_SOC_CS42L43
825         tristate "Cirrus Logic CS42L43 CODEC"
826         depends on MFD_CS42L43
827         help
828           Select this to support the audio functions of the Cirrus Logic
829           CS42L43 PC CODEC.
830
831 config SND_SOC_CS42L43_SDW
832         tristate "Cirrus Logic CS42L43 CODEC (SoundWire)"
833         depends on SND_SOC_CS42L43 && MFD_CS42L43_SDW
834         help
835           Select this to support the audio functions of the Cirrus Logic
836           CS42L43 PC CODEC over SoundWire.
837
838 config SND_SOC_CS42L51
839         tristate
840
841 config SND_SOC_CS42L51_I2C
842         tristate "Cirrus Logic CS42L51 CODEC (I2C)"
843         depends on I2C
844         select SND_SOC_CS42L51
845
846 config SND_SOC_CS42L52
847         tristate "Cirrus Logic CS42L52 CODEC"
848         depends on I2C && INPUT
849
850 config SND_SOC_CS42L56
851         tristate "Cirrus Logic CS42L56 CODEC"
852         depends on I2C && INPUT
853
854 config SND_SOC_CS42L73
855         tristate "Cirrus Logic CS42L73 CODEC"
856         depends on I2C
857
858 config SND_SOC_CS42L83
859         tristate "Cirrus Logic CS42L83 CODEC"
860         depends on I2C
861         select REGMAP
862         select REGMAP_I2C
863         select SND_SOC_CS42L42_CORE
864
865 config SND_SOC_CS4234
866         tristate "Cirrus Logic CS4234 CODEC"
867         depends on I2C
868         select REGMAP_I2C
869
870 config SND_SOC_CS4265
871         tristate "Cirrus Logic CS4265 CODEC"
872         depends on I2C
873         select REGMAP_I2C
874
875 # Cirrus Logic CS4270 Codec
876 config SND_SOC_CS4270
877         tristate "Cirrus Logic CS4270 CODEC"
878         depends on I2C
879
880 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
881 # Select if you are affected by the errata where the part will not function
882 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
883 # not select any sample rates that require MCLK to be divided by 1.5.
884 config SND_SOC_CS4270_VD33_ERRATA
885         bool
886         depends on SND_SOC_CS4270
887
888 config SND_SOC_CS4271
889         tristate
890
891 config SND_SOC_CS4271_I2C
892         tristate "Cirrus Logic CS4271 CODEC (I2C)"
893         depends on I2C
894         select SND_SOC_CS4271
895         select REGMAP_I2C
896
897 config SND_SOC_CS4271_SPI
898         tristate "Cirrus Logic CS4271 CODEC (SPI)"
899         depends on SPI_MASTER
900         select SND_SOC_CS4271
901         select REGMAP_SPI
902
903 config SND_SOC_CS42XX8
904         tristate
905
906 config SND_SOC_CS42XX8_I2C
907         tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
908         depends on I2C
909         select SND_SOC_CS42XX8
910         select REGMAP_I2C
911
912 # Cirrus Logic CS43130 HiFi DAC
913 config SND_SOC_CS43130
914         tristate "Cirrus Logic CS43130 CODEC"
915         depends on I2C
916
917 config SND_SOC_CS4341
918         tristate "Cirrus Logic CS4341 CODEC"
919         depends on SND_SOC_I2C_AND_SPI
920         select REGMAP_I2C if I2C
921         select REGMAP_SPI if SPI_MASTER
922
923 # Cirrus Logic CS4349 HiFi DAC
924 config SND_SOC_CS4349
925         tristate "Cirrus Logic CS4349 CODEC"
926         depends on I2C
927
928 config SND_SOC_CS47L15
929         tristate
930         depends on MFD_CS47L15
931
932 config SND_SOC_CS47L24
933         tristate
934         depends on MFD_CS47L24 && MFD_ARIZONA
935
936 config SND_SOC_CS47L35
937         tristate
938         depends on MFD_CS47L35
939
940 config SND_SOC_CS47L85
941         tristate
942         depends on MFD_CS47L85
943
944 config SND_SOC_CS47L90
945         tristate
946         depends on MFD_CS47L90
947
948 config SND_SOC_CS47L92
949         tristate
950         depends on MFD_CS47L92
951
952 # Cirrus Logic Quad-Channel ADC
953 config SND_SOC_CS53L30
954         tristate "Cirrus Logic CS53L30 CODEC"
955         depends on I2C
956
957 config SND_SOC_CX20442
958         tristate
959         depends on TTY
960
961 config SND_SOC_CX2072X
962         tristate "Conexant CX2072X CODEC"
963         depends on I2C
964         help
965           Enable support for Conexant CX20721 and CX20723 codec chips.
966
967 config SND_SOC_JZ4740_CODEC
968         depends on MACH_INGENIC || COMPILE_TEST
969         depends on OF
970         select REGMAP_MMIO
971         tristate "Ingenic JZ4740 internal CODEC"
972         help
973           Enable support for the internal CODEC found in the JZ4740 SoC
974           from Ingenic.
975
976           This driver can also be built as a module. If so, the module
977           will be called snd-soc-jz4740-codec.
978
979 config SND_SOC_JZ4725B_CODEC
980         depends on MACH_INGENIC || COMPILE_TEST
981         depends on OF
982         select REGMAP
983         tristate "Ingenic JZ4725B internal CODEC"
984         help
985           Enable support for the internal CODEC found in the JZ4725B SoC
986           from Ingenic.
987
988           This driver can also be built as a module. If so, the module
989           will be called snd-soc-jz4725b-codec.
990
991 config SND_SOC_JZ4760_CODEC
992         depends on MACH_INGENIC || COMPILE_TEST
993         depends on OF
994         select REGMAP
995         tristate "Ingenic JZ4760 internal CODEC"
996         help
997           Enable support for the internal CODEC found in the JZ4760 SoC
998           from Ingenic.
999
1000           This driver can also be built as a module. If so, the module
1001           will be called snd-soc-jz4760-codec.
1002
1003 config SND_SOC_JZ4770_CODEC
1004         depends on MACH_INGENIC || COMPILE_TEST
1005         depends on OF
1006         select REGMAP
1007         tristate "Ingenic JZ4770 internal CODEC"
1008         help
1009           Enable support for the internal CODEC found in the JZ4770 SoC
1010           from Ingenic.
1011
1012           This driver can also be built as a module. If so, the module
1013           will be called snd-soc-jz4770-codec.
1014
1015 config SND_SOC_DA7210
1016         tristate
1017         depends on SND_SOC_I2C_AND_SPI
1018
1019 config SND_SOC_DA7213
1020         tristate "Dialog DA7213 CODEC"
1021         depends on I2C
1022
1023 config SND_SOC_DA7218
1024         tristate
1025         depends on I2C
1026
1027 config SND_SOC_DA7219
1028         tristate
1029         depends on I2C
1030
1031 config SND_SOC_DA732X
1032         tristate
1033         depends on I2C
1034
1035 config SND_SOC_DA9055
1036         tristate
1037         depends on I2C
1038
1039 config SND_SOC_DMIC
1040         tristate "Generic Digital Microphone CODEC"
1041         help
1042           Enable support for the Generic Digital Microphone CODEC.
1043           Select this if your sound card has DMICs.
1044
1045 config SND_SOC_HDMI_CODEC
1046         tristate
1047         select SND_PCM_ELD
1048         select SND_PCM_IEC958
1049         select HDMI
1050
1051 config SND_SOC_ES7134
1052         tristate "Everest Semi ES7134 CODEC"
1053
1054 config SND_SOC_ES7241
1055         tristate "Everest Semi ES7241 CODEC"
1056
1057 config SND_SOC_ES8316
1058         tristate "Everest Semi ES8316 CODEC"
1059         depends on I2C
1060
1061 config SND_SOC_ES8326
1062         tristate "Everest Semi ES8326 CODEC"
1063         depends on I2C
1064
1065 config SND_SOC_ES8328
1066         tristate
1067
1068 config SND_SOC_ES8328_I2C
1069         tristate "Everest Semi ES8328 CODEC (I2C)"
1070         depends on I2C
1071         select SND_SOC_ES8328
1072
1073 config SND_SOC_ES8328_SPI
1074         tristate "Everest Semi ES8328 CODEC (SPI)"
1075         depends on SPI_MASTER
1076         select SND_SOC_ES8328
1077
1078 config SND_SOC_GTM601
1079         tristate 'GTM601 UMTS modem audio codec'
1080
1081 config SND_SOC_HDAC_HDMI
1082         tristate
1083         select SND_HDA_EXT_CORE
1084         select SND_PCM_ELD
1085         select HDMI
1086
1087 config SND_SOC_HDAC_HDA
1088         tristate
1089         select SND_HDA
1090
1091 config SND_SOC_HDA
1092         tristate "HD-Audio codec driver"
1093         select SND_HDA_EXT_CORE
1094         select SND_HDA
1095         help
1096           This enables HD-Audio codec support in ASoC subsystem. Compared
1097           to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
1098           legacy solution - including the dynamic resource allocation
1099           based on actual codec capabilities.
1100
1101 config SND_SOC_ICS43432
1102         tristate "ICS43423 and compatible i2s microphones"
1103
1104 config SND_SOC_IDT821034
1105         tristate "Renesas IDT821034 quad PCM codec"
1106         depends on SPI
1107         help
1108           Enable support for the Renesas IDT821034 quad PCM with
1109           programmable gain codec.
1110
1111           To compile this driver as a module, choose M here: the module
1112           will be called snd-soc-idt821034.
1113
1114 config SND_SOC_INNO_RK3036
1115         tristate "Inno codec driver for RK3036 SoC"
1116         select REGMAP_MMIO
1117
1118 config SND_SOC_ISABELLE
1119         tristate
1120         depends on I2C
1121
1122 config SND_SOC_LM49453
1123         tristate
1124         depends on I2C
1125
1126 config SND_SOC_LOCHNAGAR_SC
1127         tristate "Lochnagar Sound Card"
1128         depends on MFD_LOCHNAGAR || COMPILE_TEST
1129         help
1130           This driver support the sound card functionality of the Cirrus
1131           Logic Lochnagar audio development board.
1132
1133 config SND_SOC_MA120X0P
1134         tristate "Infineon Merus(TM) MA120X0P Multilevel Class-D Audio amplifiers"
1135         depends on I2C
1136         help
1137                 Enable support for Infineon MA120X0P Multilevel Class-D audio power
1138                 amplifiers.
1139
1140 config SND_SOC_MADERA
1141         tristate
1142         default y if SND_SOC_CS47L15=y
1143         default y if SND_SOC_CS47L35=y
1144         default y if SND_SOC_CS47L85=y
1145         default y if SND_SOC_CS47L90=y
1146         default y if SND_SOC_CS47L92=y
1147         default m if SND_SOC_CS47L15=m
1148         default m if SND_SOC_CS47L35=m
1149         default m if SND_SOC_CS47L85=m
1150         default m if SND_SOC_CS47L90=m
1151         default m if SND_SOC_CS47L92=m
1152
1153 config SND_SOC_MAX98088
1154         tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
1155         depends on I2C
1156
1157 config SND_SOC_MAX98090
1158         tristate "Maxim MAX98090 CODEC"
1159         depends on I2C
1160
1161 config SND_SOC_MAX98095
1162         tristate
1163         depends on I2C
1164
1165 config SND_SOC_MAX98357A
1166         tristate "Maxim MAX98357A CODEC"
1167
1168 config SND_SOC_MAX98371
1169         tristate
1170         depends on I2C
1171
1172 config SND_SOC_MAX98504
1173         tristate "Maxim MAX98504 speaker amplifier"
1174         depends on I2C
1175
1176 config SND_SOC_MAX9867
1177         tristate "Maxim MAX9867 CODEC"
1178         depends on I2C
1179
1180 config SND_SOC_MAX98925
1181         tristate
1182         depends on I2C
1183
1184 config SND_SOC_MAX98926
1185         tristate
1186         depends on I2C
1187
1188 config SND_SOC_MAX98927
1189         tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1190         depends on I2C
1191
1192 config SND_SOC_MAX98520
1193         tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1194         depends on I2C
1195         help
1196           Enable support for Maxim Integrated MAX98520 audio
1197           amplifier, which implements a tripler charge pump
1198           based boost converter and supports sample rates of
1199           8KHz to 192KHz.
1200
1201           To compile this driver as a module, choose M here.
1202
1203 config SND_SOC_MAX98363
1204         tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
1205         depends on SOUNDWIRE
1206         select REGMAP_SOUNDWIRE
1207         help
1208           Enable support for Analog Devices MAX98363 Soundwire
1209           amplifier. MAX98363 supports the MIPI SoundWire v1.2
1210           compatible interface for audio and control data.
1211           This amplifier does not support I2C and I2S.
1212
1213 config SND_SOC_MAX98373
1214         tristate
1215
1216 config SND_SOC_MAX98373_I2C
1217         tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1218         depends on I2C
1219         select SND_SOC_MAX98373
1220
1221 config SND_SOC_MAX98373_SDW
1222         tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1223         depends on SOUNDWIRE
1224         select SND_SOC_MAX98373
1225         select REGMAP_SOUNDWIRE
1226         help
1227           Enable support for Maxim Integrated MAX98373 Soundwire
1228           amplifier. MAX98373 supports either the MIPI SoundWire
1229           compatible interface for audio and control data, or
1230           the PCM interface for audio data and a standard I2C
1231           interface for control data. Select this if MAX98373 is
1232           connected via soundwire.
1233
1234 config SND_SOC_MAX98388
1235         tristate "Analog Devices MAX98388 Speaker Amplifier"
1236         depends on I2C
1237         help
1238           Enable support for Analog Devices MAX98388 audio
1239           amplifier. The device provides a PCM interface for
1240           audio data and a standard I2C interface for control
1241           data communication.
1242
1243 config SND_SOC_MAX98390
1244         tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1245         depends on I2C
1246
1247 config SND_SOC_MAX98396
1248         tristate "Analog Devices MAX98396 Speaker Amplifier"
1249         depends on I2C
1250         help
1251           Enable support for Analog Devices MAX98396 audio
1252           amplifier. The device provides a PCM interface for
1253           audio data and a standard I2C interface for control
1254           data communication.
1255
1256 config SND_SOC_MAX9850
1257         tristate
1258         depends on I2C
1259
1260 config SND_SOC_MAX9860
1261         tristate "Maxim MAX9860 Mono Audio Voice Codec"
1262         depends on I2C
1263         select REGMAP_I2C
1264
1265 config SND_SOC_MSM8916_WCD_ANALOG
1266         tristate "Qualcomm MSM8916 WCD Analog Codec"
1267         depends on SPMI || COMPILE_TEST
1268
1269 config SND_SOC_MSM8916_WCD_DIGITAL
1270         tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1271         select REGMAP_MMIO
1272
1273 config SND_SOC_PCM1681
1274         tristate "Texas Instruments PCM1681 CODEC"
1275         depends on I2C
1276
1277 config SND_SOC_PCM1789
1278         tristate
1279
1280 config SND_SOC_PCM1789_I2C
1281         tristate "Texas Instruments PCM1789 CODEC (I2C)"
1282         depends on I2C
1283         select SND_SOC_PCM1789
1284         help
1285           Enable support for Texas Instruments PCM1789 CODEC.
1286           Select this if your PCM1789 is connected via an I2C bus.
1287
1288 config SND_SOC_PCM179X
1289         tristate
1290
1291 config SND_SOC_PCM179X_I2C
1292         tristate "Texas Instruments PCM179X CODEC (I2C)"
1293         depends on I2C
1294         select SND_SOC_PCM179X
1295         help
1296           Enable support for Texas Instruments PCM179x CODEC.
1297           Select this if your PCM179x is connected via an I2C bus.
1298
1299 config SND_SOC_PCM179X_SPI
1300         tristate "Texas Instruments PCM179X CODEC (SPI)"
1301         depends on SPI_MASTER
1302         select SND_SOC_PCM179X
1303         help
1304           Enable support for Texas Instruments PCM179x CODEC.
1305           Select this if your PCM179x is connected via an SPI bus.
1306
1307 config SND_SOC_PCM186X
1308         tristate
1309
1310 config SND_SOC_PCM186X_I2C
1311         tristate "Texas Instruments PCM186x CODECs - I2C"
1312         depends on I2C
1313         select SND_SOC_PCM186X
1314         select REGMAP_I2C
1315
1316 config SND_SOC_PCM186X_SPI
1317         tristate "Texas Instruments PCM186x CODECs - SPI"
1318         depends on SPI_MASTER
1319         select SND_SOC_PCM186X
1320         select REGMAP_SPI
1321
1322 config SND_SOC_PCM3008
1323         tristate
1324
1325 config SND_SOC_PCM3060
1326         tristate
1327
1328 config SND_SOC_PCM3060_I2C
1329         tristate "Texas Instruments PCM3060 CODEC - I2C"
1330         depends on I2C
1331         select SND_SOC_PCM3060
1332         select REGMAP_I2C
1333
1334 config SND_SOC_PCM3060_SPI
1335         tristate "Texas Instruments PCM3060 CODEC - SPI"
1336         depends on SPI_MASTER
1337         select SND_SOC_PCM3060
1338         select REGMAP_SPI
1339
1340 config SND_SOC_PCM3168A
1341         tristate
1342
1343 config SND_SOC_PCM3168A_I2C
1344         tristate "Texas Instruments PCM3168A CODEC - I2C"
1345         depends on I2C
1346         select SND_SOC_PCM3168A
1347         select REGMAP_I2C
1348
1349 config SND_SOC_PCM3168A_SPI
1350         tristate "Texas Instruments PCM3168A CODEC - SPI"
1351         depends on SPI_MASTER
1352         select SND_SOC_PCM3168A
1353         select REGMAP_SPI
1354
1355 config SND_SOC_PCM5102A
1356         tristate "Texas Instruments PCM5102A CODEC"
1357
1358 config SND_SOC_PCM512x
1359         tristate
1360
1361 config SND_SOC_PCM512x_I2C
1362         tristate "Texas Instruments PCM512x CODECs - I2C"
1363         depends on I2C
1364         select SND_SOC_PCM512x
1365         select REGMAP_I2C
1366
1367 config SND_SOC_PCM512x_SPI
1368         tristate "Texas Instruments PCM512x CODECs - SPI"
1369         depends on SPI_MASTER
1370         select SND_SOC_PCM512x
1371         select REGMAP_SPI
1372
1373 config SND_SOC_PEB2466
1374         tristate "Infineon PEB2466 quad PCM codec"
1375         depends on SPI
1376         select REGMAP_SPI
1377         help
1378           Enable support for the Infineon PEB2466 quad PCM codec,
1379           also named SICOFI 4-uC.
1380
1381           To compile this driver as a module, choose M here: the module
1382           will be called snd-soc-peb2466.
1383
1384 config SND_SOC_RK3328
1385         tristate "Rockchip RK3328 audio CODEC"
1386         select REGMAP_MMIO
1387
1388 config SND_SOC_RK817
1389         tristate "Rockchip RK817 audio CODEC"
1390         depends on MFD_RK8XX || COMPILE_TEST
1391
1392 config SND_SOC_RL6231
1393         tristate
1394         default y if SND_SOC_RT5514=y
1395         default y if SND_SOC_RT5616=y
1396         default y if SND_SOC_RT5640=y
1397         default y if SND_SOC_RT5645=y
1398         default y if SND_SOC_RT5651=y
1399         default y if SND_SOC_RT5659=y
1400         default y if SND_SOC_RT5660=y
1401         default y if SND_SOC_RT5663=y
1402         default y if SND_SOC_RT5665=y
1403         default y if SND_SOC_RT5668=y
1404         default y if SND_SOC_RT5670=y
1405         default y if SND_SOC_RT5677=y
1406         default y if SND_SOC_RT5682=y
1407         default y if SND_SOC_RT1011=y
1408         default y if SND_SOC_RT1015=y
1409         default y if SND_SOC_RT1015P=y
1410         default y if SND_SOC_RT1019=y
1411         default y if SND_SOC_RT1305=y
1412         default y if SND_SOC_RT1308=y
1413         default m if SND_SOC_RT5514=m
1414         default m if SND_SOC_RT5616=m
1415         default m if SND_SOC_RT5640=m
1416         default m if SND_SOC_RT5645=m
1417         default m if SND_SOC_RT5651=m
1418         default m if SND_SOC_RT5659=m
1419         default m if SND_SOC_RT5660=m
1420         default m if SND_SOC_RT5663=m
1421         default m if SND_SOC_RT5665=m
1422         default m if SND_SOC_RT5668=m
1423         default m if SND_SOC_RT5670=m
1424         default m if SND_SOC_RT5677=m
1425         default m if SND_SOC_RT5682=m
1426         default m if SND_SOC_RT1011=m
1427         default m if SND_SOC_RT1015=m
1428         default m if SND_SOC_RT1015P=m
1429         default m if SND_SOC_RT1019=m
1430         default m if SND_SOC_RT1305=m
1431         default m if SND_SOC_RT1308=m
1432
1433 config SND_SOC_RL6347A
1434         tristate
1435         default y if SND_SOC_RT274=y
1436         default y if SND_SOC_RT286=y
1437         default y if SND_SOC_RT298=y
1438         default m if SND_SOC_RT274=m
1439         default m if SND_SOC_RT286=m
1440         default m if SND_SOC_RT298=m
1441
1442 config SND_SOC_RT274
1443         tristate
1444         depends on I2C
1445
1446 config SND_SOC_RT286
1447         tristate
1448         depends on I2C
1449
1450 config SND_SOC_RT298
1451         tristate
1452         depends on I2C
1453
1454 config SND_SOC_RT1011
1455         tristate
1456         depends on I2C
1457
1458 config SND_SOC_RT1015
1459         tristate
1460         depends on I2C
1461
1462 config SND_SOC_RT1015P
1463         tristate
1464
1465 config SND_SOC_RT1016
1466         tristate
1467         depends on I2C
1468
1469 config SND_SOC_RT1017_SDCA_SDW
1470         tristate "Realtek RT1017 SDCA Codec - SDW"
1471         depends on SOUNDWIRE
1472         select REGMAP_SOUNDWIRE
1473
1474 config SND_SOC_RT1019
1475         tristate
1476         depends on I2C
1477
1478 config SND_SOC_RT1305
1479         tristate
1480         depends on I2C
1481
1482 config SND_SOC_RT1308
1483         tristate
1484         depends on I2C
1485
1486 config SND_SOC_RT1308_SDW
1487         tristate "Realtek RT1308 Codec - SDW"
1488         depends on I2C && SOUNDWIRE
1489         select REGMAP_SOUNDWIRE
1490
1491 config SND_SOC_RT1316_SDW
1492         tristate "Realtek RT1316 Codec - SDW"
1493         depends on SOUNDWIRE
1494         select REGMAP_SOUNDWIRE
1495
1496 config SND_SOC_RT1318_SDW
1497         tristate "Realtek RT1318 Codec - SDW"
1498         depends on SOUNDWIRE
1499         select REGMAP_SOUNDWIRE
1500
1501 config SND_SOC_RT5514
1502         tristate
1503         depends on I2C
1504
1505 config SND_SOC_RT5514_SPI
1506         tristate
1507         depends on SPI_MASTER
1508
1509 config SND_SOC_RT5514_SPI_BUILTIN
1510         bool # force RT5514_SPI to be built-in to avoid link errors
1511         default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1512
1513 config SND_SOC_RT5616
1514         tristate "Realtek RT5616 CODEC"
1515         depends on I2C
1516
1517 config SND_SOC_PCM1794A
1518         tristate
1519         depends on I2C
1520
1521 config SND_SOC_RT5631
1522         tristate "Realtek ALC5631/RT5631 CODEC"
1523         depends on I2C
1524
1525 config SND_SOC_RT5640
1526         tristate "Realtek RT5640/RT5639 Codec"
1527         depends on I2C
1528
1529 config SND_SOC_RT5645
1530         tristate
1531         depends on I2C
1532
1533 config SND_SOC_RT5651
1534         tristate
1535         depends on I2C
1536
1537 config SND_SOC_RT5659
1538         tristate "Realtek RT5658/RT5659 Codec"
1539         depends on I2C
1540
1541 config SND_SOC_RT5660
1542         tristate
1543         depends on I2C
1544
1545 config SND_SOC_RT5663
1546         tristate
1547         depends on I2C
1548
1549 config SND_SOC_RT5665
1550         tristate
1551         depends on I2C
1552
1553 config SND_SOC_RT5668
1554         tristate
1555         depends on I2C
1556
1557 config SND_SOC_RT5670
1558         tristate
1559         depends on I2C
1560
1561 config SND_SOC_RT5677
1562         tristate
1563         depends on I2C
1564         select REGMAP_I2C
1565         select REGMAP_IRQ
1566
1567 config SND_SOC_RT5677_SPI
1568         tristate
1569         default SND_SOC_RT5677 && SPI
1570
1571 config SND_SOC_RT5682
1572         tristate
1573
1574 config SND_SOC_RT5682_I2C
1575         tristate
1576         depends on I2C
1577         select SND_SOC_RT5682
1578
1579 config SND_SOC_RT5682_SDW
1580         tristate "Realtek RT5682 Codec - SDW"
1581         depends on SOUNDWIRE
1582         select SND_SOC_RT5682
1583         select REGMAP_SOUNDWIRE
1584
1585 config SND_SOC_RT5682S
1586         tristate
1587         depends on I2C
1588
1589 config SND_SOC_RT700
1590         tristate
1591
1592 config SND_SOC_RT700_SDW
1593         tristate "Realtek RT700 Codec - SDW"
1594         depends on SOUNDWIRE
1595         select SND_SOC_RT700
1596         select REGMAP_SOUNDWIRE
1597
1598 config SND_SOC_RT711
1599         tristate
1600
1601 config SND_SOC_RT711_SDW
1602         tristate "Realtek RT711 Codec - SDW"
1603         depends on SOUNDWIRE
1604         select SND_SOC_RT711
1605         select REGMAP_SOUNDWIRE
1606
1607 config SND_SOC_RT711_SDCA_SDW
1608         tristate "Realtek RT711 SDCA Codec - SDW"
1609         depends on SOUNDWIRE
1610         select REGMAP_SOUNDWIRE
1611         select REGMAP_SOUNDWIRE_MBQ
1612
1613 config SND_SOC_RT712_SDCA_SDW
1614         tristate "Realtek RT712 SDCA Codec - SDW"
1615         depends on SOUNDWIRE
1616         select REGMAP_SOUNDWIRE
1617         select REGMAP_SOUNDWIRE_MBQ
1618
1619 config SND_SOC_RT712_SDCA_DMIC_SDW
1620         tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1621         depends on SOUNDWIRE
1622         select REGMAP_SOUNDWIRE
1623         select REGMAP_SOUNDWIRE_MBQ
1624
1625 config SND_SOC_RT722_SDCA_SDW
1626         tristate "Realtek RT722 SDCA Codec - SDW"
1627         depends on SOUNDWIRE
1628         select REGMAP_SOUNDWIRE
1629         select REGMAP_SOUNDWIRE_MBQ
1630
1631 config SND_SOC_RT715
1632         tristate
1633
1634 config SND_SOC_RT715_SDW
1635         tristate "Realtek RT715 Codec - SDW"
1636         depends on SOUNDWIRE
1637         select SND_SOC_RT715
1638         select REGMAP_SOUNDWIRE
1639
1640 config SND_SOC_RT715_SDCA_SDW
1641         tristate "Realtek RT715 SDCA Codec - SDW"
1642         depends on SOUNDWIRE
1643         select REGMAP_SOUNDWIRE
1644         select REGMAP_SOUNDWIRE_MBQ
1645
1646 config SND_SOC_RT9120
1647         tristate "Richtek RT9120 Stereo Class-D Amplifier"
1648         depends on I2C
1649         select REGMAP_I2C
1650         help
1651           Enable support for Richtek RT9120 20W, stereo, inductor-less,
1652           high-efficiency Class-D audio amplifier.
1653
1654 config SND_SOC_SDW_MOCKUP
1655         tristate "SoundWire mockup codec"
1656         depends on EXPERT
1657         depends on SOUNDWIRE
1658         help
1659           This option enables a SoundWire mockup codec that does not drive the
1660           bus, take part in the command/command protocol or generate data on a
1661           Source port.
1662           This option is only intended to be used for tests on a device
1663           with a connector, in combination with a bus analyzer, or to test new
1664           topologies that differ from the actual hardware layout.
1665           This mockup device could be totally virtual but could also be a
1666           real physical one with one key restriction: it is not allowed by the
1667           SoundWire specification to be configured via a sideband mechanism and
1668           generate audio data for capture. However, nothing prevents such a
1669           peripheral device from snooping the bus.
1670
1671 #Freescale sgtl5000 codec
1672 config SND_SOC_SGTL5000
1673         tristate "Freescale SGTL5000 CODEC"
1674         depends on I2C
1675
1676 config SND_SOC_SI476X
1677         tristate
1678
1679 config SND_SOC_SIGMADSP
1680         tristate
1681         select CRC32
1682
1683 config SND_SOC_SIGMADSP_I2C
1684         tristate
1685         select SND_SOC_SIGMADSP
1686
1687 config SND_SOC_SIGMADSP_REGMAP
1688         tristate
1689         select SND_SOC_SIGMADSP
1690
1691 config SND_SOC_SIMPLE_AMPLIFIER
1692         tristate "Simple Audio Amplifier"
1693
1694 config SND_SOC_SIMPLE_MUX
1695         tristate "Simple Audio Mux"
1696         depends on GPIOLIB
1697
1698 config SND_SOC_SMA1303
1699         tristate "Iron Device SMA1303 Audio Amplifier"
1700         depends on I2C
1701         help
1702           Enable support for Iron Device SMA1303 Boosted Class-D amplifier
1703
1704 config SND_SOC_SPDIF
1705         tristate "S/PDIF CODEC"
1706
1707 config SND_SOC_SRC4XXX_I2C
1708         tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
1709         depends on I2C
1710         select SND_SOC_SRC4XXX
1711         help
1712           Enable support for the TI SRC4XXX family of codecs. These include the
1713           scr4392 which has digital receivers, transmitters, and
1714           a sample rate converter, including numerous ports.
1715
1716 config SND_SOC_SRC4XXX
1717         tristate
1718
1719 config SND_SOC_SSM2305
1720         tristate "Analog Devices SSM2305 Class-D Amplifier"
1721         help
1722           Enable support for Analog Devices SSM2305 filterless
1723           high-efficiency mono Class-D audio power amplifiers.
1724
1725 config SND_SOC_SSM2518
1726         tristate "Analog Devices SSM2518 Class-D Amplifier"
1727         depends on I2C
1728
1729 config SND_SOC_SSM2602
1730         tristate
1731
1732 config SND_SOC_SSM2602_SPI
1733         tristate "Analog Devices SSM2602 CODEC - SPI"
1734         depends on SPI_MASTER
1735         select SND_SOC_SSM2602
1736         select REGMAP_SPI
1737
1738 config SND_SOC_SSM2602_I2C
1739         tristate "Analog Devices SSM2602 CODEC - I2C"
1740         depends on I2C
1741         select SND_SOC_SSM2602
1742         select REGMAP_I2C
1743
1744 config SND_SOC_SSM3515
1745         tristate "Analog Devices SSM3515 amplifier driver"
1746         select REGMAP_I2C
1747         depends on I2C
1748         depends on OF
1749
1750 config SND_SOC_SSM4567
1751         tristate "Analog Devices ssm4567 amplifier driver support"
1752         depends on I2C
1753
1754 config SND_SOC_STA32X
1755         tristate "STA326, STA328 and STA329 speaker amplifier"
1756         depends on I2C
1757         select REGMAP_I2C
1758
1759 config SND_SOC_STA350
1760         tristate "STA350 speaker amplifier"
1761         depends on I2C
1762
1763 config SND_SOC_STA529
1764         tristate
1765         depends on I2C
1766
1767 config SND_SOC_STAC9766
1768         tristate
1769         depends on SND_SOC_AC97_BUS
1770         select REGMAP_AC97
1771
1772 config SND_SOC_STI_SAS
1773         tristate "codec Audio support for STI SAS codec"
1774
1775 config SND_SOC_TAS2552
1776         tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1777         depends on I2C
1778
1779 config SND_SOC_TAS2562
1780         tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1781         depends on I2C
1782
1783 config SND_SOC_TAS2764
1784         tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1785         depends on I2C
1786
1787 config SND_SOC_TAS2770
1788         tristate "Texas Instruments TAS2770 speaker amplifier"
1789         depends on I2C
1790
1791 config SND_SOC_TAS2780
1792         tristate "Texas Instruments TAS2780 Mono Audio amplifier"
1793         depends on I2C
1794         help
1795           Enable support for Texas Instruments TAS2780 high-efficiency
1796           digital input mono Class-D audio power amplifiers.
1797
1798 config SND_SOC_TAS2781_COMLIB
1799         depends on I2C
1800         select CRC8
1801         select REGMAP_I2C
1802         tristate
1803
1804 config SND_SOC_TAS2781_FMWLIB
1805         depends on SND_SOC_TAS2781_COMLIB
1806         tristate
1807         default n
1808
1809 config SND_SOC_TAS2781_I2C
1810         tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
1811         depends on I2C
1812         select SND_SOC_TAS2781_COMLIB
1813         select SND_SOC_TAS2781_FMWLIB
1814         help
1815           Enable support for Texas Instruments TAS2781 Smart Amplifier
1816           Digital input mono Class-D and DSP-inside audio power amplifiers.
1817           Note the TAS2781 driver implements a flexible and configurable
1818           algo coefficient setting, for one, two or even multiple TAS2781
1819           chips.
1820
1821 config SND_SOC_TAS5086
1822         tristate "Texas Instruments TAS5086 speaker amplifier"
1823         depends on I2C
1824
1825 config SND_SOC_TAS571X
1826         tristate "Texas Instruments TAS571x power amplifiers"
1827         depends on I2C
1828         help
1829           Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1830           TAS5719 and TAS5721 power amplifiers
1831
1832 config SND_SOC_TAS5720
1833         tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1834         depends on I2C
1835         help
1836           Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1837           Class-D audio power amplifiers.
1838
1839 config SND_SOC_TAS5805M
1840         tristate "Texas Instruments TAS5805M speaker amplifier"
1841         depends on I2C
1842         help
1843           Enable support for Texas Instruments TAS5805M Class-D
1844           amplifiers. This is a speaker amplifier with an integrated
1845           DSP. DSP configuration for each instance needs to be supplied
1846           via a device-tree attribute.
1847
1848 config SND_SOC_TAS6424
1849         tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1850         depends on I2C
1851         help
1852           Enable support for Texas Instruments TAS6424 high-efficiency
1853           digital input quad-channel Class-D audio power amplifiers.
1854
1855 config SND_SOC_TDA7419
1856         tristate "ST TDA7419 audio processor"
1857         depends on I2C
1858         select REGMAP_I2C
1859
1860 config SND_SOC_TFA9879
1861         tristate "NXP Semiconductors TFA9879 amplifier"
1862         depends on I2C
1863
1864 config SND_SOC_TAS5713
1865         tristate
1866
1867 config SND_SOC_TFA989X
1868         tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1869         depends on I2C
1870         select REGMAP_I2C
1871         help
1872           Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1873           amplifiers, e.g. TFA9895.
1874           Note that the driver currently bypasses the built-in "CoolFlux DSP"
1875           and does not support (hardware) volume control.
1876
1877 config SND_SOC_TLV320ADC3XXX
1878         tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
1879         depends on I2C
1880         depends on GPIOLIB
1881         help
1882          Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
1883          ADCs.
1884
1885 config SND_SOC_TLV320AIC23
1886         tristate
1887
1888 config SND_SOC_TLV320AIC23_I2C
1889         tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1890         depends on I2C
1891         select SND_SOC_TLV320AIC23
1892
1893 config SND_SOC_TLV320AIC23_SPI
1894         tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1895         depends on SPI_MASTER
1896         select SND_SOC_TLV320AIC23
1897
1898 config SND_SOC_TLV320AIC26
1899         tristate
1900         depends on SPI
1901
1902 config SND_SOC_TLV320AIC31XX
1903         tristate "Texas Instruments TLV320AIC31xx CODECs"
1904         depends on I2C
1905         select REGMAP_I2C
1906
1907 config SND_SOC_TLV320AIC32X4
1908         tristate
1909         depends on COMMON_CLK
1910
1911 config SND_SOC_TLV320AIC32X4_I2C
1912         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1913         depends on I2C
1914         depends on COMMON_CLK
1915         select SND_SOC_TLV320AIC32X4
1916
1917 config SND_SOC_TLV320AIC32X4_SPI
1918         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1919         depends on SPI_MASTER
1920         depends on COMMON_CLK
1921         select SND_SOC_TLV320AIC32X4
1922
1923 config SND_SOC_TLV320AIC3X
1924         tristate
1925
1926 config SND_SOC_TLV320AIC3X_I2C
1927         tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1928         depends on I2C
1929         select SND_SOC_TLV320AIC3X
1930         select REGMAP_I2C
1931
1932 config SND_SOC_TLV320AIC3X_SPI
1933         tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1934         depends on SPI_MASTER
1935         select SND_SOC_TLV320AIC3X
1936         select REGMAP_SPI
1937
1938 config SND_SOC_TLV320DAC33
1939         tristate
1940         depends on I2C
1941
1942 config SND_SOC_TLV320ADCX140
1943         tristate "Texas Instruments TLV320ADCX140 CODEC family"
1944         depends on I2C
1945         select REGMAP_I2C
1946         help
1947           Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1948           tlv320adc6140 quad channel ADCs.
1949
1950 config SND_SOC_TS3A227E
1951         tristate "TI Headset/Mic detect and keypress chip"
1952         depends on I2C
1953
1954 config SND_SOC_TSCS42XX
1955         tristate "Tempo Semiconductor TSCS42xx CODEC"
1956         depends on I2C
1957         select REGMAP_I2C
1958         help
1959           Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1960
1961 config SND_SOC_TSCS454
1962         tristate "Tempo Semiconductor TSCS454 CODEC"
1963         depends on I2C
1964         select REGMAP_I2C
1965         help
1966           Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1967
1968 config SND_SOC_TWL4030
1969         tristate
1970         depends on TWL4030_CORE
1971         select MFD_TWL4030_AUDIO
1972
1973 config SND_SOC_TWL6040
1974         tristate
1975         depends on TWL6040_CORE
1976
1977 config SND_SOC_UDA1334
1978         tristate "NXP UDA1334 DAC"
1979         depends on GPIOLIB
1980         help
1981           The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1982           and has basic features such as de-emphasis (at 44.1 kHz sampling
1983           rate) and mute.
1984
1985 config SND_SOC_UDA1380
1986         tristate
1987         depends on I2C
1988
1989 config SND_SOC_WCD_CLASSH
1990         tristate
1991
1992 config SND_SOC_WCD9335
1993         tristate "WCD9335 Codec"
1994         depends on SLIMBUS
1995         select REGMAP_SLIMBUS
1996         select REGMAP_IRQ
1997         select SND_SOC_WCD_CLASSH
1998         help
1999           The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2000           Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2001           including the MSM8996, MSM8976, and MSM8956 chipsets.
2002
2003 config SND_SOC_WCD_MBHC
2004         tristate
2005
2006 config SND_SOC_WCD934X
2007         tristate "WCD9340/WCD9341 Codec"
2008         depends on COMMON_CLK
2009         depends on SLIMBUS
2010         select REGMAP_IRQ
2011         select REGMAP_SLIMBUS
2012         select SND_SOC_WCD_CLASSH
2013         select SND_SOC_WCD_MBHC
2014         depends on MFD_WCD934X || COMPILE_TEST
2015         help
2016           The WCD9340/9341 is a audio codec IC Integrated in
2017           Qualcomm SoCs like SDM845.
2018
2019 config SND_SOC_WCD938X
2020         depends on SND_SOC_WCD938X_SDW
2021         tristate
2022         depends on SOUNDWIRE || !SOUNDWIRE
2023         select SND_SOC_WCD_CLASSH
2024
2025 config SND_SOC_WCD938X_SDW
2026         tristate "WCD9380/WCD9385 Codec - SDW"
2027         select SND_SOC_WCD938X
2028         select SND_SOC_WCD_MBHC
2029         select REGMAP_IRQ
2030         depends on SOUNDWIRE
2031         select REGMAP_SOUNDWIRE
2032         help
2033           The WCD9380/9385 is a audio codec IC Integrated in
2034           Qualcomm SoCs like SM8250.
2035
2036 config SND_SOC_WL1273
2037         tristate
2038
2039 config SND_SOC_WM0010
2040         tristate
2041         depends on SPI_MASTER
2042
2043 config SND_SOC_WM1250_EV1
2044         tristate
2045         depends on I2C
2046
2047 config SND_SOC_WM2000
2048         tristate
2049         depends on I2C
2050
2051 config SND_SOC_WM2200
2052         tristate
2053         depends on I2C
2054
2055 config SND_SOC_WM5100
2056         tristate
2057         depends on I2C
2058
2059 config SND_SOC_WM5102
2060         tristate
2061         depends on MFD_WM5102 && MFD_ARIZONA
2062
2063 config SND_SOC_WM5110
2064         tristate
2065         depends on MFD_WM5110 && MFD_ARIZONA
2066
2067 config SND_SOC_WM8350
2068         tristate
2069         depends on MFD_WM8350
2070
2071 config SND_SOC_WM8400
2072         tristate
2073         # FIXME nothing selects SND_SOC_WM8400??
2074         depends on MFD_WM8400
2075
2076 config SND_SOC_WM8510
2077         tristate "Wolfson Microelectronics WM8510 CODEC"
2078         depends on SND_SOC_I2C_AND_SPI
2079
2080 config SND_SOC_WM8523
2081         tristate "Wolfson Microelectronics WM8523 DAC"
2082         depends on I2C
2083
2084 config SND_SOC_WM8524
2085         tristate "Wolfson Microelectronics WM8524 DAC"
2086         depends on GPIOLIB
2087
2088 config SND_SOC_WM8580
2089         tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2090         depends on I2C
2091
2092 config SND_SOC_WM8711
2093         tristate "Wolfson Microelectronics WM8711 CODEC"
2094         depends on SND_SOC_I2C_AND_SPI
2095
2096 config SND_SOC_WM8727
2097         tristate
2098
2099 config SND_SOC_WM8728
2100         tristate "Wolfson Microelectronics WM8728 DAC"
2101         depends on SND_SOC_I2C_AND_SPI
2102
2103 config SND_SOC_WM8731
2104         tristate
2105
2106 config SND_SOC_WM8731_I2C
2107         tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2108         depends on I2C
2109         select REGMAP
2110         select SND_SOC_WM8731
2111
2112 config SND_SOC_WM8731_SPI
2113         tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2114         depends on SPI
2115         select REGMAP
2116         select SND_SOC_WM8731
2117
2118 config SND_SOC_WM8737
2119         tristate "Wolfson Microelectronics WM8737 ADC"
2120         depends on SND_SOC_I2C_AND_SPI
2121
2122 config SND_SOC_WM8741
2123         tristate "Wolfson Microelectronics WM8741 DAC"
2124         depends on SND_SOC_I2C_AND_SPI
2125
2126 config SND_SOC_WM8750
2127         tristate "Wolfson Microelectronics WM8750 CODEC"
2128         depends on SND_SOC_I2C_AND_SPI
2129
2130 config SND_SOC_WM8753
2131         tristate "Wolfson Microelectronics WM8753 CODEC"
2132         depends on SND_SOC_I2C_AND_SPI
2133
2134 config SND_SOC_WM8770
2135         tristate "Wolfson Microelectronics WM8770 CODEC"
2136         depends on SPI_MASTER
2137
2138 config SND_SOC_WM8776
2139         tristate "Wolfson Microelectronics WM8776 CODEC"
2140         depends on SND_SOC_I2C_AND_SPI
2141
2142 config SND_SOC_WM8782
2143         tristate "Wolfson Microelectronics WM8782 ADC"
2144
2145 config SND_SOC_WM8804
2146         tristate
2147
2148 config SND_SOC_WM8804_I2C
2149         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2150         depends on I2C
2151         select SND_SOC_WM8804
2152         select REGMAP_I2C
2153
2154 config SND_SOC_WM8804_SPI
2155         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2156         depends on SPI_MASTER
2157         select SND_SOC_WM8804
2158         select REGMAP_SPI
2159
2160 config SND_SOC_WM8900
2161         tristate
2162         depends on SND_SOC_I2C_AND_SPI
2163
2164 config SND_SOC_WM8903
2165         tristate "Wolfson Microelectronics WM8903 CODEC"
2166         depends on I2C
2167
2168 config SND_SOC_WM8904
2169         tristate "Wolfson Microelectronics WM8904 CODEC"
2170         depends on I2C
2171
2172 config SND_SOC_WM8940
2173         tristate "Wolfson Microelectronics WM8940 codec"
2174         depends on I2C
2175
2176 config SND_SOC_WM8955
2177         tristate
2178         depends on I2C
2179
2180 config SND_SOC_WM8960
2181         tristate "Wolfson Microelectronics WM8960 CODEC"
2182         depends on I2C
2183
2184 config SND_SOC_WM8961
2185         tristate "Wolfson Microelectronics WM8961 CODEC"
2186         depends on I2C
2187
2188 config SND_SOC_WM8962
2189         tristate "Wolfson Microelectronics WM8962 CODEC"
2190         depends on I2C && INPUT
2191
2192 config SND_SOC_WM8971
2193         tristate
2194         depends on I2C
2195
2196 config SND_SOC_WM8974
2197         tristate "Wolfson Microelectronics WM8974 codec"
2198         depends on I2C
2199
2200 config SND_SOC_WM8978
2201         tristate "Wolfson Microelectronics WM8978 codec"
2202         depends on I2C
2203
2204 config SND_SOC_WM8983
2205         tristate
2206         depends on SND_SOC_I2C_AND_SPI
2207
2208 config SND_SOC_WM8985
2209         tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2210         depends on SND_SOC_I2C_AND_SPI
2211
2212 config SND_SOC_WM8988
2213         tristate
2214         depends on SND_SOC_I2C_AND_SPI
2215
2216 config SND_SOC_WM8990
2217         tristate
2218         depends on I2C
2219
2220 config SND_SOC_WM8991
2221         tristate
2222         depends on I2C
2223
2224 config SND_SOC_WM8993
2225         tristate
2226         depends on I2C
2227
2228 config SND_SOC_WM8994
2229         tristate
2230
2231 config SND_SOC_WM8995
2232         tristate
2233         depends on SND_SOC_I2C_AND_SPI
2234
2235 config SND_SOC_WM8996
2236         tristate
2237         depends on I2C
2238
2239 config SND_SOC_WM8997
2240         tristate
2241         depends on MFD_WM8997 && MFD_ARIZONA
2242
2243 config SND_SOC_WM8998
2244         tristate
2245         depends on MFD_WM8998 && MFD_ARIZONA
2246
2247 config SND_SOC_WM9081
2248         tristate
2249         depends on I2C
2250
2251 config SND_SOC_WM9090
2252         tristate
2253         depends on I2C
2254
2255 config SND_SOC_WM9705
2256         tristate
2257         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2258         select REGMAP_AC97
2259         select AC97_BUS_COMPAT if AC97_BUS_NEW
2260
2261 config SND_SOC_WM9712
2262         tristate
2263         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2264         select REGMAP_AC97
2265         select AC97_BUS_COMPAT if AC97_BUS_NEW
2266
2267 config SND_SOC_WM9713
2268         tristate
2269         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2270         select REGMAP_AC97
2271         select AC97_BUS_COMPAT if AC97_BUS_NEW
2272
2273 config SND_SOC_WSA881X
2274         tristate "WSA881X Codec"
2275         depends on SOUNDWIRE
2276         select REGMAP_SOUNDWIRE
2277         tristate
2278         help
2279           This enables support for Qualcomm WSA8810/WSA8815 Class-D
2280           Smart Speaker Amplifier.
2281
2282 config SND_SOC_WSA883X
2283         tristate "WSA883X Codec"
2284         depends on SOUNDWIRE
2285         select REGMAP_SOUNDWIRE
2286         tristate
2287         help
2288           This enables support for Qualcomm WSA8830/WSA8835 Class-D
2289           Smart Speaker Amplifier.
2290
2291 config SND_SOC_WSA884X
2292         tristate "WSA884X Codec"
2293         depends on SOUNDWIRE
2294         select REGMAP_SOUNDWIRE
2295         tristate
2296         help
2297           This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2298           Smart Speaker Amplifier.
2299
2300 config SND_SOC_ZL38060
2301         tristate "Microsemi ZL38060 Connected Home Audio Processor"
2302         depends on SPI_MASTER
2303         depends on GPIOLIB
2304         select REGMAP
2305         help
2306           Support for ZL38060 Connected Home Audio Processor from Microsemi,
2307           which consists of a Digital Signal Processor (DSP), several Digital
2308           Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2309
2310 # Amp
2311 config SND_SOC_LM4857
2312         tristate
2313         depends on I2C
2314
2315 config SND_SOC_MAX9759
2316         tristate "Maxim MAX9759 speaker Amplifier"
2317         depends on GPIOLIB
2318
2319 config SND_SOC_MAX9768
2320         tristate
2321         depends on I2C
2322
2323 config SND_SOC_MAX9877
2324         tristate
2325         depends on I2C
2326
2327 config SND_SOC_MC13783
2328         tristate
2329         depends on MFD_MC13XXX
2330
2331 config SND_SOC_ML26124
2332         tristate
2333         depends on I2C
2334
2335 config SND_SOC_MT6351
2336         tristate "MediaTek MT6351 Codec"
2337
2338 config SND_SOC_MT6358
2339         tristate "MediaTek MT6358 Codec"
2340         help
2341           Enable support for the platform which uses MT6358 as
2342           external codec device.
2343
2344 config SND_SOC_MT6359
2345         tristate "MediaTek MT6359 Codec"
2346         depends on MTK_PMIC_WRAP
2347         help
2348           Enable support for the platform which uses MT6359 as
2349           external codec device.
2350
2351 config SND_SOC_MT6359_ACCDET
2352         tristate "MediaTek MT6359 ACCDET driver"
2353         depends on MTK_PMIC_WRAP
2354         help
2355           ACCDET means Accessory Detection technology, MediaTek develop it
2356           for ASoC codec soc-jack detection mechanism.
2357           Select N if you don't have jack on board.
2358
2359 config SND_SOC_MT6660
2360         tristate "Mediatek MT6660 Speaker Amplifier"
2361         depends on I2C
2362         help
2363           MediaTek MT6660 is a smart power amplifier which contain
2364           speaker protection, multi-band DRC, equalizer functions.
2365           Select N if you don't have MT6660 on board.
2366           Select M to build this as module.
2367
2368 config SND_SOC_NAU8315
2369         tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2370
2371 config SND_SOC_NAU8540
2372         tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2373         depends on I2C
2374
2375 config SND_SOC_NAU8810
2376         tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2377         depends on I2C
2378
2379 config SND_SOC_NAU8821
2380         tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2381         depends on I2C
2382
2383 config SND_SOC_NAU8822
2384         tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2385         depends on I2C
2386
2387 config SND_SOC_NAU8824
2388         tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2389         depends on I2C
2390
2391 config SND_SOC_NAU8825
2392         tristate
2393         depends on I2C
2394
2395 config SND_SOC_TPA6130A2
2396         tristate "Texas Instruments TPA6130A2 headphone amplifier"
2397         depends on I2C
2398
2399 config SND_SOC_LPASS_MACRO_COMMON
2400         tristate
2401
2402 config SND_SOC_LPASS_WSA_MACRO
2403         depends on COMMON_CLK
2404         select REGMAP_MMIO
2405         tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2406
2407 config SND_SOC_LPASS_VA_MACRO
2408         depends on COMMON_CLK
2409         select REGMAP_MMIO
2410         select SND_SOC_LPASS_MACRO_COMMON
2411         tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2412
2413 config SND_SOC_LPASS_RX_MACRO
2414         depends on COMMON_CLK
2415         select REGMAP_MMIO
2416         select SND_SOC_LPASS_MACRO_COMMON
2417         tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2418
2419 config SND_SOC_LPASS_TX_MACRO
2420         depends on COMMON_CLK
2421         select REGMAP_MMIO
2422         select SND_SOC_LPASS_MACRO_COMMON
2423         tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2424
2425 config SND_SOC_I_SABRE_CODEC
2426         tristate "Audiophonics I-SABRE Codec"
2427         depends on I2C
2428
2429 endmenu