xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision 0d456bad)
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
11config SND_SOC_ALL_CODECS
12	tristate "Build all ASoC CODEC drivers"
13	select SND_SOC_88PM860X if MFD_88PM860X
14	select SND_SOC_L3
15	select SND_SOC_AB8500_CODEC if ABX500_CORE
16	select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
17	select SND_SOC_AD1836 if SPI_MASTER
18	select SND_SOC_AD193X if SND_SOC_I2C_AND_SPI
19	select SND_SOC_AD1980 if SND_SOC_AC97_BUS
20	select SND_SOC_AD73311
21	select SND_SOC_ADAU1373 if I2C
22	select SND_SOC_ADAV80X
23	select SND_SOC_ADS117X
24	select SND_SOC_AK4104 if SPI_MASTER
25	select SND_SOC_AK4535 if I2C
26	select SND_SOC_AK4641 if I2C
27	select SND_SOC_AK4642 if I2C
28	select SND_SOC_AK4671 if I2C
29	select SND_SOC_ALC5623 if I2C
30	select SND_SOC_ALC5632 if I2C
31	select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
32	select SND_SOC_CS42L51 if I2C
33	select SND_SOC_CS42L52 if I2C
34	select SND_SOC_CS42L73 if I2C
35	select SND_SOC_CS4270 if I2C
36	select SND_SOC_CS4271 if SND_SOC_I2C_AND_SPI
37	select SND_SOC_CX20442
38	select SND_SOC_DA7210 if I2C
39	select SND_SOC_DA732X if I2C
40	select SND_SOC_DA9055 if I2C
41	select SND_SOC_DFBMCS320
42	select SND_SOC_ISABELLE if I2C
43	select SND_SOC_JZ4740_CODEC
44	select SND_SOC_LM4857 if I2C
45	select SND_SOC_LM49453 if I2C
46	select SND_SOC_MAX98088 if I2C
47	select SND_SOC_MAX98090 if I2C
48	select SND_SOC_MAX98095 if I2C
49	select SND_SOC_MAX9850 if I2C
50	select SND_SOC_MAX9768 if I2C
51	select SND_SOC_MAX9877 if I2C
52	select SND_SOC_MC13783 if MFD_MC13XXX
53	select SND_SOC_ML26124 if I2C
54	select SND_SOC_OMAP_HDMI_CODEC if OMAP4_DSS_HDMI
55	select SND_SOC_PCM3008
56	select SND_SOC_RT5631 if I2C
57	select SND_SOC_SGTL5000 if I2C
58	select SND_SOC_SI476X if MFD_SI476X_CORE
59	select SND_SOC_SN95031 if INTEL_SCU_IPC
60	select SND_SOC_SPDIF
61	select SND_SOC_SSM2602 if SND_SOC_I2C_AND_SPI
62	select SND_SOC_STA32X if I2C
63	select SND_SOC_STA529 if I2C
64	select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
65	select SND_SOC_TLV320AIC23 if I2C
66	select SND_SOC_TLV320AIC26 if SPI_MASTER
67	select SND_SOC_TLV320AIC32X4 if I2C
68	select SND_SOC_TLV320AIC3X if I2C
69	select SND_SOC_TPA6130A2 if I2C
70	select SND_SOC_TLV320DAC33 if I2C
71	select SND_SOC_TWL4030 if TWL4030_CORE
72	select SND_SOC_TWL6040 if TWL6040_CORE
73	select SND_SOC_UDA134X
74	select SND_SOC_UDA1380 if I2C
75	select SND_SOC_WL1273 if MFD_WL1273_CORE
76	select SND_SOC_WM0010 if SPI_MASTER
77	select SND_SOC_WM1250_EV1 if I2C
78	select SND_SOC_WM2000 if I2C
79	select SND_SOC_WM2200 if I2C
80	select SND_SOC_WM5100 if I2C
81	select SND_SOC_WM5102 if MFD_WM5102
82	select SND_SOC_WM5110 if MFD_WM5110
83	select SND_SOC_WM8350 if MFD_WM8350
84	select SND_SOC_WM8400 if MFD_WM8400
85	select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
86	select SND_SOC_WM8523 if I2C
87	select SND_SOC_WM8580 if I2C
88	select SND_SOC_WM8711 if SND_SOC_I2C_AND_SPI
89	select SND_SOC_WM8727
90	select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
91	select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
92	select SND_SOC_WM8737 if SND_SOC_I2C_AND_SPI
93	select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
94	select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
95	select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
96	select SND_SOC_WM8770 if SPI_MASTER
97	select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
98	select SND_SOC_WM8782
99	select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
100	select SND_SOC_WM8900 if I2C
101	select SND_SOC_WM8903 if I2C
102	select SND_SOC_WM8904 if I2C
103	select SND_SOC_WM8940 if I2C
104	select SND_SOC_WM8955 if I2C
105	select SND_SOC_WM8960 if I2C
106	select SND_SOC_WM8961 if I2C
107	select SND_SOC_WM8962 if I2C
108	select SND_SOC_WM8971 if I2C
109	select SND_SOC_WM8974 if I2C
110	select SND_SOC_WM8978 if I2C
111	select SND_SOC_WM8983 if SND_SOC_I2C_AND_SPI
112	select SND_SOC_WM8985 if SND_SOC_I2C_AND_SPI
113	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
114	select SND_SOC_WM8990 if I2C
115	select SND_SOC_WM8991 if I2C
116	select SND_SOC_WM8993 if I2C
117	select SND_SOC_WM8994 if MFD_WM8994
118	select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
119	select SND_SOC_WM8996 if I2C
120	select SND_SOC_WM9081 if I2C
121	select SND_SOC_WM9090 if I2C
122	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
123	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
124	select SND_SOC_WM9713 if SND_SOC_AC97_BUS
125        help
126          Normally ASoC codec drivers are only built if a machine driver which
127          uses them is also built since they are only usable with a machine
128          driver.  Selecting this option will allow these drivers to be built
129          without an explicit machine driver for test and development purposes.
130
131	  Support for the bus types used to access the codecs to be built must
132	  be selected separately.
133
134          If unsure select "N".
135
136config SND_SOC_88PM860X
137	tristate
138
139config SND_SOC_ARIZONA
140	tristate
141	default y if SND_SOC_WM5102=y
142	default y if SND_SOC_WM5110=y
143	default m if SND_SOC_WM5102=m
144	default m if SND_SOC_WM5110=m
145
146config SND_SOC_WM_HUBS
147	tristate
148	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
149	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
150
151config SND_SOC_WM_ADSP
152	tristate
153	default y if SND_SOC_WM5102=y
154	default y if SND_SOC_WM2200=y
155	default m if SND_SOC_WM5102=m
156	default m if SND_SOC_WM2200=m
157
158config SND_SOC_AB8500_CODEC
159	tristate
160
161config SND_SOC_AC97_CODEC
162	tristate
163	select SND_AC97_CODEC
164
165config SND_SOC_AD1836
166	tristate
167
168config SND_SOC_AD193X
169	tristate
170
171config SND_SOC_AD1980
172	tristate
173
174config SND_SOC_AD73311
175	tristate
176
177config SND_SOC_ADAU1701
178	select SND_SOC_SIGMADSP
179	tristate
180
181config SND_SOC_ADAU1373
182	tristate
183
184config SND_SOC_ADAV80X
185	tristate
186
187config SND_SOC_ADS117X
188	tristate
189
190config SND_SOC_AK4104
191	tristate
192
193config SND_SOC_AK4535
194	tristate
195
196config SND_SOC_AK4641
197	tristate
198
199config SND_SOC_AK4642
200	tristate
201
202config SND_SOC_AK4671
203	tristate
204
205config SND_SOC_ALC5623
206       tristate
207config SND_SOC_ALC5632
208	tristate
209
210config SND_SOC_CQ0093VC
211	tristate
212
213config SND_SOC_CS42L51
214	tristate
215
216config SND_SOC_CS42L52
217	tristate
218
219config SND_SOC_CS42L73
220	tristate
221
222# Cirrus Logic CS4270 Codec
223config SND_SOC_CS4270
224	tristate
225
226# Cirrus Logic CS4270 Codec VD = 3.3V Errata
227# Select if you are affected by the errata where the part will not function
228# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
229# not select any sample rates that require MCLK to be divided by 1.5.
230config SND_SOC_CS4270_VD33_ERRATA
231	bool
232	depends on SND_SOC_CS4270
233
234config SND_SOC_CS4271
235	tristate
236
237config SND_SOC_CX20442
238	tristate
239
240config SND_SOC_JZ4740_CODEC
241	select REGMAP_MMIO
242	tristate
243
244config SND_SOC_L3
245       tristate
246
247config SND_SOC_DA7210
248        tristate
249
250config SND_SOC_DA732X
251        tristate
252
253config SND_SOC_DA9055
254	tristate
255
256config SND_SOC_DFBMCS320
257	tristate
258
259config SND_SOC_DMIC
260	tristate
261
262config SND_SOC_ISABELLE
263        tristate
264
265config SND_SOC_LM49453
266	tristate
267
268config SND_SOC_MAX98088
269       tristate
270
271config SND_SOC_MAX98090
272       tristate
273
274config SND_SOC_MAX98095
275       tristate
276
277config SND_SOC_MAX9850
278	tristate
279
280config SND_SOC_OMAP_HDMI_CODEC
281       tristate
282
283config SND_SOC_PCM3008
284       tristate
285
286config SND_SOC_RT5631
287	tristate
288
289#Freescale sgtl5000 codec
290config SND_SOC_SGTL5000
291	tristate
292
293config SND_SOC_SI476X
294	tristate
295
296config SND_SOC_SIGMADSP
297	tristate
298	select CRC32
299
300config SND_SOC_SN95031
301	tristate
302
303config SND_SOC_SPDIF
304	tristate
305
306config SND_SOC_SSM2602
307	tristate
308
309config SND_SOC_STA32X
310	tristate
311
312config SND_SOC_STA529
313	tristate
314
315config SND_SOC_STAC9766
316	tristate
317
318config SND_SOC_TLV320AIC23
319	tristate
320
321config SND_SOC_TLV320AIC26
322	tristate "TI TLV320AIC26 Codec support" if SND_SOC_OF_SIMPLE
323	depends on SPI
324
325config SND_SOC_TLV320AIC32X4
326	tristate
327
328config SND_SOC_TLV320AIC3X
329	tristate
330
331config SND_SOC_TLV320DAC33
332	tristate
333
334config SND_SOC_TWL4030
335	select MFD_TWL4030_AUDIO
336	tristate
337
338config SND_SOC_TWL6040
339	tristate
340
341config SND_SOC_UDA134X
342       tristate
343
344config SND_SOC_UDA1380
345        tristate
346
347config SND_SOC_WL1273
348	tristate
349
350config SND_SOC_WM0010
351	tristate
352
353config SND_SOC_WM1250_EV1
354	tristate
355
356config SND_SOC_WM2000
357	tristate
358
359config SND_SOC_WM2200
360	tristate
361
362config SND_SOC_WM5100
363	tristate
364
365config SND_SOC_WM5102
366	tristate
367
368config SND_SOC_WM5110
369	tristate
370
371config SND_SOC_WM8350
372	tristate
373
374config SND_SOC_WM8400
375	tristate
376
377config SND_SOC_WM8510
378	tristate
379
380config SND_SOC_WM8523
381	tristate
382
383config SND_SOC_WM8580
384	tristate
385
386config SND_SOC_WM8711
387	tristate
388
389config SND_SOC_WM8727
390	tristate
391
392config SND_SOC_WM8728
393	tristate
394
395config SND_SOC_WM8731
396	tristate
397
398config SND_SOC_WM8737
399	tristate
400
401config SND_SOC_WM8741
402	tristate
403
404config SND_SOC_WM8750
405	tristate
406
407config SND_SOC_WM8753
408	tristate
409
410config SND_SOC_WM8770
411	tristate
412
413config SND_SOC_WM8776
414	tristate
415
416config SND_SOC_WM8782
417	tristate
418
419config SND_SOC_WM8804
420	tristate
421
422config SND_SOC_WM8900
423	tristate
424
425config SND_SOC_WM8903
426	tristate
427
428config SND_SOC_WM8904
429	tristate
430
431config SND_SOC_WM8940
432        tristate
433
434config SND_SOC_WM8955
435	tristate
436
437config SND_SOC_WM8960
438	tristate
439
440config SND_SOC_WM8961
441	tristate
442
443config SND_SOC_WM8962
444	tristate
445
446config SND_SOC_WM8971
447	tristate
448
449config SND_SOC_WM8974
450	tristate
451
452config SND_SOC_WM8978
453	tristate
454
455config SND_SOC_WM8983
456	tristate
457
458config SND_SOC_WM8985
459	tristate
460
461config SND_SOC_WM8988
462	tristate
463
464config SND_SOC_WM8990
465	tristate
466
467config SND_SOC_WM8991
468	tristate
469
470config SND_SOC_WM8993
471	tristate
472
473config SND_SOC_WM8994
474	tristate
475
476config SND_SOC_WM8995
477	tristate
478
479config SND_SOC_WM8996
480	tristate
481
482config SND_SOC_WM9081
483	tristate
484
485config SND_SOC_WM9090
486	tristate
487
488config SND_SOC_WM9705
489	tristate
490
491config SND_SOC_WM9712
492	tristate
493
494config SND_SOC_WM9713
495	tristate
496
497# Amp
498config SND_SOC_LM4857
499	tristate
500
501config SND_SOC_MAX9768
502	tristate
503
504config SND_SOC_MAX9877
505	tristate
506
507config SND_SOC_MC13783
508	tristate
509
510config SND_SOC_ML26124
511	tristate
512
513config SND_SOC_TPA6130A2
514	tristate
515