xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision 8a5aaf97)
1# Helper to resolve issues with configs that have SPI enabled but I2C
2# modular, meaning we can't build the codec driver in with I2C support.
3# We use an ordered list of conditional defaults to pick the appropriate
4# setting - SPI can't be modular so that case doesn't need to be covered.
5config SND_SOC_I2C_AND_SPI
6	tristate
7	default m if I2C=m
8	default y if I2C=y
9	default y if SPI_MASTER=y
10
11menu "CODEC drivers"
12
13config SND_SOC_ALL_CODECS
14	tristate "Build all ASoC CODEC drivers"
15	depends on COMPILE_TEST
16	select SND_SOC_88PM860X if MFD_88PM860X
17	select SND_SOC_L3
18	select SND_SOC_AB8500_CODEC if ABX500_CORE
19	select SND_SOC_AC97_CODEC
20	select SND_SOC_AD1836 if SPI_MASTER
21	select SND_SOC_AD193X_SPI if SPI_MASTER
22	select SND_SOC_AD193X_I2C if I2C
23	select SND_SOC_AD1980 if SND_SOC_AC97_BUS
24	select SND_SOC_AD73311
25	select SND_SOC_ADAU1373 if I2C
26	select SND_SOC_ADAU1761_I2C if I2C
27	select SND_SOC_ADAU1761_SPI if SPI
28	select SND_SOC_ADAU1781_I2C if I2C
29	select SND_SOC_ADAU1781_SPI if SPI
30	select SND_SOC_ADAV801 if SPI_MASTER
31	select SND_SOC_ADAV803 if I2C
32	select SND_SOC_ADAU1977_SPI if SPI_MASTER
33	select SND_SOC_ADAU1977_I2C if I2C
34	select SND_SOC_ADAU1701 if I2C
35	select SND_SOC_ADAU7002
36	select SND_SOC_ADS117X
37	select SND_SOC_AK4104 if SPI_MASTER
38	select SND_SOC_AK4118 if I2C
39	select SND_SOC_AK4458 if I2C
40	select SND_SOC_AK4535 if I2C
41	select SND_SOC_AK4554
42	select SND_SOC_AK4613 if I2C
43	select SND_SOC_AK4641 if I2C
44	select SND_SOC_AK4642 if I2C
45	select SND_SOC_AK4671 if I2C
46	select SND_SOC_AK5386
47	select SND_SOC_AK5558 if I2C
48	select SND_SOC_ALC5623 if I2C
49	select SND_SOC_ALC5632 if I2C
50	select SND_SOC_BT_SCO
51	select SND_SOC_BD28623
52	select SND_SOC_CQ0093VC
53	select SND_SOC_CS35L32 if I2C
54	select SND_SOC_CS35L33 if I2C
55	select SND_SOC_CS35L34 if I2C
56	select SND_SOC_CS35L35 if I2C
57	select SND_SOC_CS42L42 if I2C
58	select SND_SOC_CS42L51_I2C if I2C
59	select SND_SOC_CS42L52 if I2C && INPUT
60	select SND_SOC_CS42L56 if I2C && INPUT
61	select SND_SOC_CS42L73 if I2C
62	select SND_SOC_CS4265 if I2C
63	select SND_SOC_CS4270 if I2C
64	select SND_SOC_CS4271_I2C if I2C
65	select SND_SOC_CS4271_SPI if SPI_MASTER
66	select SND_SOC_CS42XX8_I2C if I2C
67	select SND_SOC_CS43130 if I2C
68	select SND_SOC_CS4349 if I2C
69	select SND_SOC_CS47L24 if MFD_CS47L24
70	select SND_SOC_CS53L30 if I2C
71	select SND_SOC_CX20442 if TTY
72	select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI
73	select SND_SOC_DA7213 if I2C
74	select SND_SOC_DA7218 if I2C
75	select SND_SOC_DA7219 if I2C
76	select SND_SOC_DA732X if I2C
77	select SND_SOC_DA9055 if I2C
78	select SND_SOC_DMIC if GPIOLIB
79	select SND_SOC_ES8316 if I2C
80	select SND_SOC_ES8328_SPI if SPI_MASTER
81	select SND_SOC_ES8328_I2C if I2C
82	select SND_SOC_ES7134
83	select SND_SOC_ES7241
84	select SND_SOC_GTM601
85	select SND_SOC_HDAC_HDMI
86	select SND_SOC_HDAC_HDA
87	select SND_SOC_ICS43432
88	select SND_SOC_INNO_RK3036
89	select SND_SOC_ISABELLE if I2C
90	select SND_SOC_JZ4740_CODEC
91	select SND_SOC_LM4857 if I2C
92	select SND_SOC_LM49453 if I2C
93	select SND_SOC_MAX98088 if I2C
94	select SND_SOC_MAX98090 if I2C
95	select SND_SOC_MAX98095 if I2C
96	select SND_SOC_MAX98357A if GPIOLIB
97	select SND_SOC_MAX98371 if I2C
98	select SND_SOC_MAX98504 if I2C
99	select SND_SOC_MAX9867 if I2C
100	select SND_SOC_MAX98925 if I2C
101	select SND_SOC_MAX98926 if I2C
102	select SND_SOC_MAX98927 if I2C
103	select SND_SOC_MAX98373 if I2C
104	select SND_SOC_MAX9850 if I2C
105	select SND_SOC_MAX9860 if I2C
106	select SND_SOC_MAX9759
107	select SND_SOC_MAX9768 if I2C
108	select SND_SOC_MAX9877 if I2C
109	select SND_SOC_MC13783 if MFD_MC13XXX
110	select SND_SOC_ML26124 if I2C
111	select SND_SOC_MT6351 if MTK_PMIC_WRAP
112	select SND_SOC_NAU8540 if I2C
113	select SND_SOC_NAU8810 if I2C
114	select SND_SOC_NAU8822 if I2C
115	select SND_SOC_NAU8824 if I2C
116	select SND_SOC_NAU8825 if I2C
117	select SND_SOC_HDMI_CODEC
118	select SND_SOC_PCM1681 if I2C
119	select SND_SOC_PCM1789_I2C if I2C
120	select SND_SOC_PCM179X_I2C if I2C
121	select SND_SOC_PCM179X_SPI if SPI_MASTER
122	select SND_SOC_PCM186X_I2C if I2C
123	select SND_SOC_PCM186X_SPI if SPI_MASTER
124	select SND_SOC_PCM3008
125	select SND_SOC_PCM3060_I2C if I2C
126	select SND_SOC_PCM3060_SPI if SPI_MASTER
127	select SND_SOC_PCM3168A_I2C if I2C
128	select SND_SOC_PCM3168A_SPI if SPI_MASTER
129	select SND_SOC_PCM5102A
130	select SND_SOC_PCM512x_I2C if I2C
131	select SND_SOC_PCM512x_SPI if SPI_MASTER
132	select SND_SOC_RT274 if I2C
133	select SND_SOC_RT286 if I2C
134	select SND_SOC_RT298 if I2C
135	select SND_SOC_RT1305 if I2C
136	select SND_SOC_RT5514 if I2C
137	select SND_SOC_RT5616 if I2C
138	select SND_SOC_RT5631 if I2C
139	select SND_SOC_RT5640 if I2C
140	select SND_SOC_RT5645 if I2C
141	select SND_SOC_RT5651 if I2C
142	select SND_SOC_RT5659 if I2C
143	select SND_SOC_RT5660 if I2C
144	select SND_SOC_RT5663 if I2C
145	select SND_SOC_RT5665 if I2C
146	select SND_SOC_RT5668 if I2C
147	select SND_SOC_RT5670 if I2C
148	select SND_SOC_RT5677 if I2C && SPI_MASTER
149	select SND_SOC_RT5682 if I2C
150	select SND_SOC_SGTL5000 if I2C
151	select SND_SOC_SI476X if MFD_SI476X_CORE
152	select SND_SOC_SIMPLE_AMPLIFIER
153	select SND_SOC_SIRF_AUDIO_CODEC
154	select SND_SOC_SPDIF
155	select SND_SOC_SSM2305
156	select SND_SOC_SSM2518 if I2C
157	select SND_SOC_SSM2602_SPI if SPI_MASTER
158	select SND_SOC_SSM2602_I2C if I2C
159	select SND_SOC_SSM4567 if I2C
160	select SND_SOC_STA32X if I2C
161	select SND_SOC_STA350 if I2C
162	select SND_SOC_STA529 if I2C
163	select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
164	select SND_SOC_STI_SAS
165	select SND_SOC_TAS2552 if I2C
166	select SND_SOC_TAS5086 if I2C
167	select SND_SOC_TAS571X if I2C
168	select SND_SOC_TAS5720 if I2C
169	select SND_SOC_TAS6424 if I2C
170	select SND_SOC_TDA7419 if I2C
171	select SND_SOC_TFA9879 if I2C
172	select SND_SOC_TLV320AIC23_I2C if I2C
173	select SND_SOC_TLV320AIC23_SPI if SPI_MASTER
174	select SND_SOC_TLV320AIC26 if SPI_MASTER
175	select SND_SOC_TLV320AIC31XX if I2C
176	select SND_SOC_TLV320AIC32X4_I2C if I2C
177	select SND_SOC_TLV320AIC32X4_SPI if SPI_MASTER
178	select SND_SOC_TLV320AIC3X if I2C
179	select SND_SOC_TPA6130A2 if I2C
180	select SND_SOC_TLV320DAC33 if I2C
181	select SND_SOC_TSCS42XX if I2C
182	select SND_SOC_TSCS454 if I2C
183	select SND_SOC_TS3A227E if I2C
184	select SND_SOC_TWL4030 if TWL4030_CORE
185	select SND_SOC_TWL6040 if TWL6040_CORE
186	select SND_SOC_UDA134X
187	select SND_SOC_UDA1380 if I2C
188	select SND_SOC_WL1273 if MFD_WL1273_CORE
189	select SND_SOC_WM0010 if SPI_MASTER
190	select SND_SOC_WM1250_EV1 if I2C
191	select SND_SOC_WM2000 if I2C
192	select SND_SOC_WM2200 if I2C
193	select SND_SOC_WM5100 if I2C
194	select SND_SOC_WM5102 if MFD_WM5102
195	select SND_SOC_WM5110 if MFD_WM5110
196	select SND_SOC_WM8350 if MFD_WM8350
197	select SND_SOC_WM8400 if MFD_WM8400
198	select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
199	select SND_SOC_WM8523 if I2C
200	select SND_SOC_WM8524 if GPIOLIB
201	select SND_SOC_WM8580 if I2C
202	select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
203	select SND_SOC_WM8727
204	select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
205	select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
206	select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
207	select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
208	select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
209	select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
210	select SND_SOC_WM8770 if SPI_MASTER
211	select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
212	select SND_SOC_WM8782
213	select SND_SOC_WM8804_I2C if I2C
214	select SND_SOC_WM8804_SPI if SPI_MASTER
215	select SND_SOC_WM8900 if I2C
216	select SND_SOC_WM8903 if I2C
217	select SND_SOC_WM8904 if I2C
218	select SND_SOC_WM8940 if I2C
219	select SND_SOC_WM8955 if I2C
220	select SND_SOC_WM8960 if I2C
221	select SND_SOC_WM8961 if I2C
222	select SND_SOC_WM8962 if I2C && INPUT
223	select SND_SOC_WM8971 if I2C
224	select SND_SOC_WM8974 if I2C
225	select SND_SOC_WM8978 if I2C
226	select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
227	select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
228	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
229	select SND_SOC_WM8990 if I2C
230	select SND_SOC_WM8991 if I2C
231	select SND_SOC_WM8993 if I2C
232	select SND_SOC_WM8994 if MFD_WM8994
233	select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
234	select SND_SOC_WM8996 if I2C
235	select SND_SOC_WM8997 if MFD_WM8997
236	select SND_SOC_WM8998 if MFD_WM8998
237	select SND_SOC_WM9081 if I2C
238	select SND_SOC_WM9090 if I2C
239	select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
240	select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
241	select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
242        help
243          Normally ASoC codec drivers are only built if a machine driver which
244          uses them is also built since they are only usable with a machine
245          driver.  Selecting this option will allow these drivers to be built
246          without an explicit machine driver for test and development purposes.
247
248	  Support for the bus types used to access the codecs to be built must
249	  be selected separately.
250
251          If unsure select "N".
252
253config SND_SOC_88PM860X
254	tristate
255
256config SND_SOC_ARIZONA
257	tristate
258	default y if SND_SOC_CS47L24=y
259	default y if SND_SOC_WM5102=y
260	default y if SND_SOC_WM5110=y
261	default y if SND_SOC_WM8997=y
262	default y if SND_SOC_WM8998=y
263	default m if SND_SOC_CS47L24=m
264	default m if SND_SOC_WM5102=m
265	default m if SND_SOC_WM5110=m
266	default m if SND_SOC_WM8997=m
267	default m if SND_SOC_WM8998=m
268
269config SND_SOC_WM_HUBS
270	tristate
271	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
272	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
273
274config SND_SOC_WM_ADSP
275	tristate
276	select SND_SOC_COMPRESS
277	default y if SND_SOC_CS47L24=y
278	default y if SND_SOC_WM5102=y
279	default y if SND_SOC_WM5110=y
280	default y if SND_SOC_WM2200=y
281	default m if SND_SOC_CS47L24=m
282	default m if SND_SOC_WM5102=m
283	default m if SND_SOC_WM5110=m
284	default m if SND_SOC_WM2200=m
285
286config SND_SOC_AB8500_CODEC
287	tristate
288
289config SND_SOC_AC97_CODEC
290	tristate "Build generic ASoC AC97 CODEC driver"
291	select SND_AC97_CODEC
292	select SND_SOC_AC97_BUS
293
294config SND_SOC_AD1836
295	tristate
296
297config SND_SOC_AD193X
298	tristate
299
300config SND_SOC_AD193X_SPI
301	tristate
302	select SND_SOC_AD193X
303
304config SND_SOC_AD193X_I2C
305	tristate
306	select SND_SOC_AD193X
307
308config SND_SOC_AD1980
309	select REGMAP_AC97
310	tristate
311
312config SND_SOC_AD73311
313	tristate
314
315config SND_SOC_ADAU_UTILS
316	tristate
317
318config SND_SOC_ADAU1373
319	tristate
320	select SND_SOC_ADAU_UTILS
321
322config SND_SOC_ADAU1701
323	tristate "Analog Devices ADAU1701 CODEC"
324	depends on I2C
325	select SND_SOC_SIGMADSP_I2C
326
327config SND_SOC_ADAU17X1
328	tristate
329	select SND_SOC_SIGMADSP_REGMAP
330	select SND_SOC_ADAU_UTILS
331
332config SND_SOC_ADAU1761
333	tristate
334	select SND_SOC_ADAU17X1
335
336config SND_SOC_ADAU1761_I2C
337	tristate "Analog Devices AU1761 CODEC - I2C"
338	depends on I2C
339	select SND_SOC_ADAU1761
340	select REGMAP_I2C
341
342config SND_SOC_ADAU1761_SPI
343	tristate "Analog Devices AU1761 CODEC - SPI"
344	depends on SPI
345	select SND_SOC_ADAU1761
346	select REGMAP_SPI
347
348config SND_SOC_ADAU1781
349	select SND_SOC_ADAU17X1
350	tristate
351
352config SND_SOC_ADAU1781_I2C
353	tristate
354	select SND_SOC_ADAU1781
355	select REGMAP_I2C
356
357config SND_SOC_ADAU1781_SPI
358	tristate
359	select SND_SOC_ADAU1781
360	select REGMAP_SPI
361
362config SND_SOC_ADAU1977
363	tristate
364
365config SND_SOC_ADAU1977_SPI
366	tristate
367	select SND_SOC_ADAU1977
368	select REGMAP_SPI
369
370config SND_SOC_ADAU1977_I2C
371	tristate
372	select SND_SOC_ADAU1977
373	select REGMAP_I2C
374
375config SND_SOC_ADAU7002
376	tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
377
378config SND_SOC_ADAV80X
379	tristate
380
381config SND_SOC_ADAV801
382	tristate
383	select SND_SOC_ADAV80X
384
385config SND_SOC_ADAV803
386	tristate
387	select SND_SOC_ADAV80X
388
389config SND_SOC_ADS117X
390	tristate
391
392config SND_SOC_AK4104
393	tristate "AKM AK4104 CODEC"
394	depends on SPI_MASTER
395
396config SND_SOC_AK4118
397	tristate "AKM AK4118 CODEC"
398	depends on I2C
399	select REGMAP_I2C
400
401config SND_SOC_AK4458
402	tristate "AKM AK4458 CODEC"
403	depends on I2C
404	select REGMAP_I2C
405
406config SND_SOC_AK4535
407	tristate
408
409config SND_SOC_AK4554
410	tristate "AKM AK4554 CODEC"
411
412config SND_SOC_AK4613
413	tristate "AKM AK4613 CODEC"
414	depends on I2C
415
416config SND_SOC_AK4641
417	tristate
418
419config SND_SOC_AK4642
420	tristate "AKM AK4642 CODEC"
421	depends on I2C
422
423config SND_SOC_AK4671
424	tristate
425
426config SND_SOC_AK5386
427	tristate "AKM AK5638 CODEC"
428
429config SND_SOC_AK5558
430	tristate "AKM AK5558 CODEC"
431	depends on I2C
432	select REGMAP_I2C
433
434config SND_SOC_ALC5623
435       tristate "Realtek ALC5623 CODEC"
436	depends on I2C
437
438config SND_SOC_ALC5632
439	tristate
440
441config SND_SOC_BD28623
442	tristate "ROHM BD28623 CODEC"
443	help
444	  Enable support for ROHM BD28623MUV Class D speaker amplifier.
445	  This codec does not have any control buses such as I2C, it
446	  detect format of I2S automatically.
447
448config SND_SOC_BT_SCO
449	tristate "Dummy BT SCO codec driver"
450
451config SND_SOC_CPCAP
452	tristate "Motorola CPCAP codec"
453	depends on MFD_CPCAP
454
455config SND_SOC_CQ0093VC
456	tristate
457
458config SND_SOC_CS35L32
459	tristate "Cirrus Logic CS35L32 CODEC"
460	depends on I2C
461
462config SND_SOC_CS35L33
463	tristate "Cirrus Logic CS35L33 CODEC"
464	depends on I2C
465
466config SND_SOC_CS35L34
467	tristate "Cirrus Logic CS35L34 CODEC"
468	depends on I2C
469
470config SND_SOC_CS35L35
471	tristate "Cirrus Logic CS35L35 CODEC"
472	depends on I2C
473
474config SND_SOC_CS42L42
475	tristate "Cirrus Logic CS42L42 CODEC"
476	depends on I2C
477
478config SND_SOC_CS42L51
479	tristate
480
481config SND_SOC_CS42L51_I2C
482	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
483	depends on I2C
484	select SND_SOC_CS42L51
485
486config SND_SOC_CS42L52
487	tristate "Cirrus Logic CS42L52 CODEC"
488	depends on I2C && INPUT
489
490config SND_SOC_CS42L56
491	tristate "Cirrus Logic CS42L56 CODEC"
492	depends on I2C && INPUT
493
494config SND_SOC_CS42L73
495	tristate "Cirrus Logic CS42L73 CODEC"
496	depends on I2C
497
498config SND_SOC_CS4265
499	tristate "Cirrus Logic CS4265 CODEC"
500	depends on I2C
501	select REGMAP_I2C
502
503# Cirrus Logic CS4270 Codec
504config SND_SOC_CS4270
505	tristate "Cirrus Logic CS4270 CODEC"
506	depends on I2C
507
508# Cirrus Logic CS4270 Codec VD = 3.3V Errata
509# Select if you are affected by the errata where the part will not function
510# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
511# not select any sample rates that require MCLK to be divided by 1.5.
512config SND_SOC_CS4270_VD33_ERRATA
513	bool
514	depends on SND_SOC_CS4270
515
516config SND_SOC_CS4271
517	tristate
518
519config SND_SOC_CS4271_I2C
520	tristate "Cirrus Logic CS4271 CODEC (I2C)"
521	depends on I2C
522	select SND_SOC_CS4271
523	select REGMAP_I2C
524
525config SND_SOC_CS4271_SPI
526	tristate "Cirrus Logic CS4271 CODEC (SPI)"
527	depends on SPI_MASTER
528	select SND_SOC_CS4271
529	select REGMAP_SPI
530
531config SND_SOC_CS42XX8
532	tristate
533
534config SND_SOC_CS42XX8_I2C
535	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
536	depends on I2C
537	select SND_SOC_CS42XX8
538	select REGMAP_I2C
539
540# Cirrus Logic CS43130 HiFi DAC
541config SND_SOC_CS43130
542        tristate "Cirrus Logic CS43130 CODEC"
543        depends on I2C
544
545# Cirrus Logic CS4349 HiFi DAC
546config SND_SOC_CS4349
547	tristate "Cirrus Logic CS4349 CODEC"
548	depends on I2C
549
550config SND_SOC_CS47L24
551	tristate
552
553# Cirrus Logic Quad-Channel ADC
554config SND_SOC_CS53L30
555	tristate "Cirrus Logic CS53L30 CODEC"
556	depends on I2C
557
558config SND_SOC_CX20442
559	tristate
560	depends on TTY
561
562config SND_SOC_JZ4740_CODEC
563	select REGMAP_MMIO
564	tristate
565
566config SND_SOC_L3
567       tristate
568
569config SND_SOC_DA7210
570        tristate
571
572config SND_SOC_DA7213
573        tristate
574
575config SND_SOC_DA7218
576	tristate
577
578config SND_SOC_DA7219
579        tristate
580
581config SND_SOC_DA732X
582        tristate
583
584config SND_SOC_DA9055
585	tristate
586
587config SND_SOC_DMIC
588	tristate "Generic Digital Microphone CODEC"
589	depends on GPIOLIB
590	help
591	  Enable support for the Generic Digital Microphone CODEC.
592	  Select this if your sound card has DMICs.
593
594config SND_SOC_HDMI_CODEC
595	tristate
596	select SND_PCM_ELD
597	select SND_PCM_IEC958
598	select HDMI
599
600config SND_SOC_ES7134
601       tristate "Everest Semi ES7134 CODEC"
602
603config SND_SOC_ES7241
604       tristate "Everest Semi ES7241 CODEC"
605
606config SND_SOC_ES8316
607	tristate "Everest Semi ES8316 CODEC"
608	depends on I2C
609
610config SND_SOC_ES8328
611	tristate
612
613config SND_SOC_ES8328_I2C
614	tristate "Everest Semi ES8328 CODEC (I2C)"
615	depends on I2C
616	select SND_SOC_ES8328
617
618config SND_SOC_ES8328_SPI
619	tristate "Everest Semi ES8328 CODEC (SPI)"
620	depends on SPI_MASTER
621	select SND_SOC_ES8328
622
623config SND_SOC_GTM601
624	tristate 'GTM601 UMTS modem audio codec'
625
626config SND_SOC_HDAC_HDMI
627	tristate
628	select SND_HDA_EXT_CORE
629	select SND_PCM_ELD
630	select HDMI
631
632config SND_SOC_HDAC_HDA
633	tristate
634	select SND_HDA
635
636config SND_SOC_ICS43432
637	tristate
638
639config SND_SOC_INNO_RK3036
640	tristate "Inno codec driver for RK3036 SoC"
641	select REGMAP_MMIO
642
643config SND_SOC_ISABELLE
644        tristate
645
646config SND_SOC_LM49453
647	tristate
648
649config SND_SOC_MAX98088
650	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
651	depends on I2C
652
653config SND_SOC_MAX98090
654       tristate
655
656config SND_SOC_MAX98095
657       tristate
658
659config SND_SOC_MAX98357A
660       tristate
661
662config SND_SOC_MAX98371
663       tristate
664
665config SND_SOC_MAX98504
666	tristate "Maxim MAX98504 speaker amplifier"
667	depends on I2C
668
669config SND_SOC_MAX9867
670	tristate "Maxim MAX9867 CODEC"
671	depends on I2C
672
673config SND_SOC_MAX98925
674       tristate
675
676config SND_SOC_MAX98926
677	tristate
678
679config SND_SOC_MAX98927
680	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
681	depends on I2C
682
683config SND_SOC_MAX98373
684	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
685	depends on I2C
686
687config SND_SOC_MAX9850
688	tristate
689
690config SND_SOC_MAX9860
691	tristate "Maxim MAX9860 Mono Audio Voice Codec"
692	depends on I2C
693	select REGMAP_I2C
694
695config SND_SOC_MSM8916_WCD_ANALOG
696	tristate "Qualcomm MSM8916 WCD Analog Codec"
697	depends on SPMI || COMPILE_TEST
698
699config SND_SOC_MSM8916_WCD_DIGITAL
700	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
701
702config SND_SOC_PCM1681
703	tristate "Texas Instruments PCM1681 CODEC"
704	depends on I2C
705
706config SND_SOC_PCM1789
707	tristate
708
709config SND_SOC_PCM1789_I2C
710	tristate "Texas Instruments PCM1789 CODEC (I2C)"
711	depends on I2C
712	select SND_SOC_PCM1789
713	help
714	  Enable support for Texas Instruments PCM1789 CODEC.
715	  Select this if your PCM1789 is connected via an I2C bus.
716
717config SND_SOC_PCM179X
718	tristate
719
720config SND_SOC_PCM179X_I2C
721	tristate "Texas Instruments PCM179X CODEC (I2C)"
722	depends on I2C
723	select SND_SOC_PCM179X
724	help
725	  Enable support for Texas Instruments PCM179x CODEC.
726	  Select this if your PCM179x is connected via an I2C bus.
727
728config SND_SOC_PCM179X_SPI
729	tristate "Texas Instruments PCM179X CODEC (SPI)"
730	depends on SPI_MASTER
731	select SND_SOC_PCM179X
732	help
733	  Enable support for Texas Instruments PCM179x CODEC.
734	  Select this if your PCM179x is connected via an SPI bus.
735
736config SND_SOC_PCM186X
737	tristate
738
739config SND_SOC_PCM186X_I2C
740	tristate "Texas Instruments PCM186x CODECs - I2C"
741	depends on I2C
742	select SND_SOC_PCM186X
743	select REGMAP_I2C
744
745config SND_SOC_PCM186X_SPI
746	tristate "Texas Instruments PCM186x CODECs - SPI"
747	depends on SPI_MASTER
748	select SND_SOC_PCM186X
749	select REGMAP_SPI
750
751config SND_SOC_PCM3008
752       tristate
753
754config SND_SOC_PCM3060
755       tristate
756
757config SND_SOC_PCM3060_I2C
758	tristate "Texas Instruments PCM3060 CODEC - I2C"
759	depends on I2C
760	select SND_SOC_PCM3060
761	select REGMAP_I2C
762
763config SND_SOC_PCM3060_SPI
764	tristate "Texas Instruments PCM3060 CODEC - SPI"
765	depends on SPI_MASTER
766	select SND_SOC_PCM3060
767	select REGMAP_SPI
768
769config SND_SOC_PCM3168A
770	tristate
771
772config SND_SOC_PCM3168A_I2C
773	tristate "Texas Instruments PCM3168A CODEC - I2C"
774	depends on I2C
775	select SND_SOC_PCM3168A
776	select REGMAP_I2C
777
778config SND_SOC_PCM3168A_SPI
779	tristate "Texas Instruments PCM3168A CODEC - SPI"
780	depends on SPI_MASTER
781	select SND_SOC_PCM3168A
782	select REGMAP_SPI
783
784config SND_SOC_PCM5102A
785	tristate
786
787config SND_SOC_PCM512x
788	tristate
789
790config SND_SOC_PCM512x_I2C
791	tristate "Texas Instruments PCM512x CODECs - I2C"
792	depends on I2C
793	select SND_SOC_PCM512x
794	select REGMAP_I2C
795
796config SND_SOC_PCM512x_SPI
797	tristate "Texas Instruments PCM512x CODECs - SPI"
798	depends on SPI_MASTER
799	select SND_SOC_PCM512x
800	select REGMAP_SPI
801
802config SND_SOC_RL6231
803	tristate
804	default y if SND_SOC_RT5514=y
805	default y if SND_SOC_RT5616=y
806	default y if SND_SOC_RT5640=y
807	default y if SND_SOC_RT5645=y
808	default y if SND_SOC_RT5651=y
809	default y if SND_SOC_RT5659=y
810	default y if SND_SOC_RT5660=y
811	default y if SND_SOC_RT5663=y
812	default y if SND_SOC_RT5665=y
813	default y if SND_SOC_RT5668=y
814	default y if SND_SOC_RT5670=y
815	default y if SND_SOC_RT5677=y
816	default y if SND_SOC_RT5682=y
817	default y if SND_SOC_RT1305=y
818	default m if SND_SOC_RT5514=m
819	default m if SND_SOC_RT5616=m
820	default m if SND_SOC_RT5640=m
821	default m if SND_SOC_RT5645=m
822	default m if SND_SOC_RT5651=m
823	default m if SND_SOC_RT5659=m
824	default m if SND_SOC_RT5660=m
825	default m if SND_SOC_RT5663=m
826	default m if SND_SOC_RT5665=m
827	default m if SND_SOC_RT5668=m
828	default m if SND_SOC_RT5670=m
829	default m if SND_SOC_RT5677=m
830	default m if SND_SOC_RT5682=m
831	default m if SND_SOC_RT1305=m
832
833config SND_SOC_RL6347A
834	tristate
835	default y if SND_SOC_RT274=y
836	default y if SND_SOC_RT286=y
837	default y if SND_SOC_RT298=y
838	default m if SND_SOC_RT274=m
839	default m if SND_SOC_RT286=m
840	default m if SND_SOC_RT298=m
841
842config SND_SOC_RT274
843	tristate
844	depends on I2C
845
846config SND_SOC_RT286
847	tristate
848	depends on I2C
849
850config SND_SOC_RT298
851	tristate
852	depends on I2C
853
854config SND_SOC_RT1305
855	tristate
856
857config SND_SOC_RT5514
858	tristate
859
860config SND_SOC_RT5514_SPI
861	tristate
862
863config SND_SOC_RT5514_SPI_BUILTIN
864	bool # force RT5514_SPI to be built-in to avoid link errors
865	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
866
867config SND_SOC_RT5616
868	tristate "Realtek RT5616 CODEC"
869	depends on I2C
870
871config SND_SOC_RT5631
872	tristate "Realtek ALC5631/RT5631 CODEC"
873	depends on I2C
874
875config SND_SOC_RT5640
876	tristate
877
878config SND_SOC_RT5645
879        tristate
880
881config SND_SOC_RT5651
882	tristate
883
884config SND_SOC_RT5659
885	tristate
886
887config SND_SOC_RT5660
888	tristate
889
890config SND_SOC_RT5663
891	tristate
892
893config SND_SOC_RT5665
894	tristate
895
896config SND_SOC_RT5668
897	tristate
898
899config SND_SOC_RT5670
900	tristate
901
902config SND_SOC_RT5677
903	tristate
904	select REGMAP_I2C
905	select REGMAP_IRQ
906
907config SND_SOC_RT5677_SPI
908	tristate
909	default SND_SOC_RT5677 && SPI
910
911config SND_SOC_RT5682
912	tristate
913
914#Freescale sgtl5000 codec
915config SND_SOC_SGTL5000
916	tristate "Freescale SGTL5000 CODEC"
917	depends on I2C
918
919config SND_SOC_SI476X
920	tristate
921
922config SND_SOC_SIGMADSP
923	tristate
924	select CRC32
925
926config SND_SOC_SIGMADSP_I2C
927	tristate
928	select SND_SOC_SIGMADSP
929
930config SND_SOC_SIGMADSP_REGMAP
931	tristate
932	select SND_SOC_SIGMADSP
933
934config SND_SOC_SIMPLE_AMPLIFIER
935	tristate "Simple Audio Amplifier"
936	select GPIOLIB
937
938config SND_SOC_SIRF_AUDIO_CODEC
939	tristate "SiRF SoC internal audio codec"
940	select REGMAP_MMIO
941
942config SND_SOC_SPDIF
943	tristate "S/PDIF CODEC"
944
945config SND_SOC_SSM2305
946	tristate "Analog Devices SSM2305 Class-D Amplifier"
947	help
948	  Enable support for Analog Devices SSM2305 filterless
949	  high-efficiency mono Class-D audio power amplifiers.
950
951config SND_SOC_SSM2518
952	tristate
953
954config SND_SOC_SSM2602
955	tristate
956
957config SND_SOC_SSM2602_SPI
958	tristate "Analog Devices SSM2602 CODEC - SPI"
959	depends on SPI_MASTER
960	select SND_SOC_SSM2602
961	select REGMAP_SPI
962
963config SND_SOC_SSM2602_I2C
964	tristate "Analog Devices SSM2602 CODEC - I2C"
965	depends on I2C
966	select SND_SOC_SSM2602
967	select REGMAP_I2C
968
969config SND_SOC_SSM4567
970	tristate "Analog Devices ssm4567 amplifier driver support"
971	depends on I2C
972
973config SND_SOC_STA32X
974	tristate "STA326, STA328 and STA329 speaker amplifier"
975	depends on I2C
976	select REGMAP_I2C
977
978config SND_SOC_STA350
979	tristate "STA350 speaker amplifier"
980	depends on I2C
981
982config SND_SOC_STA529
983	tristate
984
985config SND_SOC_STAC9766
986	tristate
987
988config SND_SOC_STI_SAS
989	tristate "codec Audio support for STI SAS codec"
990
991config SND_SOC_TAS2552
992	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
993	depends on I2C
994
995config SND_SOC_TAS5086
996	tristate "Texas Instruments TAS5086 speaker amplifier"
997	depends on I2C
998
999config SND_SOC_TAS571X
1000	tristate "Texas Instruments TAS571x power amplifiers"
1001	depends on I2C
1002	help
1003	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1004	  TAS5719 and TAS5721 power amplifiers
1005
1006config SND_SOC_TAS5720
1007	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1008	depends on I2C
1009	help
1010	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1011	  Class-D audio power amplifiers.
1012
1013config SND_SOC_TAS6424
1014	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1015	depends on I2C
1016	help
1017	  Enable support for Texas Instruments TAS6424 high-efficiency
1018	  digital input quad-channel Class-D audio power amplifiers.
1019
1020config SND_SOC_TDA7419
1021	tristate "ST TDA7419 audio processor"
1022	depends on I2C
1023	select REGMAP_I2C
1024
1025config SND_SOC_TFA9879
1026	tristate "NXP Semiconductors TFA9879 amplifier"
1027	depends on I2C
1028
1029config SND_SOC_TLV320AIC23
1030	tristate
1031
1032config SND_SOC_TLV320AIC23_I2C
1033	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1034	depends on I2C
1035	select SND_SOC_TLV320AIC23
1036
1037config SND_SOC_TLV320AIC23_SPI
1038	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1039	depends on SPI_MASTER
1040	select SND_SOC_TLV320AIC23
1041
1042config SND_SOC_TLV320AIC26
1043	tristate
1044	depends on SPI
1045
1046config SND_SOC_TLV320AIC31XX
1047	tristate "Texas Instruments TLV320AIC31xx CODECs"
1048	depends on I2C
1049	select REGMAP_I2C
1050
1051config SND_SOC_TLV320AIC32X4
1052	tristate
1053
1054config SND_SOC_TLV320AIC32X4_I2C
1055	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1056	depends on I2C
1057	select SND_SOC_TLV320AIC32X4
1058
1059config SND_SOC_TLV320AIC32X4_SPI
1060	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1061	depends on SPI_MASTER
1062	select SND_SOC_TLV320AIC32X4
1063
1064config SND_SOC_TLV320AIC3X
1065	tristate "Texas Instruments TLV320AIC3x CODECs"
1066	depends on I2C
1067
1068config SND_SOC_TLV320DAC33
1069	tristate
1070
1071config SND_SOC_TS3A227E
1072	tristate "TI Headset/Mic detect and keypress chip"
1073	depends on I2C
1074
1075config SND_SOC_TSCS42XX
1076	tristate "Tempo Semiconductor TSCS42xx CODEC"
1077	depends on I2C
1078	select REGMAP_I2C
1079	help
1080	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1081
1082config SND_SOC_TSCS454
1083	tristate "Tempo Semiconductor TSCS454 CODEC"
1084	depends on I2C
1085	select REGMAP_I2C
1086	help
1087	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1088
1089config SND_SOC_TWL4030
1090	select MFD_TWL4030_AUDIO
1091	tristate
1092
1093config SND_SOC_TWL6040
1094	tristate
1095
1096config SND_SOC_UDA134X
1097       tristate
1098
1099config SND_SOC_UDA1380
1100        tristate
1101	depends on I2C
1102
1103config SND_SOC_WL1273
1104	tristate
1105
1106config SND_SOC_WM0010
1107	tristate
1108
1109config SND_SOC_WM1250_EV1
1110	tristate
1111
1112config SND_SOC_WM2000
1113	tristate
1114
1115config SND_SOC_WM2200
1116	tristate
1117
1118config SND_SOC_WM5100
1119	tristate
1120
1121config SND_SOC_WM5102
1122	tristate
1123
1124config SND_SOC_WM5110
1125	tristate
1126
1127config SND_SOC_WM8350
1128	tristate
1129
1130config SND_SOC_WM8400
1131	tristate
1132
1133config SND_SOC_WM8510
1134	tristate "Wolfson Microelectronics WM8510 CODEC"
1135	depends on SND_SOC_I2C_AND_SPI
1136
1137config SND_SOC_WM8523
1138	tristate "Wolfson Microelectronics WM8523 DAC"
1139	depends on I2C
1140
1141config SND_SOC_WM8524
1142	tristate "Wolfson Microelectronics WM8524 DAC"
1143	depends on GPIOLIB
1144
1145config SND_SOC_WM8580
1146	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1147	depends on I2C
1148
1149config SND_SOC_WM8711
1150	tristate "Wolfson Microelectronics WM8711 CODEC"
1151	depends on SND_SOC_I2C_AND_SPI
1152
1153config SND_SOC_WM8727
1154	tristate
1155
1156config SND_SOC_WM8728
1157	tristate "Wolfson Microelectronics WM8728 DAC"
1158	depends on SND_SOC_I2C_AND_SPI
1159
1160config SND_SOC_WM8731
1161	tristate "Wolfson Microelectronics WM8731 CODEC"
1162	depends on SND_SOC_I2C_AND_SPI
1163
1164config SND_SOC_WM8737
1165	tristate "Wolfson Microelectronics WM8737 ADC"
1166	depends on SND_SOC_I2C_AND_SPI
1167
1168config SND_SOC_WM8741
1169	tristate "Wolfson Microelectronics WM8737 DAC"
1170	depends on SND_SOC_I2C_AND_SPI
1171
1172config SND_SOC_WM8750
1173	tristate "Wolfson Microelectronics WM8750 CODEC"
1174	depends on SND_SOC_I2C_AND_SPI
1175
1176config SND_SOC_WM8753
1177	tristate "Wolfson Microelectronics WM8753 CODEC"
1178	depends on SND_SOC_I2C_AND_SPI
1179
1180config SND_SOC_WM8770
1181	tristate "Wolfson Microelectronics WM8770 CODEC"
1182	depends on SPI_MASTER
1183
1184config SND_SOC_WM8776
1185	tristate "Wolfson Microelectronics WM8776 CODEC"
1186	depends on SND_SOC_I2C_AND_SPI
1187
1188config SND_SOC_WM8782
1189	tristate "Wolfson Microelectronics WM8782 ADC"
1190
1191config SND_SOC_WM8804
1192	tristate
1193
1194config SND_SOC_WM8804_I2C
1195	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1196	depends on I2C
1197	select SND_SOC_WM8804
1198	select REGMAP_I2C
1199
1200config SND_SOC_WM8804_SPI
1201	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1202	depends on SPI_MASTER
1203	select SND_SOC_WM8804
1204	select REGMAP_SPI
1205
1206config SND_SOC_WM8900
1207	tristate
1208
1209config SND_SOC_WM8903
1210	tristate "Wolfson Microelectronics WM8903 CODEC"
1211	depends on I2C
1212
1213config SND_SOC_WM8904
1214	tristate
1215
1216config SND_SOC_WM8940
1217        tristate
1218
1219config SND_SOC_WM8955
1220	tristate
1221
1222config SND_SOC_WM8960
1223	tristate "Wolfson Microelectronics WM8960 CODEC"
1224	depends on I2C
1225
1226config SND_SOC_WM8961
1227	tristate
1228
1229config SND_SOC_WM8962
1230	tristate "Wolfson Microelectronics WM8962 CODEC"
1231	depends on I2C && INPUT
1232
1233config SND_SOC_WM8971
1234	tristate
1235
1236config SND_SOC_WM8974
1237	tristate "Wolfson Microelectronics WM8974 codec"
1238	depends on I2C
1239
1240config SND_SOC_WM8978
1241	tristate "Wolfson Microelectronics WM8978 codec"
1242	depends on I2C
1243
1244config SND_SOC_WM8983
1245	tristate
1246
1247config SND_SOC_WM8985
1248	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1249	depends on SND_SOC_I2C_AND_SPI
1250
1251config SND_SOC_WM8988
1252	tristate
1253
1254config SND_SOC_WM8990
1255	tristate
1256
1257config SND_SOC_WM8991
1258	tristate
1259
1260config SND_SOC_WM8993
1261	tristate
1262
1263config SND_SOC_WM8994
1264	tristate
1265
1266config SND_SOC_WM8995
1267	tristate
1268
1269config SND_SOC_WM8996
1270	tristate
1271
1272config SND_SOC_WM8997
1273	tristate
1274
1275config SND_SOC_WM8998
1276	tristate
1277
1278config SND_SOC_WM9081
1279	tristate
1280	depends on I2C
1281
1282config SND_SOC_WM9090
1283	tristate
1284
1285config SND_SOC_WM9705
1286	tristate
1287	select REGMAP_AC97
1288	select AC97_BUS_COMPAT if AC97_BUS_NEW
1289
1290config SND_SOC_WM9712
1291	tristate
1292	select REGMAP_AC97
1293	select AC97_BUS_COMPAT if AC97_BUS_NEW
1294
1295config SND_SOC_WM9713
1296	tristate
1297	select REGMAP_AC97
1298	select AC97_BUS_COMPAT if AC97_BUS_NEW
1299
1300config SND_SOC_ZX_AUD96P22
1301	tristate "ZTE ZX AUD96P22 CODEC"
1302	depends on I2C
1303	select REGMAP_I2C
1304
1305# Amp
1306config SND_SOC_LM4857
1307	tristate
1308
1309config SND_SOC_MAX9759
1310	tristate "Maxim MAX9759 speaker Amplifier"
1311	select GPIOLIB
1312
1313config SND_SOC_MAX9768
1314	tristate
1315
1316config SND_SOC_MAX9877
1317	tristate
1318
1319config SND_SOC_MC13783
1320	tristate
1321
1322config SND_SOC_ML26124
1323	tristate
1324
1325config SND_SOC_MT6351
1326	tristate "MediaTek MT6351 Codec"
1327
1328config SND_SOC_NAU8540
1329       tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1330       depends on I2C
1331
1332config SND_SOC_NAU8810
1333	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1334	depends on I2C
1335
1336config SND_SOC_NAU8822
1337	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
1338	depends on I2C
1339
1340config SND_SOC_NAU8824
1341	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1342	depends on I2C
1343
1344config SND_SOC_NAU8825
1345	tristate
1346
1347config SND_SOC_TPA6130A2
1348	tristate "Texas Instruments TPA6130A2 headphone amplifier"
1349	depends on I2C
1350
1351endmenu
1352