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