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