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