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