xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision 68198dca)
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 || SND_SOC_AC97_BUS_NEW)
218	select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
219	select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
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_RT5514_SPI_BUILTIN
753	bool # force RT5514_SPI to be built-in to avoid link errors
754	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
755
756config SND_SOC_RT5616
757	tristate "Realtek RT5616 CODEC"
758	depends on I2C
759
760config SND_SOC_RT5631
761	tristate "Realtek ALC5631/RT5631 CODEC"
762	depends on I2C
763
764config SND_SOC_RT5640
765	tristate
766
767config SND_SOC_RT5645
768        tristate
769
770config SND_SOC_RT5651
771	tristate
772
773config SND_SOC_RT5659
774	tristate
775
776config SND_SOC_RT5660
777	tristate
778
779config SND_SOC_RT5663
780	tristate
781
782config SND_SOC_RT5665
783	tristate
784
785config SND_SOC_RT5670
786	tristate
787
788config SND_SOC_RT5677
789	tristate
790	select REGMAP_I2C
791	select REGMAP_IRQ
792
793config SND_SOC_RT5677_SPI
794	tristate
795	default SND_SOC_RT5677 && SPI
796
797#Freescale sgtl5000 codec
798config SND_SOC_SGTL5000
799	tristate "Freescale SGTL5000 CODEC"
800	depends on I2C
801
802config SND_SOC_SI476X
803	tristate
804
805config SND_SOC_SIGMADSP
806	tristate
807	select CRC32
808
809config SND_SOC_SIGMADSP_I2C
810	tristate
811	select SND_SOC_SIGMADSP
812
813config SND_SOC_SIGMADSP_REGMAP
814	tristate
815	select SND_SOC_SIGMADSP
816
817config SND_SOC_SIRF_AUDIO_CODEC
818	tristate "SiRF SoC internal audio codec"
819	select REGMAP_MMIO
820
821config SND_SOC_SN95031
822	tristate
823
824config SND_SOC_SPDIF
825	tristate "S/PDIF CODEC"
826
827config SND_SOC_SSM2518
828	tristate
829
830config SND_SOC_SSM2602
831	tristate
832
833config SND_SOC_SSM2602_SPI
834	tristate "Analog Devices SSM2602 CODEC - SPI"
835	depends on SPI_MASTER
836	select SND_SOC_SSM2602
837	select REGMAP_SPI
838
839config SND_SOC_SSM2602_I2C
840	tristate "Analog Devices SSM2602 CODEC - I2C"
841	depends on I2C
842	select SND_SOC_SSM2602
843	select REGMAP_I2C
844
845config SND_SOC_SSM4567
846	tristate "Analog Devices ssm4567 amplifier driver support"
847	depends on I2C
848
849config SND_SOC_STA32X
850	tristate "STA326, STA328 and STA329 speaker amplifier"
851	depends on I2C
852	select REGMAP_I2C
853
854config SND_SOC_STA350
855	tristate "STA350 speaker amplifier"
856	depends on I2C
857
858config SND_SOC_STA529
859	tristate
860
861config SND_SOC_STAC9766
862	tristate
863
864config SND_SOC_STI_SAS
865	tristate "codec Audio support for STI SAS codec"
866
867config SND_SOC_TAS2552
868	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
869	depends on I2C
870
871config SND_SOC_TAS5086
872	tristate "Texas Instruments TAS5086 speaker amplifier"
873	depends on I2C
874
875config SND_SOC_TAS571X
876	tristate "Texas Instruments TAS5711/TAS5717/TAS5719/TAS5721 power amplifiers"
877	depends on I2C
878
879config SND_SOC_TAS5720
880	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
881	depends on I2C
882	help
883	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
884	  Class-D audio power amplifiers.
885
886config SND_SOC_TFA9879
887	tristate "NXP Semiconductors TFA9879 amplifier"
888	depends on I2C
889
890config SND_SOC_TLV320AIC23
891	tristate
892
893config SND_SOC_TLV320AIC23_I2C
894	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
895	depends on I2C
896	select SND_SOC_TLV320AIC23
897
898config SND_SOC_TLV320AIC23_SPI
899	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
900	depends on SPI_MASTER
901	select SND_SOC_TLV320AIC23
902
903config SND_SOC_TLV320AIC26
904	tristate
905	depends on SPI
906
907config SND_SOC_TLV320AIC31XX
908	tristate "Texas Instruments TLV320AIC31xx CODECs"
909	depends on I2C
910	select REGMAP_I2C
911
912config SND_SOC_TLV320AIC32X4
913	tristate
914
915config SND_SOC_TLV320AIC32X4_I2C
916	tristate
917	depends on I2C
918	select SND_SOC_TLV320AIC32X4
919
920config SND_SOC_TLV320AIC32X4_SPI
921	tristate
922	depends on SPI_MASTER
923	select SND_SOC_TLV320AIC32X4
924
925config SND_SOC_TLV320AIC3X
926	tristate "Texas Instruments TLV320AIC3x CODECs"
927	depends on I2C
928
929config SND_SOC_TLV320DAC33
930	tristate
931
932config SND_SOC_TS3A227E
933	tristate "TI Headset/Mic detect and keypress chip"
934	depends on I2C
935
936config SND_SOC_TWL4030
937	select MFD_TWL4030_AUDIO
938	tristate
939
940config SND_SOC_TWL6040
941	tristate
942
943config SND_SOC_UDA134X
944       tristate
945
946config SND_SOC_UDA1380
947        tristate
948	depends on I2C
949
950config SND_SOC_WL1273
951	tristate
952
953config SND_SOC_WM0010
954	tristate
955
956config SND_SOC_WM1250_EV1
957	tristate
958
959config SND_SOC_WM2000
960	tristate
961
962config SND_SOC_WM2200
963	tristate
964
965config SND_SOC_WM5100
966	tristate
967
968config SND_SOC_WM5102
969	tristate
970
971config SND_SOC_WM5110
972	tristate
973
974config SND_SOC_WM8350
975	tristate
976
977config SND_SOC_WM8400
978	tristate
979
980config SND_SOC_WM8510
981	tristate "Wolfson Microelectronics WM8510 CODEC"
982	depends on SND_SOC_I2C_AND_SPI
983
984config SND_SOC_WM8523
985	tristate "Wolfson Microelectronics WM8523 DAC"
986	depends on I2C
987
988config SND_SOC_WM8524
989	tristate "Wolfson Microelectronics WM8524 DAC"
990	depends on GPIOLIB
991
992config SND_SOC_WM8580
993	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
994	depends on I2C
995
996config SND_SOC_WM8711
997	tristate "Wolfson Microelectronics WM8711 CODEC"
998	depends on SND_SOC_I2C_AND_SPI
999
1000config SND_SOC_WM8727
1001	tristate
1002
1003config SND_SOC_WM8728
1004	tristate "Wolfson Microelectronics WM8728 DAC"
1005	depends on SND_SOC_I2C_AND_SPI
1006
1007config SND_SOC_WM8731
1008	tristate "Wolfson Microelectronics WM8731 CODEC"
1009	depends on SND_SOC_I2C_AND_SPI
1010
1011config SND_SOC_WM8737
1012	tristate "Wolfson Microelectronics WM8737 ADC"
1013	depends on SND_SOC_I2C_AND_SPI
1014
1015config SND_SOC_WM8741
1016	tristate "Wolfson Microelectronics WM8737 DAC"
1017	depends on SND_SOC_I2C_AND_SPI
1018
1019config SND_SOC_WM8750
1020	tristate "Wolfson Microelectronics WM8750 CODEC"
1021	depends on SND_SOC_I2C_AND_SPI
1022
1023config SND_SOC_WM8753
1024	tristate "Wolfson Microelectronics WM8753 CODEC"
1025	depends on SND_SOC_I2C_AND_SPI
1026
1027config SND_SOC_WM8770
1028	tristate "Wolfson Microelectronics WM8770 CODEC"
1029	depends on SPI_MASTER
1030
1031config SND_SOC_WM8776
1032	tristate "Wolfson Microelectronics WM8776 CODEC"
1033	depends on SND_SOC_I2C_AND_SPI
1034
1035config SND_SOC_WM8782
1036	tristate
1037
1038config SND_SOC_WM8804
1039	tristate
1040
1041config SND_SOC_WM8804_I2C
1042	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1043	depends on I2C
1044	select SND_SOC_WM8804
1045	select REGMAP_I2C
1046
1047config SND_SOC_WM8804_SPI
1048	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1049	depends on SPI_MASTER
1050	select SND_SOC_WM8804
1051	select REGMAP_SPI
1052
1053config SND_SOC_WM8900
1054	tristate
1055
1056config SND_SOC_WM8903
1057	tristate "Wolfson Microelectronics WM8903 CODEC"
1058	depends on I2C
1059
1060config SND_SOC_WM8904
1061	tristate
1062
1063config SND_SOC_WM8940
1064        tristate
1065
1066config SND_SOC_WM8955
1067	tristate
1068
1069config SND_SOC_WM8960
1070	tristate "Wolfson Microelectronics WM8960 CODEC"
1071	depends on I2C
1072
1073config SND_SOC_WM8961
1074	tristate
1075
1076config SND_SOC_WM8962
1077	tristate "Wolfson Microelectronics WM8962 CODEC"
1078	depends on I2C && INPUT
1079
1080config SND_SOC_WM8971
1081	tristate
1082
1083config SND_SOC_WM8974
1084	tristate "Wolfson Microelectronics WM8974 codec"
1085	depends on I2C
1086
1087config SND_SOC_WM8978
1088	tristate "Wolfson Microelectronics WM8978 codec"
1089	depends on I2C
1090
1091config SND_SOC_WM8983
1092	tristate
1093
1094config SND_SOC_WM8985
1095	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1096	depends on SND_SOC_I2C_AND_SPI
1097
1098config SND_SOC_WM8988
1099	tristate
1100
1101config SND_SOC_WM8990
1102	tristate
1103
1104config SND_SOC_WM8991
1105	tristate
1106
1107config SND_SOC_WM8993
1108	tristate
1109
1110config SND_SOC_WM8994
1111	tristate
1112
1113config SND_SOC_WM8995
1114	tristate
1115
1116config SND_SOC_WM8996
1117	tristate
1118
1119config SND_SOC_WM8997
1120	tristate
1121
1122config SND_SOC_WM8998
1123	tristate
1124
1125config SND_SOC_WM9081
1126	tristate
1127	depends on I2C
1128
1129config SND_SOC_WM9090
1130	tristate
1131
1132config SND_SOC_WM9705
1133	tristate
1134	select REGMAP_AC97
1135	select AC97_BUS_COMPAT if AC97_BUS_NEW
1136
1137config SND_SOC_WM9712
1138	tristate
1139	select REGMAP_AC97
1140	select AC97_BUS_COMPAT if AC97_BUS_NEW
1141
1142config SND_SOC_WM9713
1143	tristate
1144	select REGMAP_AC97
1145	select AC97_BUS_COMPAT if AC97_BUS_NEW
1146
1147config SND_SOC_ZX_AUD96P22
1148	tristate "ZTE ZX AUD96P22 CODEC"
1149	depends on I2C
1150	select REGMAP_I2C
1151
1152# Amp
1153config SND_SOC_LM4857
1154	tristate
1155
1156config SND_SOC_MAX9768
1157	tristate
1158
1159config SND_SOC_MAX9877
1160	tristate
1161
1162config SND_SOC_MC13783
1163	tristate
1164
1165config SND_SOC_ML26124
1166	tristate
1167
1168config SND_SOC_NAU8540
1169       tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1170       depends on I2C
1171
1172config SND_SOC_NAU8810
1173	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
1174	depends on I2C
1175
1176config SND_SOC_NAU8824
1177	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
1178	depends on I2C
1179
1180config SND_SOC_NAU8825
1181	tristate
1182
1183config SND_SOC_TPA6130A2
1184	tristate "Texas Instruments TPA6130A2 headphone amplifier"
1185	depends on I2C
1186
1187endmenu
1188