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