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