ASoC: ac108: Adds ac108 codec and machine code
[platform/kernel/linux-rpi.git] / sound / soc / codecs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 # Helper to resolve issues with configs that have SPI enabled but I2C
3 # modular, meaning we can't build the codec driver in with I2C support.
4 # We use an ordered list of conditional defaults to pick the appropriate
5 # setting - SPI can't be modular so that case doesn't need to be covered.
6 config SND_SOC_I2C_AND_SPI
7         tristate
8         default m if I2C=m
9         default y if I2C=y
10         default y if SPI_MASTER=y
11
12 menu "CODEC drivers"
13
14 config SND_SOC_ALL_CODECS
15         tristate "Build all ASoC CODEC drivers"
16         depends on COMPILE_TEST
17         imply SND_SOC_88PM860X
18         imply SND_SOC_L3
19         imply SND_SOC_AB8500_CODEC
20         imply SND_SOC_AC97_CODEC
21         imply SND_SOC_AD1836
22         imply SND_SOC_AD193X_SPI
23         imply SND_SOC_AD193X_I2C
24         imply SND_SOC_AD1980
25         imply SND_SOC_AD73311
26         imply SND_SOC_ADAU1372_I2C
27         imply SND_SOC_ADAU1372_SPI
28         imply SND_SOC_ADAU1373
29         imply SND_SOC_ADAU1761_I2C
30         imply SND_SOC_ADAU1761_SPI
31         imply SND_SOC_ADAU1781_I2C
32         imply SND_SOC_ADAU1781_SPI
33         imply SND_SOC_ADAV801
34         imply SND_SOC_ADAV803
35         imply SND_SOC_ADAU1977_SPI
36         imply SND_SOC_ADAU1977_I2C
37         imply SND_SOC_ADAU1701
38         imply SND_SOC_ADAU7002
39         imply SND_SOC_ADAU7118_I2C
40         imply SND_SOC_ADAU7118_HW
41         imply SND_SOC_ADS117X
42         imply SND_SOC_AK4104
43         imply SND_SOC_AK4118
44         imply SND_SOC_AK4458
45         imply SND_SOC_AK4535
46         imply SND_SOC_AK4554
47         imply SND_SOC_AK4613
48         imply SND_SOC_AK4641
49         imply SND_SOC_AK4642
50         imply SND_SOC_AK4671
51         imply SND_SOC_AK5386
52         imply SND_SOC_AK5558
53         imply SND_SOC_ALC5623
54         imply SND_SOC_ALC5632
55         imply SND_SOC_BT_SCO
56         imply SND_SOC_BD28623
57         imply SND_SOC_CQ0093VC
58         imply SND_SOC_CROS_EC_CODEC
59         imply SND_SOC_CS35L32
60         imply SND_SOC_CS35L33
61         imply SND_SOC_CS35L34
62         imply SND_SOC_CS35L35
63         imply SND_SOC_CS35L36
64         imply SND_SOC_CS42L42
65         imply SND_SOC_CS42L51_I2C
66         imply SND_SOC_CS42L52
67         imply SND_SOC_CS42L56
68         imply SND_SOC_CS42L73
69         imply SND_SOC_CS4234
70         imply SND_SOC_CS4265
71         imply SND_SOC_CS4270
72         imply SND_SOC_CS4271_I2C
73         imply SND_SOC_CS4271_SPI
74         imply SND_SOC_CS42XX8_I2C
75         imply SND_SOC_CS43130
76         imply SND_SOC_CS4341
77         imply SND_SOC_CS4349
78         imply SND_SOC_CS47L15
79         imply SND_SOC_CS47L24
80         imply SND_SOC_CS47L35
81         imply SND_SOC_CS47L85
82         imply SND_SOC_CS47L90
83         imply SND_SOC_CS47L92
84         imply SND_SOC_CS53L30
85         imply SND_SOC_CX20442
86         imply SND_SOC_CX2072X
87         imply SND_SOC_DA7210
88         imply SND_SOC_DA7213
89         imply SND_SOC_DA7218
90         imply SND_SOC_DA7219
91         imply SND_SOC_DA732X
92         imply SND_SOC_DA9055
93         imply SND_SOC_DMIC
94         imply SND_SOC_ES8316
95         imply SND_SOC_ES8328_SPI
96         imply SND_SOC_ES8328_I2C
97         imply SND_SOC_ES7134
98         imply SND_SOC_ES7241
99         imply SND_SOC_GTM601
100         imply SND_SOC_HDAC_HDMI
101         imply SND_SOC_HDAC_HDA
102         imply SND_SOC_ICS43432
103         imply SND_SOC_INNO_RK3036
104         imply SND_SOC_ISABELLE
105         imply SND_SOC_I_SABRE_CODEC
106         imply SND_SOC_JZ4740_CODEC
107         imply SND_SOC_JZ4725B_CODEC
108         imply SND_SOC_JZ4760_CODEC
109         imply SND_SOC_JZ4770_CODEC
110         imply SND_SOC_LM4857
111         imply SND_SOC_LM49453
112         imply SND_SOC_LOCHNAGAR_SC
113         imply SND_SOC_MA120X0P
114         imply SND_SOC_MAX98088
115         imply SND_SOC_MAX98090
116         imply SND_SOC_MAX98095
117         imply SND_SOC_MAX98357A
118         imply SND_SOC_MAX98371
119         imply SND_SOC_MAX98504
120         imply SND_SOC_MAX9867
121         imply SND_SOC_MAX98925
122         imply SND_SOC_MAX98926
123         imply SND_SOC_MAX98927
124         imply SND_SOC_MAX98373_I2C
125         imply SND_SOC_MAX98373_SDW
126         imply SND_SOC_MAX98390
127         imply SND_SOC_MAX9850
128         imply SND_SOC_MAX9860
129         imply SND_SOC_MAX9759
130         imply SND_SOC_MAX9768
131         imply SND_SOC_MAX9877
132         imply SND_SOC_MC13783
133         imply SND_SOC_ML26124
134         imply SND_SOC_MT6351
135         imply SND_SOC_MT6358
136         imply SND_SOC_MT6359
137         imply SND_SOC_MT6660
138         imply SND_SOC_NAU8315
139         imply SND_SOC_NAU8540
140         imply SND_SOC_NAU8810
141         imply SND_SOC_NAU8822
142         imply SND_SOC_NAU8824
143         imply SND_SOC_NAU8825
144         imply SND_SOC_HDMI_CODEC
145         imply SND_SOC_PCM1681
146         imply SND_SOC_PCM1789_I2C
147         imply SND_SOC_PCM179X_I2C
148         imply SND_SOC_PCM179X_SPI
149         imply SND_SOC_PCM186X_I2C
150         imply SND_SOC_PCM186X_SPI
151         imply SND_SOC_PCM1794A
152         imply SND_SOC_PCM3008
153         imply SND_SOC_PCM3060_I2C
154         imply SND_SOC_PCM3060_SPI
155         imply SND_SOC_PCM3168A_I2C
156         imply SND_SOC_PCM3168A_SPI
157         imply SND_SOC_PCM5102A
158         imply SND_SOC_PCM512x_I2C
159         imply SND_SOC_PCM512x_SPI
160         imply SND_SOC_RK3328
161         imply SND_SOC_RK817
162         imply SND_SOC_RT274
163         imply SND_SOC_RT286
164         imply SND_SOC_RT298
165         imply SND_SOC_RT1011
166         imply SND_SOC_RT1015
167         imply SND_SOC_RT1015P
168         imply SND_SOC_RT1019
169         imply SND_SOC_RT1305
170         imply SND_SOC_RT1308
171         imply SND_SOC_RT5514
172         imply SND_SOC_RT5616
173         imply SND_SOC_RT5631
174         imply SND_SOC_RT5640
175         imply SND_SOC_RT5645
176         imply SND_SOC_RT5651
177         imply SND_SOC_RT5659
178         imply SND_SOC_RT5660
179         imply SND_SOC_RT5663
180         imply SND_SOC_RT5665
181         imply SND_SOC_RT5668
182         imply SND_SOC_RT5670
183         imply SND_SOC_RT5677
184         imply SND_SOC_RT5682_I2C
185         imply SND_SOC_RT5682_SDW
186         imply SND_SOC_RT700_SDW
187         imply SND_SOC_RT711_SDW
188         imply SND_SOC_RT711_SDCA_SDW
189         imply SND_SOC_RT715_SDW
190         imply SND_SOC_RT715_SDCA_SDW
191         imply SND_SOC_RT1308_SDW
192         imply SND_SOC_RT1316_SDW
193         imply SND_SOC_SDW_MOCKUP
194         imply SND_SOC_SGTL5000
195         imply SND_SOC_SI476X
196         imply SND_SOC_SIMPLE_AMPLIFIER
197         imply SND_SOC_SIMPLE_MUX
198         imply SND_SOC_SPDIF
199         imply SND_SOC_SSM2305
200         imply SND_SOC_SSM2518
201         imply SND_SOC_SSM2602_SPI
202         imply SND_SOC_SSM2602_I2C
203         imply SND_SOC_SSM4567
204         imply SND_SOC_STA32X
205         imply SND_SOC_STA350
206         imply SND_SOC_STA529
207         imply SND_SOC_STAC9766
208         imply SND_SOC_STI_SAS
209         imply SND_SOC_TAS2552
210         imply SND_SOC_TAS2562
211         imply SND_SOC_TAS2764
212         imply SND_SOC_TAS2770
213         imply SND_SOC_TAS5086
214         imply SND_SOC_TAS571X
215         imply SND_SOC_TAS5720
216         imply SND_SOC_TAS6424
217         imply SND_SOC_TDA7419
218         imply SND_SOC_TFA9879
219         imply SND_SOC_TFA989X
220         imply SND_SOC_TLV320ADCX140
221         imply SND_SOC_TLV320AIC23_I2C
222         imply SND_SOC_TLV320AIC23_SPI
223         imply SND_SOC_TAS5713
224         imply SND_SOC_TLV320AIC26
225         imply SND_SOC_TLV320AIC31XX
226         imply SND_SOC_TLV320AIC32X4_I2C
227         imply SND_SOC_TLV320AIC32X4_SPI
228         imply SND_SOC_TLV320AIC3X_I2C
229         imply SND_SOC_TLV320AIC3X_SPI
230         imply SND_SOC_TPA6130A2
231         imply SND_SOC_TLV320DAC33
232         imply SND_SOC_TSCS42XX
233         imply SND_SOC_TSCS454
234         imply SND_SOC_TS3A227E
235         imply SND_SOC_TWL4030
236         imply SND_SOC_TWL6040
237         imply SND_SOC_UDA1334
238         imply SND_SOC_UDA134X
239         imply SND_SOC_UDA1380
240         imply SND_SOC_WCD9335
241         imply SND_SOC_WCD934X
242         imply SND_SOC_WCD938X_SDW
243         imply SND_SOC_LPASS_RX_MACRO
244         imply SND_SOC_LPASS_TX_MACRO
245         imply SND_SOC_WL1273
246         imply SND_SOC_WM0010
247         imply SND_SOC_WM1250_EV1
248         imply SND_SOC_WM2000
249         imply SND_SOC_WM2200
250         imply SND_SOC_WM5100
251         imply SND_SOC_WM5102
252         imply SND_SOC_WM5110
253         imply SND_SOC_WM8350
254         imply SND_SOC_WM8400
255         imply SND_SOC_WM8510
256         imply SND_SOC_WM8523
257         imply SND_SOC_WM8524
258         imply SND_SOC_WM8580
259         imply SND_SOC_WM8711
260         imply SND_SOC_WM8727
261         imply SND_SOC_WM8728
262         imply SND_SOC_WM8731
263         imply SND_SOC_WM8737
264         imply SND_SOC_WM8741
265         imply SND_SOC_WM8750
266         imply SND_SOC_WM8753
267         imply SND_SOC_WM8770
268         imply SND_SOC_WM8776
269         imply SND_SOC_WM8782
270         imply SND_SOC_WM8804_I2C
271         imply SND_SOC_WM8804_SPI
272         imply SND_SOC_WM8900
273         imply SND_SOC_WM8903
274         imply SND_SOC_WM8904
275         imply SND_SOC_WM8940
276         imply SND_SOC_WM8955
277         imply SND_SOC_WM8960
278         imply SND_SOC_WM8961
279         imply SND_SOC_WM8962
280         imply SND_SOC_WM8971
281         imply SND_SOC_WM8974
282         imply SND_SOC_WM8978
283         imply SND_SOC_WM8983
284         imply SND_SOC_WM8985
285         imply SND_SOC_WM8988
286         imply SND_SOC_WM8990
287         imply SND_SOC_WM8991
288         imply SND_SOC_WM8993
289         imply SND_SOC_WM8994
290         imply SND_SOC_WM8995
291         imply SND_SOC_WM8996
292         imply SND_SOC_WM8997
293         imply SND_SOC_WM8998
294         imply SND_SOC_WM9081
295         imply SND_SOC_WM9090
296         imply SND_SOC_WM9705
297         imply SND_SOC_WM9712
298         imply SND_SOC_WM9713
299         imply SND_SOC_WSA881X
300         imply SND_SOC_ZL38060
301         help
302           Normally ASoC codec drivers are only built if a machine driver which
303           uses them is also built since they are only usable with a machine
304           driver.  Selecting this option will allow these drivers to be built
305           without an explicit machine driver for test and development purposes.
306
307           Support for the bus types used to access the codecs to be built must
308           be selected separately.
309
310           If unsure select "N".
311
312 config SND_SOC_88PM860X
313         tristate
314         depends on MFD_88PM860X
315
316 config SND_SOC_ARIZONA
317         tristate
318         default y if SND_SOC_CS47L24=y
319         default y if SND_SOC_WM5102=y
320         default y if SND_SOC_WM5110=y
321         default y if SND_SOC_WM8997=y
322         default y if SND_SOC_WM8998=y
323         default m if SND_SOC_CS47L24=m
324         default m if SND_SOC_WM5102=m
325         default m if SND_SOC_WM5110=m
326         default m if SND_SOC_WM8997=m
327         default m if SND_SOC_WM8998=m
328
329 config SND_SOC_WM_HUBS
330         tristate
331         default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
332         default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
333
334 config SND_SOC_WM_ADSP
335         tristate
336         select SND_SOC_COMPRESS
337         default y if SND_SOC_MADERA=y
338         default y if SND_SOC_CS47L24=y
339         default y if SND_SOC_WM5102=y
340         default y if SND_SOC_WM5110=y
341         default y if SND_SOC_WM2200=y
342         default m if SND_SOC_MADERA=m
343         default m if SND_SOC_CS47L24=m
344         default m if SND_SOC_WM5102=m
345         default m if SND_SOC_WM5110=m
346         default m if SND_SOC_WM2200=m
347
348 config SND_SOC_AB8500_CODEC
349         tristate
350         depends on ABX500_CORE
351
352 config SND_SOC_AC101_CODEC
353         tristate "Build AC101 codec driver"
354         depends on I2C
355         select REGMAP_I2C
356
357 config SND_SOC_AC108_CODEC
358         tristate "Build AC108 codec driver"
359         depends on I2C
360         select REGMAP_I2C
361         select SND_SOC_AC101_CODEC
362
363 config SND_SOC_AC97_CODEC
364         tristate "Build generic ASoC AC97 CODEC driver"
365         select SND_AC97_CODEC
366         select SND_SOC_AC97_BUS
367
368 config SND_SOC_AD1836
369         tristate
370         depends on SPI_MASTER
371
372 config SND_SOC_AD193X
373         tristate
374
375 config SND_SOC_AD193X_SPI
376         tristate "Analog Devices AU193X CODEC - SPI"
377         depends on SPI_MASTER
378         select SND_SOC_AD193X
379
380 config SND_SOC_AD193X_I2C
381         tristate "Analog Devices AU193X CODEC - I2C"
382         depends on I2C
383         select SND_SOC_AD193X
384
385 config SND_SOC_AD1980
386         tristate
387         depends on SND_SOC_AC97_BUS
388         select REGMAP_AC97
389
390 config SND_SOC_AD73311
391         tristate
392
393 config SND_SOC_ADAU_UTILS
394         tristate
395
396 config SND_SOC_ADAU1372
397         tristate
398         select SND_SOC_ADAU_UTILS
399
400 config SND_SOC_ADAU1372_I2C
401         tristate "Analog Devices ADAU1372 CODEC (I2C)"
402         depends on I2C
403         select SND_SOC_ADAU1372
404         select REGMAP_I2C
405
406 config SND_SOC_ADAU1372_SPI
407         tristate "Analog Devices ADAU1372 CODEC (SPI)"
408         depends on SPI
409         select SND_SOC_ADAU1372
410         select REGMAP_SPI
411
412 config SND_SOC_ADAU1373
413         tristate
414         depends on I2C
415         select SND_SOC_ADAU_UTILS
416
417 config SND_SOC_ADAU1701
418         tristate "Analog Devices ADAU1701 CODEC"
419         depends on I2C
420         select SND_SOC_SIGMADSP_I2C
421
422 config SND_SOC_ADAU17X1
423         tristate
424         select SND_SOC_SIGMADSP_REGMAP
425         select SND_SOC_ADAU_UTILS
426
427 config SND_SOC_ADAU1761
428         tristate
429         select SND_SOC_ADAU17X1
430
431 config SND_SOC_ADAU1761_I2C
432         tristate "Analog Devices AU1761 CODEC - I2C"
433         depends on I2C
434         select SND_SOC_ADAU1761
435         select REGMAP_I2C
436
437 config SND_SOC_ADAU1761_SPI
438         tristate "Analog Devices AU1761 CODEC - SPI"
439         depends on SPI
440         select SND_SOC_ADAU1761
441         select REGMAP_SPI
442
443 config SND_SOC_ADAU1781
444         select SND_SOC_ADAU17X1
445         tristate
446
447 config SND_SOC_ADAU1781_I2C
448         tristate
449         depends on I2C
450         select SND_SOC_ADAU1781
451         select REGMAP_I2C
452
453 config SND_SOC_ADAU1781_SPI
454         tristate
455         depends on SPI_MASTER
456         select SND_SOC_ADAU1781
457         select REGMAP_SPI
458
459 config SND_SOC_ADAU1977
460         tristate
461
462 config SND_SOC_ADAU1977_SPI
463         tristate
464         depends on SPI_MASTER
465         select SND_SOC_ADAU1977
466         select REGMAP_SPI
467
468 config SND_SOC_ADAU1977_I2C
469         tristate
470         depends on I2C
471         select SND_SOC_ADAU1977
472         select REGMAP_I2C
473
474 config SND_SOC_ADAU7002
475         tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
476
477 config SND_SOC_ADAU7118
478         tristate
479
480 config SND_SOC_ADAU7118_HW
481         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
482         select SND_SOC_ADAU7118
483         help
484           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
485           Converter. In this mode, the device works in standalone mode which
486           means that there is no bus to communicate with it. Stereo mode is not
487           supported in this mode.
488
489           To compile this driver as a module, choose M here: the module
490           will be called snd-soc-adau7118-hw.
491
492 config SND_SOC_ADAU7118_I2C
493         tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
494         depends on I2C
495         select SND_SOC_ADAU7118
496         select REGMAP_I2C
497         help
498           Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
499           Converter over I2C. This gives full support over the device.
500
501           To compile this driver as a module, choose M here: the module
502           will be called snd-soc-adau7118-i2c.
503
504 config SND_SOC_ADAV80X
505         tristate
506
507 config SND_SOC_ADAV801
508         tristate
509         depends on SPI_MASTER
510         select SND_SOC_ADAV80X
511
512 config SND_SOC_ADAV803
513         tristate
514         depends on I2C
515         select SND_SOC_ADAV80X
516
517 config SND_SOC_ADS117X
518         tristate
519
520 config SND_SOC_AK4104
521         tristate "AKM AK4104 CODEC"
522         depends on SPI_MASTER
523
524 config SND_SOC_AK4118
525         tristate "AKM AK4118 CODEC"
526         depends on I2C
527         select REGMAP_I2C
528
529 config SND_SOC_AK4458
530         tristate "AKM AK4458 CODEC"
531         depends on I2C
532         select REGMAP_I2C
533
534 config SND_SOC_AK4535
535         tristate
536         depends on I2C
537
538 config SND_SOC_AK4554
539         tristate "AKM AK4554 CODEC"
540
541 config SND_SOC_AK4613
542         tristate "AKM AK4613 CODEC"
543         depends on I2C
544
545 config SND_SOC_AK4641
546         tristate
547         depends on I2C
548
549 config SND_SOC_AK4642
550         tristate "AKM AK4642 CODEC"
551         depends on I2C
552
553 config SND_SOC_AK4671
554         tristate
555         depends on I2C
556
557 config SND_SOC_AK5386
558         tristate "AKM AK5638 CODEC"
559
560 config SND_SOC_AK5558
561         tristate "AKM AK5558 CODEC"
562         depends on I2C
563         select REGMAP_I2C
564
565 config SND_SOC_ALC5623
566         tristate "Realtek ALC5623 CODEC"
567         depends on I2C
568
569 config SND_SOC_ALC5632
570         tristate
571         depends on I2C
572
573 config SND_SOC_BD28623
574         tristate "ROHM BD28623 CODEC"
575         help
576           Enable support for ROHM BD28623MUV Class D speaker amplifier.
577           This codec does not have any control buses such as I2C, it
578           detect format of I2S automatically.
579
580 config SND_SOC_BT_SCO
581         tristate "Dummy BT SCO codec driver"
582
583 config SND_SOC_CPCAP
584         tristate "Motorola CPCAP codec"
585         depends on MFD_CPCAP
586
587 config SND_SOC_CQ0093VC
588         tristate
589
590 config SND_SOC_CROS_EC_CODEC
591         tristate "codec driver for ChromeOS EC"
592         depends on CROS_EC
593         select CRYPTO
594         select CRYPTO_LIB_SHA256
595         help
596           If you say yes here you will get support for the
597           ChromeOS Embedded Controller's Audio Codec.
598
599 config SND_SOC_CS35L32
600         tristate "Cirrus Logic CS35L32 CODEC"
601         depends on I2C
602
603 config SND_SOC_CS35L33
604         tristate "Cirrus Logic CS35L33 CODEC"
605         depends on I2C
606
607 config SND_SOC_CS35L34
608         tristate "Cirrus Logic CS35L34 CODEC"
609         depends on I2C
610
611 config SND_SOC_CS35L35
612         tristate "Cirrus Logic CS35L35 CODEC"
613         depends on I2C
614
615 config SND_SOC_CS35L36
616         tristate "Cirrus Logic CS35L36 CODEC"
617         depends on I2C
618
619 config SND_SOC_CS42L42
620         tristate "Cirrus Logic CS42L42 CODEC"
621         depends on I2C
622
623 config SND_SOC_CS42L51
624         tristate
625
626 config SND_SOC_CS42L51_I2C
627         tristate "Cirrus Logic CS42L51 CODEC (I2C)"
628         depends on I2C
629         select SND_SOC_CS42L51
630
631 config SND_SOC_CS42L52
632         tristate "Cirrus Logic CS42L52 CODEC"
633         depends on I2C && INPUT
634
635 config SND_SOC_CS42L56
636         tristate "Cirrus Logic CS42L56 CODEC"
637         depends on I2C && INPUT
638
639 config SND_SOC_CS42L73
640         tristate "Cirrus Logic CS42L73 CODEC"
641         depends on I2C
642
643 config SND_SOC_CS4234
644         tristate "Cirrus Logic CS4234 CODEC"
645         depends on I2C
646         select REGMAP_I2C
647
648 config SND_SOC_CS4265
649         tristate "Cirrus Logic CS4265 CODEC"
650         depends on I2C
651         select REGMAP_I2C
652
653 # Cirrus Logic CS4270 Codec
654 config SND_SOC_CS4270
655         tristate "Cirrus Logic CS4270 CODEC"
656         depends on I2C
657
658 # Cirrus Logic CS4270 Codec VD = 3.3V Errata
659 # Select if you are affected by the errata where the part will not function
660 # if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
661 # not select any sample rates that require MCLK to be divided by 1.5.
662 config SND_SOC_CS4270_VD33_ERRATA
663         bool
664         depends on SND_SOC_CS4270
665
666 config SND_SOC_CS4271
667         tristate
668
669 config SND_SOC_CS4271_I2C
670         tristate "Cirrus Logic CS4271 CODEC (I2C)"
671         depends on I2C
672         select SND_SOC_CS4271
673         select REGMAP_I2C
674
675 config SND_SOC_CS4271_SPI
676         tristate "Cirrus Logic CS4271 CODEC (SPI)"
677         depends on SPI_MASTER
678         select SND_SOC_CS4271
679         select REGMAP_SPI
680
681 config SND_SOC_CS42XX8
682         tristate
683
684 config SND_SOC_CS42XX8_I2C
685         tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
686         depends on I2C
687         select SND_SOC_CS42XX8
688         select REGMAP_I2C
689
690 # Cirrus Logic CS43130 HiFi DAC
691 config SND_SOC_CS43130
692         tristate "Cirrus Logic CS43130 CODEC"
693         depends on I2C
694
695 config SND_SOC_CS4341
696         tristate "Cirrus Logic CS4341 CODEC"
697         depends on SND_SOC_I2C_AND_SPI
698         select REGMAP_I2C if I2C
699         select REGMAP_SPI if SPI_MASTER
700
701 # Cirrus Logic CS4349 HiFi DAC
702 config SND_SOC_CS4349
703         tristate "Cirrus Logic CS4349 CODEC"
704         depends on I2C
705
706 config SND_SOC_CS47L15
707         tristate
708         depends on MFD_CS47L15
709
710 config SND_SOC_CS47L24
711         tristate
712         depends on MFD_CS47L24 && MFD_ARIZONA
713
714 config SND_SOC_CS47L35
715         tristate
716         depends on MFD_CS47L35
717
718 config SND_SOC_CS47L85
719         tristate
720         depends on MFD_CS47L85
721
722 config SND_SOC_CS47L90
723         tristate
724         depends on MFD_CS47L90
725
726 config SND_SOC_CS47L92
727         tristate
728         depends on MFD_CS47L92
729
730 # Cirrus Logic Quad-Channel ADC
731 config SND_SOC_CS53L30
732         tristate "Cirrus Logic CS53L30 CODEC"
733         depends on I2C
734
735 config SND_SOC_CX20442
736         tristate
737         depends on TTY
738
739 config SND_SOC_CX2072X
740         tristate "Conexant CX2072X CODEC"
741         depends on I2C
742         help
743           Enable support for Conexant CX20721 and CX20723 codec chips.
744
745 config SND_SOC_JZ4740_CODEC
746         depends on MACH_INGENIC || COMPILE_TEST
747         depends on OF
748         select REGMAP_MMIO
749         tristate "Ingenic JZ4740 internal CODEC"
750         help
751           Enable support for the internal CODEC found in the JZ4740 SoC
752           from Ingenic.
753
754           This driver can also be built as a module. If so, the module
755           will be called snd-soc-jz4740-codec.
756
757 config SND_SOC_JZ4725B_CODEC
758         depends on MACH_INGENIC || COMPILE_TEST
759         depends on OF
760         select REGMAP
761         tristate "Ingenic JZ4725B internal CODEC"
762         help
763           Enable support for the internal CODEC found in the JZ4725B SoC
764           from Ingenic.
765
766           This driver can also be built as a module. If so, the module
767           will be called snd-soc-jz4725b-codec.
768
769 config SND_SOC_JZ4760_CODEC
770         depends on MACH_INGENIC || COMPILE_TEST
771         depends on OF
772         select REGMAP
773         tristate "Ingenic JZ4760 internal CODEC"
774         help
775           Enable support for the internal CODEC found in the JZ4760 SoC
776           from Ingenic.
777
778           This driver can also be built as a module. If so, the module
779           will be called snd-soc-jz4760-codec.
780
781 config SND_SOC_JZ4770_CODEC
782         depends on MACH_INGENIC || COMPILE_TEST
783         depends on OF
784         select REGMAP
785         tristate "Ingenic JZ4770 internal CODEC"
786         help
787           Enable support for the internal CODEC found in the JZ4770 SoC
788           from Ingenic.
789
790           This driver can also be built as a module. If so, the module
791           will be called snd-soc-jz4770-codec.
792
793 config SND_SOC_L3
794         tristate
795
796 config SND_SOC_DA7210
797         tristate
798         depends on SND_SOC_I2C_AND_SPI
799
800 config SND_SOC_DA7213
801         tristate "Dialog DA7213 CODEC"
802         depends on I2C
803
804 config SND_SOC_DA7218
805         tristate
806         depends on I2C
807
808 config SND_SOC_DA7219
809         tristate
810         depends on I2C
811
812 config SND_SOC_DA732X
813         tristate
814         depends on I2C
815
816 config SND_SOC_DA9055
817         tristate
818         depends on I2C
819
820 config SND_SOC_DMIC
821         tristate "Generic Digital Microphone CODEC"
822         depends on GPIOLIB
823         help
824           Enable support for the Generic Digital Microphone CODEC.
825           Select this if your sound card has DMICs.
826
827 config SND_SOC_HDMI_CODEC
828         tristate
829         select SND_PCM_ELD
830         select SND_PCM_IEC958
831         select HDMI
832
833 config SND_SOC_ES7134
834         tristate "Everest Semi ES7134 CODEC"
835
836 config SND_SOC_ES7241
837         tristate "Everest Semi ES7241 CODEC"
838
839 config SND_SOC_ES8316
840         tristate "Everest Semi ES8316 CODEC"
841         depends on I2C
842
843 config SND_SOC_ES8328
844         tristate
845
846 config SND_SOC_ES8328_I2C
847         tristate "Everest Semi ES8328 CODEC (I2C)"
848         depends on I2C
849         select SND_SOC_ES8328
850
851 config SND_SOC_ES8328_SPI
852         tristate "Everest Semi ES8328 CODEC (SPI)"
853         depends on SPI_MASTER
854         select SND_SOC_ES8328
855
856 config SND_SOC_GTM601
857         tristate 'GTM601 UMTS modem audio codec'
858
859 config SND_SOC_HDAC_HDMI
860         tristate
861         select SND_HDA_EXT_CORE
862         select SND_PCM_ELD
863         select HDMI
864
865 config SND_SOC_HDAC_HDA
866         tristate
867         select SND_HDA
868
869 config SND_SOC_ICS43432
870         tristate "ICS43423 and compatible i2s microphones"
871
872 config SND_SOC_INNO_RK3036
873         tristate "Inno codec driver for RK3036 SoC"
874         select REGMAP_MMIO
875
876 config SND_SOC_ISABELLE
877         tristate
878         depends on I2C
879
880 config SND_SOC_LM49453
881         tristate
882         depends on I2C
883
884 config SND_SOC_LOCHNAGAR_SC
885         tristate "Lochnagar Sound Card"
886         depends on MFD_LOCHNAGAR
887         help
888           This driver support the sound card functionality of the Cirrus
889           Logic Lochnagar audio development board.
890
891 config SND_SOC_MA120X0P
892         tristate "Infineon Merus(TM) MA120X0P Multilevel Class-D Audio amplifiers"
893         depends on I2C
894         help
895                 Enable support for Infineon MA120X0P Multilevel Class-D audio power
896                 amplifiers.
897
898 config SND_SOC_MADERA
899         tristate
900         default y if SND_SOC_CS47L15=y
901         default y if SND_SOC_CS47L35=y
902         default y if SND_SOC_CS47L85=y
903         default y if SND_SOC_CS47L90=y
904         default y if SND_SOC_CS47L92=y
905         default m if SND_SOC_CS47L15=m
906         default m if SND_SOC_CS47L35=m
907         default m if SND_SOC_CS47L85=m
908         default m if SND_SOC_CS47L90=m
909         default m if SND_SOC_CS47L92=m
910
911 config SND_SOC_MAX98088
912         tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
913         depends on I2C
914
915 config SND_SOC_MAX98090
916         tristate
917         depends on I2C
918
919 config SND_SOC_MAX98095
920         tristate
921         depends on I2C
922
923 config SND_SOC_MAX98357A
924         tristate "Maxim MAX98357A CODEC"
925
926 config SND_SOC_MAX98371
927         tristate
928         depends on I2C
929
930 config SND_SOC_MAX98504
931         tristate "Maxim MAX98504 speaker amplifier"
932         depends on I2C
933
934 config SND_SOC_MAX9867
935         tristate "Maxim MAX9867 CODEC"
936         depends on I2C
937
938 config SND_SOC_MAX98925
939         tristate
940         depends on I2C
941
942 config SND_SOC_MAX98926
943         tristate
944         depends on I2C
945
946 config SND_SOC_MAX98927
947         tristate "Maxim Integrated MAX98927 Speaker Amplifier"
948         depends on I2C
949
950 config SND_SOC_MAX98373
951         tristate
952
953 config SND_SOC_MAX98373_I2C
954         tristate "Maxim Integrated MAX98373 Speaker Amplifier"
955         depends on I2C
956         select SND_SOC_MAX98373
957
958 config SND_SOC_MAX98373_SDW
959         tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
960         depends on SOUNDWIRE
961         select SND_SOC_MAX98373
962         select REGMAP_SOUNDWIRE
963         help
964           Enable support for Maxim Integrated MAX98373 Soundwire
965           amplifier. MAX98373 supports either the MIPI SoundWire
966           compatible interface for audio and control data, or
967           the PCM interface for audio data and a standard I2C
968           interface for control data. Select this if MAX98373 is
969           connected via soundwire.
970
971 config SND_SOC_MAX98390
972         tristate "Maxim Integrated MAX98390 Speaker Amplifier"
973         depends on I2C
974
975 config SND_SOC_MAX9850
976         tristate
977         depends on I2C
978
979 config SND_SOC_MAX9860
980         tristate "Maxim MAX9860 Mono Audio Voice Codec"
981         depends on I2C
982         select REGMAP_I2C
983
984 config SND_SOC_MSM8916_WCD_ANALOG
985         tristate "Qualcomm MSM8916 WCD Analog Codec"
986         depends on SPMI || COMPILE_TEST
987
988 config SND_SOC_MSM8916_WCD_DIGITAL
989         tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
990         select REGMAP_MMIO
991
992 config SND_SOC_PCM1681
993         tristate "Texas Instruments PCM1681 CODEC"
994         depends on I2C
995
996 config SND_SOC_PCM1789
997         tristate
998
999 config SND_SOC_PCM1789_I2C
1000         tristate "Texas Instruments PCM1789 CODEC (I2C)"
1001         depends on I2C
1002         select SND_SOC_PCM1789
1003         help
1004           Enable support for Texas Instruments PCM1789 CODEC.
1005           Select this if your PCM1789 is connected via an I2C bus.
1006
1007 config SND_SOC_PCM179X
1008         tristate
1009
1010 config SND_SOC_PCM179X_I2C
1011         tristate "Texas Instruments PCM179X CODEC (I2C)"
1012         depends on I2C
1013         select SND_SOC_PCM179X
1014         help
1015           Enable support for Texas Instruments PCM179x CODEC.
1016           Select this if your PCM179x is connected via an I2C bus.
1017
1018 config SND_SOC_PCM179X_SPI
1019         tristate "Texas Instruments PCM179X CODEC (SPI)"
1020         depends on SPI_MASTER
1021         select SND_SOC_PCM179X
1022         help
1023           Enable support for Texas Instruments PCM179x CODEC.
1024           Select this if your PCM179x is connected via an SPI bus.
1025
1026 config SND_SOC_PCM186X
1027         tristate
1028
1029 config SND_SOC_PCM186X_I2C
1030         tristate "Texas Instruments PCM186x CODECs - I2C"
1031         depends on I2C
1032         select SND_SOC_PCM186X
1033         select REGMAP_I2C
1034
1035 config SND_SOC_PCM186X_SPI
1036         tristate "Texas Instruments PCM186x CODECs - SPI"
1037         depends on SPI_MASTER
1038         select SND_SOC_PCM186X
1039         select REGMAP_SPI
1040
1041 config SND_SOC_PCM3008
1042         tristate
1043
1044 config SND_SOC_PCM3060
1045         tristate
1046
1047 config SND_SOC_PCM3060_I2C
1048         tristate "Texas Instruments PCM3060 CODEC - I2C"
1049         depends on I2C
1050         select SND_SOC_PCM3060
1051         select REGMAP_I2C
1052
1053 config SND_SOC_PCM3060_SPI
1054         tristate "Texas Instruments PCM3060 CODEC - SPI"
1055         depends on SPI_MASTER
1056         select SND_SOC_PCM3060
1057         select REGMAP_SPI
1058
1059 config SND_SOC_PCM3168A
1060         tristate
1061
1062 config SND_SOC_PCM3168A_I2C
1063         tristate "Texas Instruments PCM3168A CODEC - I2C"
1064         depends on I2C
1065         select SND_SOC_PCM3168A
1066         select REGMAP_I2C
1067
1068 config SND_SOC_PCM3168A_SPI
1069         tristate "Texas Instruments PCM3168A CODEC - SPI"
1070         depends on SPI_MASTER
1071         select SND_SOC_PCM3168A
1072         select REGMAP_SPI
1073
1074 config SND_SOC_PCM5102A
1075         tristate "Texas Instruments PCM5102A CODEC"
1076
1077 config SND_SOC_PCM512x
1078         tristate
1079
1080 config SND_SOC_PCM512x_I2C
1081         tristate "Texas Instruments PCM512x CODECs - I2C"
1082         depends on I2C
1083         select SND_SOC_PCM512x
1084         select REGMAP_I2C
1085
1086 config SND_SOC_PCM512x_SPI
1087         tristate "Texas Instruments PCM512x CODECs - SPI"
1088         depends on SPI_MASTER
1089         select SND_SOC_PCM512x
1090         select REGMAP_SPI
1091
1092 config SND_SOC_RK3328
1093         tristate "Rockchip RK3328 audio CODEC"
1094         select REGMAP_MMIO
1095
1096 config SND_SOC_RK817
1097         tristate "Rockchip RK817 audio CODEC"
1098         depends on MFD_RK808
1099         select REGMAP_I2C
1100
1101 config SND_SOC_RL6231
1102         tristate
1103         default y if SND_SOC_RT5514=y
1104         default y if SND_SOC_RT5616=y
1105         default y if SND_SOC_RT5640=y
1106         default y if SND_SOC_RT5645=y
1107         default y if SND_SOC_RT5651=y
1108         default y if SND_SOC_RT5659=y
1109         default y if SND_SOC_RT5660=y
1110         default y if SND_SOC_RT5663=y
1111         default y if SND_SOC_RT5665=y
1112         default y if SND_SOC_RT5668=y
1113         default y if SND_SOC_RT5670=y
1114         default y if SND_SOC_RT5677=y
1115         default y if SND_SOC_RT5682=y
1116         default y if SND_SOC_RT1011=y
1117         default y if SND_SOC_RT1015=y
1118         default y if SND_SOC_RT1015P=y
1119         default y if SND_SOC_RT1019=y
1120         default y if SND_SOC_RT1305=y
1121         default y if SND_SOC_RT1308=y
1122         default m if SND_SOC_RT5514=m
1123         default m if SND_SOC_RT5616=m
1124         default m if SND_SOC_RT5640=m
1125         default m if SND_SOC_RT5645=m
1126         default m if SND_SOC_RT5651=m
1127         default m if SND_SOC_RT5659=m
1128         default m if SND_SOC_RT5660=m
1129         default m if SND_SOC_RT5663=m
1130         default m if SND_SOC_RT5665=m
1131         default m if SND_SOC_RT5668=m
1132         default m if SND_SOC_RT5670=m
1133         default m if SND_SOC_RT5677=m
1134         default m if SND_SOC_RT5682=m
1135         default m if SND_SOC_RT1011=m
1136         default m if SND_SOC_RT1015=m
1137         default m if SND_SOC_RT1015P=m
1138         default m if SND_SOC_RT1019=m
1139         default m if SND_SOC_RT1305=m
1140         default m if SND_SOC_RT1308=m
1141
1142 config SND_SOC_RL6347A
1143         tristate
1144         default y if SND_SOC_RT274=y
1145         default y if SND_SOC_RT286=y
1146         default y if SND_SOC_RT298=y
1147         default m if SND_SOC_RT274=m
1148         default m if SND_SOC_RT286=m
1149         default m if SND_SOC_RT298=m
1150
1151 config SND_SOC_RT274
1152         tristate
1153         depends on I2C
1154
1155 config SND_SOC_RT286
1156         tristate
1157         depends on I2C
1158
1159 config SND_SOC_RT298
1160         tristate
1161         depends on I2C
1162
1163 config SND_SOC_RT1011
1164         tristate
1165         depends on I2C
1166
1167 config SND_SOC_RT1015
1168         tristate
1169         depends on I2C
1170
1171 config SND_SOC_RT1015P
1172         tristate
1173
1174 config SND_SOC_RT1019
1175         tristate
1176         depends on I2C
1177
1178 config SND_SOC_RT1305
1179         tristate
1180         depends on I2C
1181
1182 config SND_SOC_RT1308
1183         tristate
1184         depends on I2C
1185
1186 config SND_SOC_RT1308_SDW
1187         tristate "Realtek RT1308 Codec - SDW"
1188         depends on I2C && SOUNDWIRE
1189         select REGMAP_SOUNDWIRE
1190
1191 config SND_SOC_RT1316_SDW
1192         tristate "Realtek RT1316 Codec - SDW"
1193         depends on SOUNDWIRE
1194         select REGMAP_SOUNDWIRE
1195
1196 config SND_SOC_RT5514
1197         tristate
1198         depends on I2C
1199
1200 config SND_SOC_RT5514_SPI
1201         tristate
1202         depends on SPI_MASTER
1203
1204 config SND_SOC_RT5514_SPI_BUILTIN
1205         bool # force RT5514_SPI to be built-in to avoid link errors
1206         default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1207
1208 config SND_SOC_RT5616
1209         tristate "Realtek RT5616 CODEC"
1210         depends on I2C
1211
1212 config SND_SOC_PCM1794A
1213         tristate
1214         depends on I2C
1215
1216 config SND_SOC_RT5631
1217         tristate "Realtek ALC5631/RT5631 CODEC"
1218         depends on I2C
1219
1220 config SND_SOC_RT5640
1221         tristate "Realtek RT5640/RT5639 Codec"
1222         depends on I2C
1223
1224 config SND_SOC_RT5645
1225         tristate
1226         depends on I2C
1227
1228 config SND_SOC_RT5651
1229         tristate
1230         depends on I2C
1231
1232 config SND_SOC_RT5659
1233         tristate "Realtek RT5658/RT5659 Codec"
1234         depends on I2C
1235
1236 config SND_SOC_RT5660
1237         tristate
1238         depends on I2C
1239
1240 config SND_SOC_RT5663
1241         tristate
1242         depends on I2C
1243
1244 config SND_SOC_RT5665
1245         tristate
1246         depends on I2C
1247
1248 config SND_SOC_RT5668
1249         tristate
1250         depends on I2C
1251
1252 config SND_SOC_RT5670
1253         tristate
1254         depends on I2C
1255
1256 config SND_SOC_RT5677
1257         tristate
1258         depends on I2C
1259         select REGMAP_I2C
1260         select REGMAP_IRQ
1261
1262 config SND_SOC_RT5677_SPI
1263         tristate
1264         default SND_SOC_RT5677 && SPI
1265
1266 config SND_SOC_RT5682
1267         tristate
1268
1269 config SND_SOC_RT5682_I2C
1270         tristate
1271         depends on I2C
1272         select SND_SOC_RT5682
1273
1274 config SND_SOC_RT5682_SDW
1275         tristate "Realtek RT5682 Codec - SDW"
1276         depends on SOUNDWIRE
1277         select SND_SOC_RT5682
1278         select REGMAP_SOUNDWIRE
1279
1280 config SND_SOC_RT700
1281         tristate
1282
1283 config SND_SOC_RT700_SDW
1284         tristate "Realtek RT700 Codec - SDW"
1285         depends on SOUNDWIRE
1286         select SND_SOC_RT700
1287         select REGMAP_SOUNDWIRE
1288
1289 config SND_SOC_RT711
1290         tristate
1291
1292 config SND_SOC_RT711_SDW
1293         tristate "Realtek RT711 Codec - SDW"
1294         depends on SOUNDWIRE
1295         select SND_SOC_RT711
1296         select REGMAP_SOUNDWIRE
1297
1298 config SND_SOC_RT711_SDCA_SDW
1299         tristate "Realtek RT711 SDCA Codec - SDW"
1300         depends on SOUNDWIRE
1301         select REGMAP_SOUNDWIRE
1302         select REGMAP_SOUNDWIRE_MBQ
1303
1304 config SND_SOC_RT715
1305         tristate
1306
1307 config SND_SOC_RT715_SDW
1308         tristate "Realtek RT715 Codec - SDW"
1309         depends on SOUNDWIRE
1310         select SND_SOC_RT715
1311         select REGMAP_SOUNDWIRE
1312
1313 config SND_SOC_RT715_SDCA_SDW
1314         tristate "Realtek RT715 SDCA Codec - SDW"
1315         depends on SOUNDWIRE
1316         select REGMAP_SOUNDWIRE
1317         select REGMAP_SOUNDWIRE_MBQ
1318
1319 config SND_SOC_SDW_MOCKUP
1320         tristate "SoundWire mockup codec"
1321         depends on EXPERT
1322         depends on SOUNDWIRE
1323         help
1324           This option enables a SoundWire mockup codec that does not drive the
1325           bus, take part in the command/command protocol or generate data on a
1326           Source port.
1327           This option is only intended to be used for tests on a device
1328           with a connector, in combination with a bus analyzer, or to test new
1329           topologies that differ from the actual hardware layout.
1330           This mockup device could be totally virtual but could also be a
1331           real physical one with one key restriction: it is not allowed by the
1332           SoundWire specification to be configured via a sideband mechanism and
1333           generate audio data for capture. However, nothing prevents such a
1334           peripheral device from snooping the bus.
1335
1336 #Freescale sgtl5000 codec
1337 config SND_SOC_SGTL5000
1338         tristate "Freescale SGTL5000 CODEC"
1339         depends on I2C
1340
1341 config SND_SOC_SI476X
1342         tristate
1343
1344 config SND_SOC_SIGMADSP
1345         tristate
1346         select CRC32
1347
1348 config SND_SOC_SIGMADSP_I2C
1349         tristate
1350         select SND_SOC_SIGMADSP
1351
1352 config SND_SOC_SIGMADSP_REGMAP
1353         tristate
1354         select SND_SOC_SIGMADSP
1355
1356 config SND_SOC_SIMPLE_AMPLIFIER
1357         tristate "Simple Audio Amplifier"
1358         select GPIOLIB
1359
1360 config SND_SOC_SIMPLE_MUX
1361         tristate "Simple Audio Mux"
1362         select GPIOLIB
1363
1364 config SND_SOC_SPDIF
1365         tristate "S/PDIF CODEC"
1366
1367 config SND_SOC_SSM2305
1368         tristate "Analog Devices SSM2305 Class-D Amplifier"
1369         help
1370           Enable support for Analog Devices SSM2305 filterless
1371           high-efficiency mono Class-D audio power amplifiers.
1372
1373 config SND_SOC_SSM2518
1374         tristate "Analog Devices SSM2518 Class-D Amplifier"
1375         depends on I2C
1376
1377 config SND_SOC_SSM2602
1378         tristate
1379
1380 config SND_SOC_SSM2602_SPI
1381         tristate "Analog Devices SSM2602 CODEC - SPI"
1382         depends on SPI_MASTER
1383         select SND_SOC_SSM2602
1384         select REGMAP_SPI
1385
1386 config SND_SOC_SSM2602_I2C
1387         tristate "Analog Devices SSM2602 CODEC - I2C"
1388         depends on I2C
1389         select SND_SOC_SSM2602
1390         select REGMAP_I2C
1391
1392 config SND_SOC_SSM4567
1393         tristate "Analog Devices ssm4567 amplifier driver support"
1394         depends on I2C
1395
1396 config SND_SOC_STA32X
1397         tristate "STA326, STA328 and STA329 speaker amplifier"
1398         depends on I2C
1399         select REGMAP_I2C
1400
1401 config SND_SOC_STA350
1402         tristate "STA350 speaker amplifier"
1403         depends on I2C
1404
1405 config SND_SOC_STA529
1406         tristate
1407         depends on I2C
1408
1409 config SND_SOC_STAC9766
1410         tristate
1411         depends on SND_SOC_AC97_BUS
1412
1413 config SND_SOC_STI_SAS
1414         tristate "codec Audio support for STI SAS codec"
1415
1416 config SND_SOC_TAS2552
1417         tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1418         depends on I2C
1419
1420 config SND_SOC_TAS2562
1421         tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1422         depends on I2C
1423
1424 config SND_SOC_TAS2764
1425         tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1426         depends on I2C
1427
1428 config SND_SOC_TAS2770
1429         tristate "Texas Instruments TAS2770 speaker amplifier"
1430         depends on I2C
1431
1432 config SND_SOC_TAS5086
1433         tristate "Texas Instruments TAS5086 speaker amplifier"
1434         depends on I2C
1435
1436 config SND_SOC_TAS571X
1437         tristate "Texas Instruments TAS571x power amplifiers"
1438         depends on I2C
1439         help
1440           Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1441           TAS5719 and TAS5721 power amplifiers
1442
1443 config SND_SOC_TAS5720
1444         tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1445         depends on I2C
1446         help
1447           Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1448           Class-D audio power amplifiers.
1449
1450 config SND_SOC_TAS6424
1451         tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1452         depends on I2C
1453         help
1454           Enable support for Texas Instruments TAS6424 high-efficiency
1455           digital input quad-channel Class-D audio power amplifiers.
1456
1457 config SND_SOC_TDA7419
1458         tristate "ST TDA7419 audio processor"
1459         depends on I2C
1460         select REGMAP_I2C
1461
1462 config SND_SOC_TFA9879
1463         tristate "NXP Semiconductors TFA9879 amplifier"
1464         depends on I2C
1465
1466 config SND_SOC_TAS5713
1467         tristate
1468
1469 config SND_SOC_TFA989X
1470         tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1471         depends on I2C
1472         select REGMAP_I2C
1473         help
1474           Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1475           amplifiers, e.g. TFA9895.
1476           Note that the driver currently bypasses the built-in "CoolFlux DSP"
1477           and does not support (hardware) volume control.
1478
1479 config SND_SOC_TLV320AIC23
1480         tristate
1481
1482 config SND_SOC_TLV320AIC23_I2C
1483         tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1484         depends on I2C
1485         select SND_SOC_TLV320AIC23
1486
1487 config SND_SOC_TLV320AIC23_SPI
1488         tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1489         depends on SPI_MASTER
1490         select SND_SOC_TLV320AIC23
1491
1492 config SND_SOC_TLV320AIC26
1493         tristate
1494         depends on SPI
1495
1496 config SND_SOC_TLV320AIC31XX
1497         tristate "Texas Instruments TLV320AIC31xx CODECs"
1498         depends on I2C
1499         select REGMAP_I2C
1500
1501 config SND_SOC_TLV320AIC32X4
1502         tristate
1503         depends on COMMON_CLK
1504
1505 config SND_SOC_TLV320AIC32X4_I2C
1506         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1507         depends on I2C
1508         depends on COMMON_CLK
1509         select SND_SOC_TLV320AIC32X4
1510
1511 config SND_SOC_TLV320AIC32X4_SPI
1512         tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1513         depends on SPI_MASTER
1514         depends on COMMON_CLK
1515         select SND_SOC_TLV320AIC32X4
1516
1517 config SND_SOC_TLV320AIC3X
1518         tristate
1519
1520 config SND_SOC_TLV320AIC3X_I2C
1521         tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1522         depends on I2C
1523         select SND_SOC_TLV320AIC3X
1524         select REGMAP_I2C
1525
1526 config SND_SOC_TLV320AIC3X_SPI
1527         tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1528         depends on SPI_MASTER
1529         select SND_SOC_TLV320AIC3X
1530         select REGMAP_SPI
1531
1532 config SND_SOC_TLV320DAC33
1533         tristate
1534         depends on I2C
1535
1536 config SND_SOC_TLV320ADCX140
1537         tristate "Texas Instruments TLV320ADCX140 CODEC family"
1538         depends on I2C
1539         select REGMAP_I2C
1540         help
1541           Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1542           tlv320adc6140 quad channel ADCs.
1543
1544 config SND_SOC_TS3A227E
1545         tristate "TI Headset/Mic detect and keypress chip"
1546         depends on I2C
1547
1548 config SND_SOC_TSCS42XX
1549         tristate "Tempo Semiconductor TSCS42xx CODEC"
1550         depends on I2C
1551         select REGMAP_I2C
1552         help
1553           Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1554
1555 config SND_SOC_TSCS454
1556         tristate "Tempo Semiconductor TSCS454 CODEC"
1557         depends on I2C
1558         select REGMAP_I2C
1559         help
1560           Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1561
1562 config SND_SOC_TWL4030
1563         tristate
1564         depends on TWL4030_CORE
1565         select MFD_TWL4030_AUDIO
1566
1567 config SND_SOC_TWL6040
1568         tristate
1569         depends on TWL6040_CORE
1570
1571 config SND_SOC_UDA1334
1572         tristate "NXP UDA1334 DAC"
1573         depends on GPIOLIB
1574         help
1575           The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1576           and has basic features such as de-emphasis (at 44.1 kHz sampling
1577           rate) and mute.
1578
1579 config SND_SOC_UDA134X
1580         tristate
1581
1582 config SND_SOC_UDA1380
1583         tristate
1584         depends on I2C
1585
1586 config SND_SOC_WCD9335
1587         tristate "WCD9335 Codec"
1588         depends on SLIMBUS
1589         select REGMAP_SLIMBUS
1590         select REGMAP_IRQ
1591         help
1592           The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1593           Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1594           including the MSM8996, MSM8976, and MSM8956 chipsets.
1595
1596 config SND_SOC_WCD_MBHC
1597         tristate
1598
1599 config SND_SOC_WCD934X
1600         tristate "WCD9340/WCD9341 Codec"
1601         depends on COMMON_CLK
1602         select SND_SOC_WCD_MBHC
1603         depends on MFD_WCD934X
1604         help
1605           The WCD9340/9341 is a audio codec IC Integrated in
1606           Qualcomm SoCs like SDM845.
1607
1608 config SND_SOC_WCD938X
1609         depends on SND_SOC_WCD938X_SDW
1610         tristate
1611         depends on SOUNDWIRE || !SOUNDWIRE
1612
1613 config SND_SOC_WCD938X_SDW
1614         tristate "WCD9380/WCD9385 Codec - SDW"
1615         select SND_SOC_WCD938X
1616         select SND_SOC_WCD_MBHC
1617         select REGMAP_IRQ
1618         depends on SOUNDWIRE
1619         select REGMAP_SOUNDWIRE
1620         help
1621           The WCD9380/9385 is a audio codec IC Integrated in
1622           Qualcomm SoCs like SM8250.
1623
1624 config SND_SOC_WL1273
1625         tristate
1626
1627 config SND_SOC_WM0010
1628         tristate
1629         depends on SPI_MASTER
1630
1631 config SND_SOC_WM1250_EV1
1632         tristate
1633         depends on I2C
1634
1635 config SND_SOC_WM2000
1636         tristate
1637         depends on I2C
1638
1639 config SND_SOC_WM2200
1640         tristate
1641         depends on I2C
1642
1643 config SND_SOC_WM5100
1644         tristate
1645         depends on I2C
1646
1647 config SND_SOC_WM5102
1648         tristate
1649         depends on MFD_WM5102 && MFD_ARIZONA
1650
1651 config SND_SOC_WM5110
1652         tristate
1653         depends on MFD_WM5110 && MFD_ARIZONA
1654
1655 config SND_SOC_WM8350
1656         tristate
1657         depends on MFD_WM8350
1658
1659 config SND_SOC_WM8400
1660         tristate
1661         # FIXME nothing selects SND_SOC_WM8400??
1662         depends on MFD_WM8400
1663
1664 config SND_SOC_WM8510
1665         tristate "Wolfson Microelectronics WM8510 CODEC"
1666         depends on SND_SOC_I2C_AND_SPI
1667
1668 config SND_SOC_WM8523
1669         tristate "Wolfson Microelectronics WM8523 DAC"
1670         depends on I2C
1671
1672 config SND_SOC_WM8524
1673         tristate "Wolfson Microelectronics WM8524 DAC"
1674         depends on GPIOLIB
1675
1676 config SND_SOC_WM8580
1677         tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1678         depends on I2C
1679
1680 config SND_SOC_WM8711
1681         tristate "Wolfson Microelectronics WM8711 CODEC"
1682         depends on SND_SOC_I2C_AND_SPI
1683
1684 config SND_SOC_WM8727
1685         tristate
1686
1687 config SND_SOC_WM8728
1688         tristate "Wolfson Microelectronics WM8728 DAC"
1689         depends on SND_SOC_I2C_AND_SPI
1690
1691 config SND_SOC_WM8731
1692         tristate "Wolfson Microelectronics WM8731 CODEC"
1693         depends on SND_SOC_I2C_AND_SPI
1694
1695 config SND_SOC_WM8737
1696         tristate "Wolfson Microelectronics WM8737 ADC"
1697         depends on SND_SOC_I2C_AND_SPI
1698
1699 config SND_SOC_WM8741
1700         tristate "Wolfson Microelectronics WM8741 DAC"
1701         depends on SND_SOC_I2C_AND_SPI
1702
1703 config SND_SOC_WM8750
1704         tristate "Wolfson Microelectronics WM8750 CODEC"
1705         depends on SND_SOC_I2C_AND_SPI
1706
1707 config SND_SOC_WM8753
1708         tristate "Wolfson Microelectronics WM8753 CODEC"
1709         depends on SND_SOC_I2C_AND_SPI
1710
1711 config SND_SOC_WM8770
1712         tristate "Wolfson Microelectronics WM8770 CODEC"
1713         depends on SPI_MASTER
1714
1715 config SND_SOC_WM8776
1716         tristate "Wolfson Microelectronics WM8776 CODEC"
1717         depends on SND_SOC_I2C_AND_SPI
1718
1719 config SND_SOC_WM8782
1720         tristate "Wolfson Microelectronics WM8782 ADC"
1721
1722 config SND_SOC_WM8804
1723         tristate
1724
1725 config SND_SOC_WM8804_I2C
1726         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1727         depends on I2C
1728         select SND_SOC_WM8804
1729         select REGMAP_I2C
1730
1731 config SND_SOC_WM8804_SPI
1732         tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1733         depends on SPI_MASTER
1734         select SND_SOC_WM8804
1735         select REGMAP_SPI
1736
1737 config SND_SOC_WM8900
1738         tristate
1739         depends on SND_SOC_I2C_AND_SPI
1740
1741 config SND_SOC_WM8903
1742         tristate "Wolfson Microelectronics WM8903 CODEC"
1743         depends on I2C
1744
1745 config SND_SOC_WM8904
1746         tristate "Wolfson Microelectronics WM8904 CODEC"
1747         depends on I2C
1748
1749 config SND_SOC_WM8940
1750         tristate
1751         depends on I2C
1752
1753 config SND_SOC_WM8955
1754         tristate
1755         depends on I2C
1756
1757 config SND_SOC_WM8960
1758         tristate "Wolfson Microelectronics WM8960 CODEC"
1759         depends on I2C
1760
1761 config SND_SOC_WM8961
1762         tristate
1763         depends on I2C
1764
1765 config SND_SOC_WM8962
1766         tristate "Wolfson Microelectronics WM8962 CODEC"
1767         depends on I2C && INPUT
1768
1769 config SND_SOC_WM8971
1770         tristate
1771         depends on I2C
1772
1773 config SND_SOC_WM8974
1774         tristate "Wolfson Microelectronics WM8974 codec"
1775         depends on I2C
1776
1777 config SND_SOC_WM8978
1778         tristate "Wolfson Microelectronics WM8978 codec"
1779         depends on I2C
1780
1781 config SND_SOC_WM8983
1782         tristate
1783         depends on SND_SOC_I2C_AND_SPI
1784
1785 config SND_SOC_WM8985
1786         tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1787         depends on SND_SOC_I2C_AND_SPI
1788
1789 config SND_SOC_WM8988
1790         tristate
1791         depends on SND_SOC_I2C_AND_SPI
1792
1793 config SND_SOC_WM8990
1794         tristate
1795         depends on I2C
1796
1797 config SND_SOC_WM8991
1798         tristate
1799         depends on I2C
1800
1801 config SND_SOC_WM8993
1802         tristate
1803         depends on I2C
1804
1805 config SND_SOC_WM8994
1806         tristate
1807
1808 config SND_SOC_WM8995
1809         tristate
1810         depends on SND_SOC_I2C_AND_SPI
1811
1812 config SND_SOC_WM8996
1813         tristate
1814         depends on I2C
1815
1816 config SND_SOC_WM8997
1817         tristate
1818         depends on MFD_WM8997 && MFD_ARIZONA
1819
1820 config SND_SOC_WM8998
1821         tristate
1822         depends on MFD_WM8998 && MFD_ARIZONA
1823
1824 config SND_SOC_WM9081
1825         tristate
1826         depends on I2C
1827
1828 config SND_SOC_WM9090
1829         tristate
1830         depends on I2C
1831
1832 config SND_SOC_WM9705
1833         tristate
1834         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1835         select REGMAP_AC97
1836         select AC97_BUS_COMPAT if AC97_BUS_NEW
1837
1838 config SND_SOC_WM9712
1839         tristate
1840         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1841         select REGMAP_AC97
1842         select AC97_BUS_COMPAT if AC97_BUS_NEW
1843
1844 config SND_SOC_WM9713
1845         tristate
1846         depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1847         select REGMAP_AC97
1848         select AC97_BUS_COMPAT if AC97_BUS_NEW
1849
1850 config SND_SOC_WSA881X
1851         tristate "WSA881X Codec"
1852         depends on SOUNDWIRE
1853         select REGMAP_SOUNDWIRE
1854         tristate
1855         help
1856           This enables support for Qualcomm WSA8810/WSA8815 Class-D
1857           Smart Speaker Amplifier.
1858
1859 config SND_SOC_ZL38060
1860         tristate "Microsemi ZL38060 Connected Home Audio Processor"
1861         depends on SPI_MASTER
1862         select GPIOLIB
1863         select REGMAP
1864         help
1865           Support for ZL38060 Connected Home Audio Processor from Microsemi,
1866           which consists of a Digital Signal Processor (DSP), several Digital
1867           Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1868
1869 # Amp
1870 config SND_SOC_LM4857
1871         tristate
1872         depends on I2C
1873
1874 config SND_SOC_MAX9759
1875         tristate "Maxim MAX9759 speaker Amplifier"
1876         select GPIOLIB
1877
1878 config SND_SOC_MAX9768
1879         tristate
1880         depends on I2C
1881
1882 config SND_SOC_MAX9877
1883         tristate
1884         depends on I2C
1885
1886 config SND_SOC_MC13783
1887         tristate
1888         depends on MFD_MC13XXX
1889
1890 config SND_SOC_ML26124
1891         tristate
1892         depends on I2C
1893
1894 config SND_SOC_MT6351
1895         tristate "MediaTek MT6351 Codec"
1896
1897 config SND_SOC_MT6358
1898         tristate "MediaTek MT6358 Codec"
1899         help
1900           Enable support for the platform which uses MT6358 as
1901           external codec device.
1902
1903 config SND_SOC_MT6359
1904         tristate "MediaTek MT6359 Codec"
1905         depends on MTK_PMIC_WRAP
1906         help
1907           Enable support for the platform which uses MT6359 as
1908           external codec device.
1909
1910 config SND_SOC_MT6359_ACCDET
1911         tristate "MediaTek MT6359 ACCDET driver"
1912         depends on MTK_PMIC_WRAP
1913         help
1914           ACCDET means Accessory Detection technology, MediaTek develop it
1915           for ASoC codec soc-jack detection mechanism.
1916           Select N if you don't have jack on board.
1917
1918 config SND_SOC_MT6660
1919         tristate "Mediatek MT6660 Speaker Amplifier"
1920         depends on I2C
1921         help
1922           MediaTek MT6660 is a smart power amplifier which contain
1923           speaker protection, multi-band DRC, equalizer functions.
1924           Select N if you don't have MT6660 on board.
1925           Select M to build this as module.
1926
1927 config SND_SOC_NAU8315
1928         tristate "Nuvoton Technology Corporation NAU8315 CODEC"
1929         depends on GPIOLIB
1930
1931 config SND_SOC_NAU8540
1932         tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1933         depends on I2C
1934
1935 config SND_SOC_NAU8810
1936         tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1937         depends on I2C
1938
1939 config SND_SOC_NAU8822
1940         tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1941         depends on I2C
1942
1943 config SND_SOC_NAU8824
1944         tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1945         depends on I2C
1946
1947 config SND_SOC_NAU8825
1948         tristate
1949         depends on I2C
1950
1951 config SND_SOC_TPA6130A2
1952         tristate "Texas Instruments TPA6130A2 headphone amplifier"
1953         depends on I2C
1954
1955 config SND_SOC_LPASS_WSA_MACRO
1956         depends on COMMON_CLK
1957         select REGMAP_MMIO
1958         tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
1959
1960 config SND_SOC_LPASS_VA_MACRO
1961         depends on COMMON_CLK
1962         select REGMAP_MMIO
1963         tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
1964
1965 config SND_SOC_LPASS_RX_MACRO
1966         depends on COMMON_CLK
1967         select REGMAP_MMIO
1968         tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
1969
1970 config SND_SOC_LPASS_TX_MACRO
1971         depends on COMMON_CLK
1972         select REGMAP_MMIO
1973         tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
1974
1975 config SND_SOC_I_SABRE_CODEC
1976         tristate "Audiophonics I-SABRE Codec"
1977         depends on I2C
1978
1979 endmenu