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