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