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