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