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