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