xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision 0a94608f)
1# SPDX-License-Identifier: GPL-2.0-only
2# Helper to resolve issues with configs that have SPI enabled but I2C
3# modular, meaning we can't build the codec driver in with I2C support.
4# We use an ordered list of conditional defaults to pick the appropriate
5# setting - SPI can't be modular so that case doesn't need to be covered.
6config SND_SOC_I2C_AND_SPI
7	tristate
8	default m if I2C=m
9	default y if I2C=y
10	default y if SPI_MASTER=y
11
12menu "CODEC drivers"
13
14config SND_SOC_ALL_CODECS
15	tristate "Build all ASoC CODEC drivers"
16	depends on COMPILE_TEST
17	imply SND_SOC_88PM860X
18	imply SND_SOC_L3
19	imply SND_SOC_AB8500_CODEC
20	imply SND_SOC_AC97_CODEC
21	imply SND_SOC_AD1836
22	imply SND_SOC_AD193X_SPI
23	imply SND_SOC_AD193X_I2C
24	imply SND_SOC_AD1980
25	imply SND_SOC_AD73311
26	imply SND_SOC_ADAU1372_I2C
27	imply SND_SOC_ADAU1372_SPI
28	imply SND_SOC_ADAU1373
29	imply SND_SOC_ADAU1761_I2C
30	imply SND_SOC_ADAU1761_SPI
31	imply SND_SOC_ADAU1781_I2C
32	imply SND_SOC_ADAU1781_SPI
33	imply SND_SOC_ADAV801
34	imply SND_SOC_ADAV803
35	imply SND_SOC_ADAU1977_SPI
36	imply SND_SOC_ADAU1977_I2C
37	imply SND_SOC_ADAU1701
38	imply SND_SOC_ADAU7002
39	imply SND_SOC_ADAU7118_I2C
40	imply SND_SOC_ADAU7118_HW
41	imply SND_SOC_ADS117X
42	imply SND_SOC_AK4104
43	imply SND_SOC_AK4118
44	imply SND_SOC_AK4375
45	imply SND_SOC_AK4458
46	imply SND_SOC_AK4535
47	imply SND_SOC_AK4554
48	imply SND_SOC_AK4613
49	imply SND_SOC_AK4641
50	imply SND_SOC_AK4642
51	imply SND_SOC_AK4671
52	imply SND_SOC_AK5386
53	imply SND_SOC_AK5558
54	imply SND_SOC_ALC5623
55	imply SND_SOC_ALC5632
56	imply SND_SOC_AW8738
57	imply SND_SOC_BT_SCO
58	imply SND_SOC_BD28623
59	imply SND_SOC_CQ0093VC
60	imply SND_SOC_CROS_EC_CODEC
61	imply SND_SOC_CS35L32
62	imply SND_SOC_CS35L33
63	imply SND_SOC_CS35L34
64	imply SND_SOC_CS35L35
65	imply SND_SOC_CS35L36
66	imply SND_SOC_CS35L41_SPI
67	imply SND_SOC_CS35L41_I2C
68	imply SND_SOC_CS42L42
69	imply SND_SOC_CS42L51_I2C
70	imply SND_SOC_CS42L52
71	imply SND_SOC_CS42L56
72	imply SND_SOC_CS42L73
73	imply SND_SOC_CS4234
74	imply SND_SOC_CS4265
75	imply SND_SOC_CS4270
76	imply SND_SOC_CS4271_I2C
77	imply SND_SOC_CS4271_SPI
78	imply SND_SOC_CS42XX8_I2C
79	imply SND_SOC_CS43130
80	imply SND_SOC_CS4341
81	imply SND_SOC_CS4349
82	imply SND_SOC_CS47L15
83	imply SND_SOC_CS47L24
84	imply SND_SOC_CS47L35
85	imply SND_SOC_CS47L85
86	imply SND_SOC_CS47L90
87	imply SND_SOC_CS47L92
88	imply SND_SOC_CS53L30
89	imply SND_SOC_CX20442
90	imply SND_SOC_CX2072X
91	imply SND_SOC_DA7210
92	imply SND_SOC_DA7213
93	imply SND_SOC_DA7218
94	imply SND_SOC_DA7219
95	imply SND_SOC_DA732X
96	imply SND_SOC_DA9055
97	imply SND_SOC_DMIC
98	imply SND_SOC_ES8316
99	imply SND_SOC_ES8328_SPI
100	imply SND_SOC_ES8328_I2C
101	imply SND_SOC_ES7134
102	imply SND_SOC_ES7241
103	imply SND_SOC_GTM601
104	imply SND_SOC_HDAC_HDMI
105	imply SND_SOC_HDAC_HDA
106	imply SND_SOC_ICS43432
107	imply SND_SOC_INNO_RK3036
108	imply SND_SOC_ISABELLE
109	imply SND_SOC_JZ4740_CODEC
110	imply SND_SOC_JZ4725B_CODEC
111	imply SND_SOC_JZ4760_CODEC
112	imply SND_SOC_JZ4770_CODEC
113	imply SND_SOC_LM4857
114	imply SND_SOC_LM49453
115	imply SND_SOC_LOCHNAGAR_SC
116	imply SND_SOC_MAX98088
117	imply SND_SOC_MAX98090
118	imply SND_SOC_MAX98095
119	imply SND_SOC_MAX98357A
120	imply SND_SOC_MAX98371
121	imply SND_SOC_MAX98504
122	imply SND_SOC_MAX98520
123	imply SND_SOC_MAX9867
124	imply SND_SOC_MAX98925
125	imply SND_SOC_MAX98926
126	imply SND_SOC_MAX98927
127	imply SND_SOC_MAX98373_I2C
128	imply SND_SOC_MAX98373_SDW
129	imply SND_SOC_MAX98390
130	imply SND_SOC_MAX9850
131	imply SND_SOC_MAX9860
132	imply SND_SOC_MAX9759
133	imply SND_SOC_MAX9768
134	imply SND_SOC_MAX9877
135	imply SND_SOC_MC13783
136	imply SND_SOC_ML26124
137	imply SND_SOC_MT6351
138	imply SND_SOC_MT6358
139	imply SND_SOC_MT6359
140	imply SND_SOC_MT6660
141	imply SND_SOC_NAU8315
142	imply SND_SOC_NAU8540
143	imply SND_SOC_NAU8810
144	imply SND_SOC_NAU8821
145	imply SND_SOC_NAU8822
146	imply SND_SOC_NAU8824
147	imply SND_SOC_NAU8825
148	imply SND_SOC_HDMI_CODEC
149	imply SND_SOC_PCM1681
150	imply SND_SOC_PCM1789_I2C
151	imply SND_SOC_PCM179X_I2C
152	imply SND_SOC_PCM179X_SPI
153	imply SND_SOC_PCM186X_I2C
154	imply SND_SOC_PCM186X_SPI
155	imply SND_SOC_PCM3008
156	imply SND_SOC_PCM3060_I2C
157	imply SND_SOC_PCM3060_SPI
158	imply SND_SOC_PCM3168A_I2C
159	imply SND_SOC_PCM3168A_SPI
160	imply SND_SOC_PCM5102A
161	imply SND_SOC_PCM512x_I2C
162	imply SND_SOC_PCM512x_SPI
163	imply SND_SOC_RK3328
164	imply SND_SOC_RK817
165	imply SND_SOC_RT274
166	imply SND_SOC_RT286
167	imply SND_SOC_RT298
168	imply SND_SOC_RT1011
169	imply SND_SOC_RT1015
170	imply SND_SOC_RT1015P
171	imply SND_SOC_RT1019
172	imply SND_SOC_RT1305
173	imply SND_SOC_RT1308
174	imply SND_SOC_RT5514
175	imply SND_SOC_RT5616
176	imply SND_SOC_RT5631
177	imply SND_SOC_RT5640
178	imply SND_SOC_RT5645
179	imply SND_SOC_RT5651
180	imply SND_SOC_RT5659
181	imply SND_SOC_RT5660
182	imply SND_SOC_RT5663
183	imply SND_SOC_RT5665
184	imply SND_SOC_RT5668
185	imply SND_SOC_RT5670
186	imply SND_SOC_RT5677
187	imply SND_SOC_RT5682_I2C
188	imply SND_SOC_RT5682_SDW
189	imply SND_SOC_RT5682S
190	imply SND_SOC_RT700_SDW
191	imply SND_SOC_RT711_SDW
192	imply SND_SOC_RT711_SDCA_SDW
193	imply SND_SOC_RT715_SDW
194	imply SND_SOC_RT715_SDCA_SDW
195	imply SND_SOC_RT1308_SDW
196	imply SND_SOC_RT1316_SDW
197	imply SND_SOC_RT9120
198	imply SND_SOC_SDW_MOCKUP
199	imply SND_SOC_SGTL5000
200	imply SND_SOC_SI476X
201	imply SND_SOC_SIMPLE_AMPLIFIER
202	imply SND_SOC_SIMPLE_MUX
203	imply SND_SOC_SPDIF
204	imply SND_SOC_SSM2305
205	imply SND_SOC_SSM2518
206	imply SND_SOC_SSM2602_SPI
207	imply SND_SOC_SSM2602_I2C
208	imply SND_SOC_SSM4567
209	imply SND_SOC_STA32X
210	imply SND_SOC_STA350
211	imply SND_SOC_STA529
212	imply SND_SOC_STAC9766
213	imply SND_SOC_STI_SAS
214	imply SND_SOC_TAS2552
215	imply SND_SOC_TAS2562
216	imply SND_SOC_TAS2764
217	imply SND_SOC_TAS2770
218	imply SND_SOC_TAS5086
219	imply SND_SOC_TAS571X
220	imply SND_SOC_TAS5720
221	imply SND_SOC_TAS6424
222	imply SND_SOC_TDA7419
223	imply SND_SOC_TFA9879
224	imply SND_SOC_TFA989X
225	imply SND_SOC_TLV320ADC3XXX
226	imply SND_SOC_TLV320ADCX140
227	imply SND_SOC_TLV320AIC23_I2C
228	imply SND_SOC_TLV320AIC23_SPI
229	imply SND_SOC_TLV320AIC26
230	imply SND_SOC_TLV320AIC31XX
231	imply SND_SOC_TLV320AIC32X4_I2C
232	imply SND_SOC_TLV320AIC32X4_SPI
233	imply SND_SOC_TLV320AIC3X_I2C
234	imply SND_SOC_TLV320AIC3X_SPI
235	imply SND_SOC_TPA6130A2
236	imply SND_SOC_TLV320DAC33
237	imply SND_SOC_TSCS42XX
238	imply SND_SOC_TSCS454
239	imply SND_SOC_TS3A227E
240	imply SND_SOC_TWL4030
241	imply SND_SOC_TWL6040
242	imply SND_SOC_UDA1334
243	imply SND_SOC_UDA134X
244	imply SND_SOC_UDA1380
245	imply SND_SOC_WCD9335
246	imply SND_SOC_WCD934X
247	imply SND_SOC_WCD938X_SDW
248	imply SND_SOC_LPASS_MACRO_COMMON
249	imply SND_SOC_LPASS_RX_MACRO
250	imply SND_SOC_LPASS_TX_MACRO
251	imply SND_SOC_WL1273
252	imply SND_SOC_WM0010
253	imply SND_SOC_WM1250_EV1
254	imply SND_SOC_WM2000
255	imply SND_SOC_WM2200
256	imply SND_SOC_WM5100
257	imply SND_SOC_WM5102
258	imply SND_SOC_WM5110
259	imply SND_SOC_WM8350
260	imply SND_SOC_WM8400
261	imply SND_SOC_WM8510
262	imply SND_SOC_WM8523
263	imply SND_SOC_WM8524
264	imply SND_SOC_WM8580
265	imply SND_SOC_WM8711
266	imply SND_SOC_WM8727
267	imply SND_SOC_WM8728
268	imply SND_SOC_WM8731
269	imply SND_SOC_WM8737
270	imply SND_SOC_WM8741
271	imply SND_SOC_WM8750
272	imply SND_SOC_WM8753
273	imply SND_SOC_WM8770
274	imply SND_SOC_WM8776
275	imply SND_SOC_WM8782
276	imply SND_SOC_WM8804_I2C
277	imply SND_SOC_WM8804_SPI
278	imply SND_SOC_WM8900
279	imply SND_SOC_WM8903
280	imply SND_SOC_WM8904
281	imply SND_SOC_WM8940
282	imply SND_SOC_WM8955
283	imply SND_SOC_WM8960
284	imply SND_SOC_WM8961
285	imply SND_SOC_WM8962
286	imply SND_SOC_WM8971
287	imply SND_SOC_WM8974
288	imply SND_SOC_WM8978
289	imply SND_SOC_WM8983
290	imply SND_SOC_WM8985
291	imply SND_SOC_WM8988
292	imply SND_SOC_WM8990
293	imply SND_SOC_WM8991
294	imply SND_SOC_WM8993
295	imply SND_SOC_WM8994
296	imply SND_SOC_WM8995
297	imply SND_SOC_WM8996
298	imply SND_SOC_WM8997
299	imply SND_SOC_WM8998
300	imply SND_SOC_WM9081
301	imply SND_SOC_WM9090
302	imply SND_SOC_WM9705
303	imply SND_SOC_WM9712
304	imply SND_SOC_WM9713
305	imply SND_SOC_WSA881X
306	imply SND_SOC_ZL38060
307	help
308	  Normally ASoC codec drivers are only built if a machine driver which
309	  uses them is also built since they are only usable with a machine
310	  driver.  Selecting this option will allow these drivers to be built
311	  without an explicit machine driver for test and development purposes.
312
313	  Support for the bus types used to access the codecs to be built must
314	  be selected separately.
315
316	  If unsure select "N".
317
318config SND_SOC_88PM860X
319	tristate
320	depends on MFD_88PM860X
321
322config SND_SOC_ARIZONA
323	tristate
324	default y if SND_SOC_CS47L24=y
325	default y if SND_SOC_WM5102=y
326	default y if SND_SOC_WM5110=y
327	default y if SND_SOC_WM8997=y
328	default y if SND_SOC_WM8998=y
329	default m if SND_SOC_CS47L24=m
330	default m if SND_SOC_WM5102=m
331	default m if SND_SOC_WM5110=m
332	default m if SND_SOC_WM8997=m
333	default m if SND_SOC_WM8998=m
334
335config SND_SOC_WM_HUBS
336	tristate
337	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
338	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
339
340config SND_SOC_WM_ADSP
341	tristate
342	select CS_DSP
343	select SND_SOC_COMPRESS
344	default y if SND_SOC_MADERA=y
345	default y if SND_SOC_CS47L24=y
346	default y if SND_SOC_WM5102=y
347	default y if SND_SOC_WM5110=y
348	default y if SND_SOC_WM2200=y
349	default y if SND_SOC_CS35L41_SPI=y
350	default y if SND_SOC_CS35L41_I2C=y
351	default m if SND_SOC_MADERA=m
352	default m if SND_SOC_CS47L24=m
353	default m if SND_SOC_WM5102=m
354	default m if SND_SOC_WM5110=m
355	default m if SND_SOC_WM2200=m
356	default m if SND_SOC_CS35L41_SPI=m
357	default m if SND_SOC_CS35L41_I2C=m
358
359config SND_SOC_AB8500_CODEC
360	tristate
361	depends on ABX500_CORE
362
363config SND_SOC_AC97_CODEC
364	tristate "Build generic ASoC AC97 CODEC driver"
365	select SND_AC97_CODEC
366	select SND_SOC_AC97_BUS
367
368config SND_SOC_AD1836
369	tristate
370	depends on SPI_MASTER
371
372config SND_SOC_AD193X
373	tristate
374
375config SND_SOC_AD193X_SPI
376	tristate
377	depends on SPI_MASTER
378	select SND_SOC_AD193X
379
380config SND_SOC_AD193X_I2C
381	tristate
382	depends on I2C
383	select SND_SOC_AD193X
384
385config SND_SOC_AD1980
386	tristate
387	depends on SND_SOC_AC97_BUS
388	select REGMAP_AC97
389
390config SND_SOC_AD73311
391	tristate
392
393config SND_SOC_ADAU_UTILS
394	tristate
395
396config SND_SOC_ADAU1372
397	tristate
398	select SND_SOC_ADAU_UTILS
399
400config SND_SOC_ADAU1372_I2C
401	tristate "Analog Devices ADAU1372 CODEC (I2C)"
402	depends on I2C
403	select SND_SOC_ADAU1372
404	select REGMAP_I2C
405
406config SND_SOC_ADAU1372_SPI
407	tristate "Analog Devices ADAU1372 CODEC (SPI)"
408	depends on SPI
409	select SND_SOC_ADAU1372
410	select REGMAP_SPI
411
412config SND_SOC_ADAU1373
413	tristate
414	depends on I2C
415	select SND_SOC_ADAU_UTILS
416
417config SND_SOC_ADAU1701
418	tristate "Analog Devices ADAU1701 CODEC"
419	depends on I2C
420	select SND_SOC_SIGMADSP_I2C
421
422config SND_SOC_ADAU17X1
423	tristate
424	select SND_SOC_SIGMADSP_REGMAP
425	select SND_SOC_ADAU_UTILS
426
427config SND_SOC_ADAU1761
428	tristate
429	select SND_SOC_ADAU17X1
430
431config SND_SOC_ADAU1761_I2C
432	tristate "Analog Devices AU1761 CODEC - I2C"
433	depends on I2C
434	select SND_SOC_ADAU1761
435	select REGMAP_I2C
436
437config SND_SOC_ADAU1761_SPI
438	tristate "Analog Devices AU1761 CODEC - SPI"
439	depends on SPI
440	select SND_SOC_ADAU1761
441	select REGMAP_SPI
442
443config SND_SOC_ADAU1781
444	select SND_SOC_ADAU17X1
445	tristate
446
447config SND_SOC_ADAU1781_I2C
448	tristate
449	depends on I2C
450	select SND_SOC_ADAU1781
451	select REGMAP_I2C
452
453config SND_SOC_ADAU1781_SPI
454	tristate
455	depends on SPI_MASTER
456	select SND_SOC_ADAU1781
457	select REGMAP_SPI
458
459config SND_SOC_ADAU1977
460	tristate
461
462config SND_SOC_ADAU1977_SPI
463	tristate
464	depends on SPI_MASTER
465	select SND_SOC_ADAU1977
466	select REGMAP_SPI
467
468config SND_SOC_ADAU1977_I2C
469	tristate
470	depends on I2C
471	select SND_SOC_ADAU1977
472	select REGMAP_I2C
473
474config SND_SOC_ADAU7002
475	tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
476
477config SND_SOC_ADAU7118
478	tristate
479
480config SND_SOC_ADAU7118_HW
481	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
482	select SND_SOC_ADAU7118
483	help
484	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
485	  Converter. In this mode, the device works in standalone mode which
486	  means that there is no bus to communicate with it. Stereo mode is not
487	  supported in this mode.
488
489	  To compile this driver as a module, choose M here: the module
490	  will be called snd-soc-adau7118-hw.
491
492config SND_SOC_ADAU7118_I2C
493	tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
494	depends on I2C
495	select SND_SOC_ADAU7118
496	select REGMAP_I2C
497	help
498	  Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
499	  Converter over I2C. This gives full support over the device.
500
501	  To compile this driver as a module, choose M here: the module
502	  will be called snd-soc-adau7118-i2c.
503
504config SND_SOC_ADAV80X
505	tristate
506
507config SND_SOC_ADAV801
508	tristate
509	depends on SPI_MASTER
510	select SND_SOC_ADAV80X
511
512config SND_SOC_ADAV803
513	tristate
514	depends on I2C
515	select SND_SOC_ADAV80X
516
517config SND_SOC_ADS117X
518	tristate
519
520config SND_SOC_AK4104
521	tristate "AKM AK4104 CODEC"
522	depends on SPI_MASTER
523
524config SND_SOC_AK4118
525	tristate "AKM AK4118 CODEC"
526	depends on I2C
527	select REGMAP_I2C
528
529config SND_SOC_AK4375
530	tristate "AKM AK4375 CODEC"
531	depends on I2C
532	select REGMAP_I2C
533	help
534	  Enable support for the Asahi-Kasei AK4375 codec.
535
536	  To compile this driver as a module, choose M here: the module
537	  will be called snd-soc-ak4375.
538
539config SND_SOC_AK4458
540	tristate "AKM AK4458 CODEC"
541	depends on I2C
542	select REGMAP_I2C
543
544config SND_SOC_AK4535
545	tristate
546	depends on I2C
547
548config SND_SOC_AK4554
549	tristate "AKM AK4554 CODEC"
550
551config SND_SOC_AK4613
552	tristate "AKM AK4613 CODEC"
553	depends on I2C
554
555config SND_SOC_AK4641
556	tristate
557	depends on I2C
558
559config SND_SOC_AK4642
560	tristate "AKM AK4642 CODEC"
561	depends on I2C
562
563config SND_SOC_AK4671
564	tristate
565	depends on I2C
566
567config SND_SOC_AK5386
568	tristate "AKM AK5638 CODEC"
569
570config SND_SOC_AK5558
571	tristate "AKM AK5558 CODEC"
572	depends on I2C
573	select REGMAP_I2C
574
575config SND_SOC_ALC5623
576	tristate "Realtek ALC5623 CODEC"
577	depends on I2C
578
579config SND_SOC_ALC5632
580	tristate
581	depends on I2C
582
583config SND_SOC_AW8738
584	tristate "Awinic AW8738 Audio Amplifier"
585	select GPIOLIB
586	help
587	  Enable support for the Awinic AW8738 audio amplifier (or similar).
588	  The driver supports simple audio amplifiers similar to
589	  SND_SOC_SIMPLE_AMPLIFIER, but additionally allows setting the
590	  operation mode using the Awinic-specific one-wire pulse control.
591
592config SND_SOC_BD28623
593	tristate "ROHM BD28623 CODEC"
594	help
595	  Enable support for ROHM BD28623MUV Class D speaker amplifier.
596	  This codec does not have any control buses such as I2C, it
597	  detect format of I2S automatically.
598
599config SND_SOC_BT_SCO
600	tristate "Dummy BT SCO codec driver"
601
602config SND_SOC_CPCAP
603	tristate "Motorola CPCAP codec"
604	depends on MFD_CPCAP
605
606config SND_SOC_CQ0093VC
607	tristate
608
609config SND_SOC_CROS_EC_CODEC
610	tristate "codec driver for ChromeOS EC"
611	depends on CROS_EC
612	select CRYPTO
613	select CRYPTO_LIB_SHA256
614	help
615	  If you say yes here you will get support for the
616	  ChromeOS Embedded Controller's Audio Codec.
617
618config SND_SOC_CS35L32
619	tristate "Cirrus Logic CS35L32 CODEC"
620	depends on I2C
621
622config SND_SOC_CS35L33
623	tristate "Cirrus Logic CS35L33 CODEC"
624	depends on I2C
625
626config SND_SOC_CS35L34
627	tristate "Cirrus Logic CS35L34 CODEC"
628	depends on I2C
629
630config SND_SOC_CS35L35
631	tristate "Cirrus Logic CS35L35 CODEC"
632	depends on I2C
633
634config SND_SOC_CS35L36
635	tristate "Cirrus Logic CS35L36 CODEC"
636	depends on I2C
637
638config SND_SOC_CS35L41_LIB
639	tristate
640
641config SND_SOC_CS35L41
642	tristate
643
644config SND_SOC_CS35L41_SPI
645	tristate "Cirrus Logic CS35L41 CODEC (SPI)"
646	depends on SPI_MASTER
647	select SND_SOC_CS35L41_LIB
648	select SND_SOC_CS35L41
649	select REGMAP_SPI
650
651config SND_SOC_CS35L41_I2C
652	tristate "Cirrus Logic CS35L41 CODEC (I2C)"
653	depends on I2C
654	select SND_SOC_CS35L41_LIB
655	select SND_SOC_CS35L41
656	select REGMAP_I2C
657
658config SND_SOC_CS42L42
659	tristate "Cirrus Logic CS42L42 CODEC"
660	depends on I2C
661
662config SND_SOC_CS42L51
663	tristate
664
665config SND_SOC_CS42L51_I2C
666	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
667	depends on I2C
668	select SND_SOC_CS42L51
669
670config SND_SOC_CS42L52
671	tristate "Cirrus Logic CS42L52 CODEC"
672	depends on I2C && INPUT
673
674config SND_SOC_CS42L56
675	tristate "Cirrus Logic CS42L56 CODEC"
676	depends on I2C && INPUT
677
678config SND_SOC_CS42L73
679	tristate "Cirrus Logic CS42L73 CODEC"
680	depends on I2C
681
682config SND_SOC_CS4234
683	tristate "Cirrus Logic CS4234 CODEC"
684	depends on I2C
685	select REGMAP_I2C
686
687config SND_SOC_CS4265
688	tristate "Cirrus Logic CS4265 CODEC"
689	depends on I2C
690	select REGMAP_I2C
691
692# Cirrus Logic CS4270 Codec
693config SND_SOC_CS4270
694	tristate "Cirrus Logic CS4270 CODEC"
695	depends on I2C
696
697# Cirrus Logic CS4270 Codec VD = 3.3V Errata
698# Select if you are affected by the errata where the part will not function
699# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
700# not select any sample rates that require MCLK to be divided by 1.5.
701config SND_SOC_CS4270_VD33_ERRATA
702	bool
703	depends on SND_SOC_CS4270
704
705config SND_SOC_CS4271
706	tristate
707
708config SND_SOC_CS4271_I2C
709	tristate "Cirrus Logic CS4271 CODEC (I2C)"
710	depends on I2C
711	select SND_SOC_CS4271
712	select REGMAP_I2C
713
714config SND_SOC_CS4271_SPI
715	tristate "Cirrus Logic CS4271 CODEC (SPI)"
716	depends on SPI_MASTER
717	select SND_SOC_CS4271
718	select REGMAP_SPI
719
720config SND_SOC_CS42XX8
721	tristate
722
723config SND_SOC_CS42XX8_I2C
724	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
725	depends on I2C
726	select SND_SOC_CS42XX8
727	select REGMAP_I2C
728
729# Cirrus Logic CS43130 HiFi DAC
730config SND_SOC_CS43130
731	tristate "Cirrus Logic CS43130 CODEC"
732	depends on I2C
733
734config SND_SOC_CS4341
735	tristate "Cirrus Logic CS4341 CODEC"
736	depends on SND_SOC_I2C_AND_SPI
737	select REGMAP_I2C if I2C
738	select REGMAP_SPI if SPI_MASTER
739
740# Cirrus Logic CS4349 HiFi DAC
741config SND_SOC_CS4349
742	tristate "Cirrus Logic CS4349 CODEC"
743	depends on I2C
744
745config SND_SOC_CS47L15
746	tristate
747	depends on MFD_CS47L15
748
749config SND_SOC_CS47L24
750	tristate
751	depends on MFD_CS47L24 && MFD_ARIZONA
752
753config SND_SOC_CS47L35
754	tristate
755	depends on MFD_CS47L35
756
757config SND_SOC_CS47L85
758	tristate
759	depends on MFD_CS47L85
760
761config SND_SOC_CS47L90
762	tristate
763	depends on MFD_CS47L90
764
765config SND_SOC_CS47L92
766	tristate
767	depends on MFD_CS47L92
768
769# Cirrus Logic Quad-Channel ADC
770config SND_SOC_CS53L30
771	tristate "Cirrus Logic CS53L30 CODEC"
772	depends on I2C
773
774config SND_SOC_CX20442
775	tristate
776	depends on TTY
777
778config SND_SOC_CX2072X
779	tristate "Conexant CX2072X CODEC"
780	depends on I2C
781	help
782	  Enable support for Conexant CX20721 and CX20723 codec chips.
783
784config SND_SOC_JZ4740_CODEC
785	depends on MACH_INGENIC || COMPILE_TEST
786	depends on OF
787	select REGMAP_MMIO
788	tristate "Ingenic JZ4740 internal CODEC"
789	help
790	  Enable support for the internal CODEC found in the JZ4740 SoC
791	  from Ingenic.
792
793	  This driver can also be built as a module. If so, the module
794	  will be called snd-soc-jz4740-codec.
795
796config SND_SOC_JZ4725B_CODEC
797	depends on MACH_INGENIC || COMPILE_TEST
798	depends on OF
799	select REGMAP
800	tristate "Ingenic JZ4725B internal CODEC"
801	help
802	  Enable support for the internal CODEC found in the JZ4725B SoC
803	  from Ingenic.
804
805	  This driver can also be built as a module. If so, the module
806	  will be called snd-soc-jz4725b-codec.
807
808config SND_SOC_JZ4760_CODEC
809        depends on MACH_INGENIC || COMPILE_TEST
810        depends on OF
811        select REGMAP
812        tristate "Ingenic JZ4760 internal CODEC"
813        help
814          Enable support for the internal CODEC found in the JZ4760 SoC
815          from Ingenic.
816
817          This driver can also be built as a module. If so, the module
818          will be called snd-soc-jz4760-codec.
819
820config SND_SOC_JZ4770_CODEC
821	depends on MACH_INGENIC || COMPILE_TEST
822	depends on OF
823	select REGMAP
824	tristate "Ingenic JZ4770 internal CODEC"
825	help
826	  Enable support for the internal CODEC found in the JZ4770 SoC
827	  from Ingenic.
828
829	  This driver can also be built as a module. If so, the module
830	  will be called snd-soc-jz4770-codec.
831
832config SND_SOC_L3
833	tristate
834
835config SND_SOC_DA7210
836	tristate
837	depends on SND_SOC_I2C_AND_SPI
838
839config SND_SOC_DA7213
840	tristate "Dialog DA7213 CODEC"
841	depends on I2C
842
843config SND_SOC_DA7218
844	tristate
845	depends on I2C
846
847config SND_SOC_DA7219
848	tristate
849	depends on I2C
850
851config SND_SOC_DA732X
852	tristate
853	depends on I2C
854
855config SND_SOC_DA9055
856	tristate
857	depends on I2C
858
859config SND_SOC_DMIC
860	tristate "Generic Digital Microphone CODEC"
861	help
862	  Enable support for the Generic Digital Microphone CODEC.
863	  Select this if your sound card has DMICs.
864
865config SND_SOC_HDMI_CODEC
866	tristate
867	select SND_PCM_ELD
868	select SND_PCM_IEC958
869	select HDMI
870
871config SND_SOC_ES7134
872	tristate "Everest Semi ES7134 CODEC"
873
874config SND_SOC_ES7241
875	tristate "Everest Semi ES7241 CODEC"
876
877config SND_SOC_ES8316
878	tristate "Everest Semi ES8316 CODEC"
879	depends on I2C
880
881config SND_SOC_ES8328
882	tristate
883
884config SND_SOC_ES8328_I2C
885	tristate "Everest Semi ES8328 CODEC (I2C)"
886	depends on I2C
887	select SND_SOC_ES8328
888
889config SND_SOC_ES8328_SPI
890	tristate "Everest Semi ES8328 CODEC (SPI)"
891	depends on SPI_MASTER
892	select SND_SOC_ES8328
893
894config SND_SOC_GTM601
895	tristate 'GTM601 UMTS modem audio codec'
896
897config SND_SOC_HDAC_HDMI
898	tristate
899	select SND_HDA_EXT_CORE
900	select SND_PCM_ELD
901	select HDMI
902
903config SND_SOC_HDAC_HDA
904	tristate
905	select SND_HDA
906
907config SND_SOC_ICS43432
908	tristate "ICS43423 and compatible i2s microphones"
909
910config SND_SOC_INNO_RK3036
911	tristate "Inno codec driver for RK3036 SoC"
912	select REGMAP_MMIO
913
914config SND_SOC_ISABELLE
915	tristate
916	depends on I2C
917
918config SND_SOC_LM49453
919	tristate
920	depends on I2C
921
922config SND_SOC_LOCHNAGAR_SC
923	tristate "Lochnagar Sound Card"
924	depends on MFD_LOCHNAGAR
925	help
926	  This driver support the sound card functionality of the Cirrus
927	  Logic Lochnagar audio development board.
928
929config SND_SOC_MADERA
930	tristate
931	default y if SND_SOC_CS47L15=y
932	default y if SND_SOC_CS47L35=y
933	default y if SND_SOC_CS47L85=y
934	default y if SND_SOC_CS47L90=y
935	default y if SND_SOC_CS47L92=y
936	default m if SND_SOC_CS47L15=m
937	default m if SND_SOC_CS47L35=m
938	default m if SND_SOC_CS47L85=m
939	default m if SND_SOC_CS47L90=m
940	default m if SND_SOC_CS47L92=m
941
942config SND_SOC_MAX98088
943	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
944	depends on I2C
945
946config SND_SOC_MAX98090
947	tristate
948	depends on I2C
949
950config SND_SOC_MAX98095
951	tristate
952	depends on I2C
953
954config SND_SOC_MAX98357A
955	tristate "Maxim MAX98357A CODEC"
956	depends on GPIOLIB
957
958config SND_SOC_MAX98371
959	tristate
960	depends on I2C
961
962config SND_SOC_MAX98504
963	tristate "Maxim MAX98504 speaker amplifier"
964	depends on I2C
965
966config SND_SOC_MAX9867
967	tristate "Maxim MAX9867 CODEC"
968	depends on I2C
969
970config SND_SOC_MAX98925
971	tristate
972	depends on I2C
973
974config SND_SOC_MAX98926
975	tristate
976	depends on I2C
977
978config SND_SOC_MAX98927
979	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
980	depends on I2C
981
982config SND_SOC_MAX98520
983	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
984	depends on I2C
985	help
986	  Enable support for Maxim Integrated MAX98520 audio
987	  amplifier, which implements a tripler charge pump
988	  based boost converter and supports sample rates of
989	  8KHz to 192KHz.
990
991	  To compile this driver as a module, choose M here.
992
993config SND_SOC_MAX98373
994	tristate
995
996config SND_SOC_MAX98373_I2C
997	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
998	depends on I2C
999	select SND_SOC_MAX98373
1000
1001config SND_SOC_MAX98373_SDW
1002	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1003	depends on SOUNDWIRE
1004	select SND_SOC_MAX98373
1005	select REGMAP_SOUNDWIRE
1006	help
1007	  Enable support for Maxim Integrated MAX98373 Soundwire
1008	  amplifier. MAX98373 supports either the MIPI SoundWire
1009	  compatible interface for audio and control data, or
1010	  the PCM interface for audio data and a standard I2C
1011	  interface for control data. Select this if MAX98373 is
1012	  connected via soundwire.
1013
1014config SND_SOC_MAX98390
1015	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1016	depends on I2C
1017
1018config SND_SOC_MAX9850
1019	tristate
1020	depends on I2C
1021
1022config SND_SOC_MAX9860
1023	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1024	depends on I2C
1025	select REGMAP_I2C
1026
1027config SND_SOC_MSM8916_WCD_ANALOG
1028	tristate "Qualcomm MSM8916 WCD Analog Codec"
1029	depends on SPMI || COMPILE_TEST
1030
1031config SND_SOC_MSM8916_WCD_DIGITAL
1032	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1033	select REGMAP_MMIO
1034
1035config SND_SOC_PCM1681
1036	tristate "Texas Instruments PCM1681 CODEC"
1037	depends on I2C
1038
1039config SND_SOC_PCM1789
1040	tristate
1041
1042config SND_SOC_PCM1789_I2C
1043	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1044	depends on I2C
1045	select SND_SOC_PCM1789
1046	help
1047	  Enable support for Texas Instruments PCM1789 CODEC.
1048	  Select this if your PCM1789 is connected via an I2C bus.
1049
1050config SND_SOC_PCM179X
1051	tristate
1052
1053config SND_SOC_PCM179X_I2C
1054	tristate "Texas Instruments PCM179X CODEC (I2C)"
1055	depends on I2C
1056	select SND_SOC_PCM179X
1057	help
1058	  Enable support for Texas Instruments PCM179x CODEC.
1059	  Select this if your PCM179x is connected via an I2C bus.
1060
1061config SND_SOC_PCM179X_SPI
1062	tristate "Texas Instruments PCM179X CODEC (SPI)"
1063	depends on SPI_MASTER
1064	select SND_SOC_PCM179X
1065	help
1066	  Enable support for Texas Instruments PCM179x CODEC.
1067	  Select this if your PCM179x is connected via an SPI bus.
1068
1069config SND_SOC_PCM186X
1070	tristate
1071
1072config SND_SOC_PCM186X_I2C
1073	tristate "Texas Instruments PCM186x CODECs - I2C"
1074	depends on I2C
1075	select SND_SOC_PCM186X
1076	select REGMAP_I2C
1077
1078config SND_SOC_PCM186X_SPI
1079	tristate "Texas Instruments PCM186x CODECs - SPI"
1080	depends on SPI_MASTER
1081	select SND_SOC_PCM186X
1082	select REGMAP_SPI
1083
1084config SND_SOC_PCM3008
1085	tristate
1086
1087config SND_SOC_PCM3060
1088	tristate
1089
1090config SND_SOC_PCM3060_I2C
1091	tristate "Texas Instruments PCM3060 CODEC - I2C"
1092	depends on I2C
1093	select SND_SOC_PCM3060
1094	select REGMAP_I2C
1095
1096config SND_SOC_PCM3060_SPI
1097	tristate "Texas Instruments PCM3060 CODEC - SPI"
1098	depends on SPI_MASTER
1099	select SND_SOC_PCM3060
1100	select REGMAP_SPI
1101
1102config SND_SOC_PCM3168A
1103	tristate
1104
1105config SND_SOC_PCM3168A_I2C
1106	tristate "Texas Instruments PCM3168A CODEC - I2C"
1107	depends on I2C
1108	select SND_SOC_PCM3168A
1109	select REGMAP_I2C
1110
1111config SND_SOC_PCM3168A_SPI
1112	tristate "Texas Instruments PCM3168A CODEC - SPI"
1113	depends on SPI_MASTER
1114	select SND_SOC_PCM3168A
1115	select REGMAP_SPI
1116
1117config SND_SOC_PCM5102A
1118	tristate "Texas Instruments PCM5102A CODEC"
1119
1120config SND_SOC_PCM512x
1121	tristate
1122
1123config SND_SOC_PCM512x_I2C
1124	tristate "Texas Instruments PCM512x CODECs - I2C"
1125	depends on I2C
1126	select SND_SOC_PCM512x
1127	select REGMAP_I2C
1128
1129config SND_SOC_PCM512x_SPI
1130	tristate "Texas Instruments PCM512x CODECs - SPI"
1131	depends on SPI_MASTER
1132	select SND_SOC_PCM512x
1133	select REGMAP_SPI
1134
1135config SND_SOC_RK3328
1136	tristate "Rockchip RK3328 audio CODEC"
1137	select REGMAP_MMIO
1138
1139config SND_SOC_RK817
1140	tristate "Rockchip RK817 audio CODEC"
1141	depends on MFD_RK808
1142	select REGMAP_I2C
1143
1144config SND_SOC_RL6231
1145	tristate
1146	default y if SND_SOC_RT5514=y
1147	default y if SND_SOC_RT5616=y
1148	default y if SND_SOC_RT5640=y
1149	default y if SND_SOC_RT5645=y
1150	default y if SND_SOC_RT5651=y
1151	default y if SND_SOC_RT5659=y
1152	default y if SND_SOC_RT5660=y
1153	default y if SND_SOC_RT5663=y
1154	default y if SND_SOC_RT5665=y
1155	default y if SND_SOC_RT5668=y
1156	default y if SND_SOC_RT5670=y
1157	default y if SND_SOC_RT5677=y
1158	default y if SND_SOC_RT5682=y
1159	default y if SND_SOC_RT1011=y
1160	default y if SND_SOC_RT1015=y
1161	default y if SND_SOC_RT1015P=y
1162	default y if SND_SOC_RT1019=y
1163	default y if SND_SOC_RT1305=y
1164	default y if SND_SOC_RT1308=y
1165	default m if SND_SOC_RT5514=m
1166	default m if SND_SOC_RT5616=m
1167	default m if SND_SOC_RT5640=m
1168	default m if SND_SOC_RT5645=m
1169	default m if SND_SOC_RT5651=m
1170	default m if SND_SOC_RT5659=m
1171	default m if SND_SOC_RT5660=m
1172	default m if SND_SOC_RT5663=m
1173	default m if SND_SOC_RT5665=m
1174	default m if SND_SOC_RT5668=m
1175	default m if SND_SOC_RT5670=m
1176	default m if SND_SOC_RT5677=m
1177	default m if SND_SOC_RT5682=m
1178	default m if SND_SOC_RT1011=m
1179	default m if SND_SOC_RT1015=m
1180	default m if SND_SOC_RT1015P=m
1181	default m if SND_SOC_RT1019=m
1182	default m if SND_SOC_RT1305=m
1183	default m if SND_SOC_RT1308=m
1184
1185config SND_SOC_RL6347A
1186	tristate
1187	default y if SND_SOC_RT274=y
1188	default y if SND_SOC_RT286=y
1189	default y if SND_SOC_RT298=y
1190	default m if SND_SOC_RT274=m
1191	default m if SND_SOC_RT286=m
1192	default m if SND_SOC_RT298=m
1193
1194config SND_SOC_RT274
1195	tristate
1196	depends on I2C
1197
1198config SND_SOC_RT286
1199	tristate
1200	depends on I2C
1201
1202config SND_SOC_RT298
1203	tristate
1204	depends on I2C
1205
1206config SND_SOC_RT1011
1207	tristate
1208	depends on I2C
1209
1210config SND_SOC_RT1015
1211	tristate
1212	depends on I2C
1213
1214config SND_SOC_RT1015P
1215	tristate
1216	depends on GPIOLIB
1217
1218config SND_SOC_RT1019
1219	tristate
1220	depends on I2C
1221
1222config SND_SOC_RT1305
1223	tristate
1224	depends on I2C
1225
1226config SND_SOC_RT1308
1227	tristate
1228	depends on I2C
1229
1230config SND_SOC_RT1308_SDW
1231	tristate "Realtek RT1308 Codec - SDW"
1232	depends on I2C && SOUNDWIRE
1233	select REGMAP_SOUNDWIRE
1234
1235config SND_SOC_RT1316_SDW
1236	tristate "Realtek RT1316 Codec - SDW"
1237	depends on SOUNDWIRE
1238	select REGMAP_SOUNDWIRE
1239
1240config SND_SOC_RT5514
1241	tristate
1242	depends on I2C
1243
1244config SND_SOC_RT5514_SPI
1245	tristate
1246	depends on SPI_MASTER
1247
1248config SND_SOC_RT5514_SPI_BUILTIN
1249	bool # force RT5514_SPI to be built-in to avoid link errors
1250	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1251
1252config SND_SOC_RT5616
1253	tristate "Realtek RT5616 CODEC"
1254	depends on I2C
1255
1256config SND_SOC_RT5631
1257	tristate "Realtek ALC5631/RT5631 CODEC"
1258	depends on I2C
1259
1260config SND_SOC_RT5640
1261	tristate "Realtek RT5640/RT5639 Codec"
1262	depends on I2C
1263
1264config SND_SOC_RT5645
1265	tristate
1266	depends on I2C
1267
1268config SND_SOC_RT5651
1269	tristate
1270	depends on I2C
1271
1272config SND_SOC_RT5659
1273	tristate "Realtek RT5658/RT5659 Codec"
1274	depends on I2C
1275
1276config SND_SOC_RT5660
1277	tristate
1278	depends on I2C
1279
1280config SND_SOC_RT5663
1281	tristate
1282	depends on I2C
1283
1284config SND_SOC_RT5665
1285	tristate
1286	depends on I2C
1287
1288config SND_SOC_RT5668
1289	tristate
1290	depends on I2C
1291
1292config SND_SOC_RT5670
1293	tristate
1294	depends on I2C
1295
1296config SND_SOC_RT5677
1297	tristate
1298	depends on I2C
1299	select REGMAP_I2C
1300	select REGMAP_IRQ
1301
1302config SND_SOC_RT5677_SPI
1303	tristate
1304	default SND_SOC_RT5677 && SPI
1305
1306config SND_SOC_RT5682
1307	tristate
1308
1309config SND_SOC_RT5682_I2C
1310	tristate
1311	depends on I2C
1312	select SND_SOC_RT5682
1313
1314config SND_SOC_RT5682_SDW
1315	tristate "Realtek RT5682 Codec - SDW"
1316	depends on SOUNDWIRE
1317	select SND_SOC_RT5682
1318	select REGMAP_SOUNDWIRE
1319
1320config SND_SOC_RT5682S
1321	tristate
1322	depends on I2C
1323
1324config SND_SOC_RT700
1325	tristate
1326
1327config SND_SOC_RT700_SDW
1328	tristate "Realtek RT700 Codec - SDW"
1329	depends on SOUNDWIRE
1330	select SND_SOC_RT700
1331	select REGMAP_SOUNDWIRE
1332
1333config SND_SOC_RT711
1334	tristate
1335
1336config SND_SOC_RT711_SDW
1337	tristate "Realtek RT711 Codec - SDW"
1338	depends on SOUNDWIRE
1339	select SND_SOC_RT711
1340	select REGMAP_SOUNDWIRE
1341
1342config SND_SOC_RT711_SDCA_SDW
1343	tristate "Realtek RT711 SDCA Codec - SDW"
1344	depends on SOUNDWIRE
1345	select REGMAP_SOUNDWIRE
1346	select REGMAP_SOUNDWIRE_MBQ
1347
1348config SND_SOC_RT715
1349	tristate
1350
1351config SND_SOC_RT715_SDW
1352	tristate "Realtek RT715 Codec - SDW"
1353	depends on SOUNDWIRE
1354	select SND_SOC_RT715
1355	select REGMAP_SOUNDWIRE
1356
1357config SND_SOC_RT715_SDCA_SDW
1358	tristate "Realtek RT715 SDCA Codec - SDW"
1359	depends on SOUNDWIRE
1360	select REGMAP_SOUNDWIRE
1361	select REGMAP_SOUNDWIRE_MBQ
1362
1363config SND_SOC_RT9120
1364	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1365	depends on I2C
1366	select REGMAP_I2C
1367	help
1368	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1369	  high-efficiency Class-D audio amplifier.
1370
1371config SND_SOC_SDW_MOCKUP
1372	tristate "SoundWire mockup codec"
1373	depends on EXPERT
1374	depends on SOUNDWIRE
1375	help
1376	  This option enables a SoundWire mockup codec that does not drive the
1377	  bus, take part in the command/command protocol or generate data on a
1378	  Source port.
1379	  This option is only intended to be used for tests on a device
1380	  with a connector, in combination with a bus analyzer, or to test new
1381	  topologies that differ from the actual hardware layout.
1382	  This mockup device could be totally virtual but could also be a
1383	  real physical one with one key restriction: it is not allowed by the
1384	  SoundWire specification to be configured via a sideband mechanism and
1385	  generate audio data for capture. However, nothing prevents such a
1386	  peripheral device from snooping the bus.
1387
1388#Freescale sgtl5000 codec
1389config SND_SOC_SGTL5000
1390	tristate "Freescale SGTL5000 CODEC"
1391	depends on I2C
1392
1393config SND_SOC_SI476X
1394	tristate
1395
1396config SND_SOC_SIGMADSP
1397	tristate
1398	select CRC32
1399
1400config SND_SOC_SIGMADSP_I2C
1401	tristate
1402	select SND_SOC_SIGMADSP
1403
1404config SND_SOC_SIGMADSP_REGMAP
1405	tristate
1406	select SND_SOC_SIGMADSP
1407
1408config SND_SOC_SIMPLE_AMPLIFIER
1409	tristate "Simple Audio Amplifier"
1410
1411config SND_SOC_SIMPLE_MUX
1412	tristate "Simple Audio Mux"
1413	depends on GPIOLIB
1414
1415config SND_SOC_SPDIF
1416	tristate "S/PDIF CODEC"
1417
1418config SND_SOC_SSM2305
1419	tristate "Analog Devices SSM2305 Class-D Amplifier"
1420	help
1421	  Enable support for Analog Devices SSM2305 filterless
1422	  high-efficiency mono Class-D audio power amplifiers.
1423
1424config SND_SOC_SSM2518
1425	tristate "Analog Devices SSM2518 Class-D Amplifier"
1426	depends on I2C
1427
1428config SND_SOC_SSM2602
1429	tristate
1430
1431config SND_SOC_SSM2602_SPI
1432	tristate "Analog Devices SSM2602 CODEC - SPI"
1433	depends on SPI_MASTER
1434	select SND_SOC_SSM2602
1435	select REGMAP_SPI
1436
1437config SND_SOC_SSM2602_I2C
1438	tristate "Analog Devices SSM2602 CODEC - I2C"
1439	depends on I2C
1440	select SND_SOC_SSM2602
1441	select REGMAP_I2C
1442
1443config SND_SOC_SSM4567
1444	tristate "Analog Devices ssm4567 amplifier driver support"
1445	depends on I2C
1446
1447config SND_SOC_STA32X
1448	tristate "STA326, STA328 and STA329 speaker amplifier"
1449	depends on I2C
1450	select REGMAP_I2C
1451
1452config SND_SOC_STA350
1453	tristate "STA350 speaker amplifier"
1454	depends on I2C
1455
1456config SND_SOC_STA529
1457	tristate
1458	depends on I2C
1459
1460config SND_SOC_STAC9766
1461	tristate
1462	depends on SND_SOC_AC97_BUS
1463
1464config SND_SOC_STI_SAS
1465	tristate "codec Audio support for STI SAS codec"
1466
1467config SND_SOC_TAS2552
1468	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1469	depends on I2C
1470
1471config SND_SOC_TAS2562
1472	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1473	depends on I2C
1474
1475config SND_SOC_TAS2764
1476	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1477	depends on I2C
1478
1479config SND_SOC_TAS2770
1480	tristate "Texas Instruments TAS2770 speaker amplifier"
1481	depends on I2C
1482
1483config SND_SOC_TAS5086
1484	tristate "Texas Instruments TAS5086 speaker amplifier"
1485	depends on I2C
1486
1487config SND_SOC_TAS571X
1488	tristate "Texas Instruments TAS571x power amplifiers"
1489	depends on I2C
1490	help
1491	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1492	  TAS5719 and TAS5721 power amplifiers
1493
1494config SND_SOC_TAS5720
1495	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1496	depends on I2C
1497	help
1498	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1499	  Class-D audio power amplifiers.
1500
1501config SND_SOC_TAS5805M
1502	tristate "Texas Instruments TAS5805M speaker amplifier"
1503	depends on I2C
1504	help
1505	  Enable support for Texas Instruments TAS5805M Class-D
1506	  amplifiers. This is a speaker amplifier with an integrated
1507	  DSP. DSP configuration for each instance needs to be supplied
1508	  via a device-tree attribute.
1509
1510config SND_SOC_TAS6424
1511	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1512	depends on I2C
1513	help
1514	  Enable support for Texas Instruments TAS6424 high-efficiency
1515	  digital input quad-channel Class-D audio power amplifiers.
1516
1517config SND_SOC_TDA7419
1518	tristate "ST TDA7419 audio processor"
1519	depends on I2C
1520	select REGMAP_I2C
1521
1522config SND_SOC_TFA9879
1523	tristate "NXP Semiconductors TFA9879 amplifier"
1524	depends on I2C
1525
1526config SND_SOC_TFA989X
1527	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
1528	depends on I2C
1529	select REGMAP_I2C
1530	help
1531	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
1532	  amplifiers, e.g. TFA9895.
1533	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
1534	  and does not support (hardware) volume control.
1535
1536config SND_SOC_TLV320ADC3XXX
1537	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
1538	depends on I2C
1539	help
1540	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
1541	 ADCs.
1542
1543config SND_SOC_TLV320AIC23
1544	tristate
1545
1546config SND_SOC_TLV320AIC23_I2C
1547	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
1548	depends on I2C
1549	select SND_SOC_TLV320AIC23
1550
1551config SND_SOC_TLV320AIC23_SPI
1552	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
1553	depends on SPI_MASTER
1554	select SND_SOC_TLV320AIC23
1555
1556config SND_SOC_TLV320AIC26
1557	tristate
1558	depends on SPI
1559
1560config SND_SOC_TLV320AIC31XX
1561	tristate "Texas Instruments TLV320AIC31xx CODECs"
1562	depends on I2C
1563	select REGMAP_I2C
1564
1565config SND_SOC_TLV320AIC32X4
1566	tristate
1567	depends on COMMON_CLK
1568
1569config SND_SOC_TLV320AIC32X4_I2C
1570	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
1571	depends on I2C
1572	depends on COMMON_CLK
1573	select SND_SOC_TLV320AIC32X4
1574
1575config SND_SOC_TLV320AIC32X4_SPI
1576	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
1577	depends on SPI_MASTER
1578	depends on COMMON_CLK
1579	select SND_SOC_TLV320AIC32X4
1580
1581config SND_SOC_TLV320AIC3X
1582	tristate
1583
1584config SND_SOC_TLV320AIC3X_I2C
1585	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
1586	depends on I2C
1587	select SND_SOC_TLV320AIC3X
1588	select REGMAP_I2C
1589
1590config SND_SOC_TLV320AIC3X_SPI
1591	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
1592	depends on SPI_MASTER
1593	select SND_SOC_TLV320AIC3X
1594	select REGMAP_SPI
1595
1596config SND_SOC_TLV320DAC33
1597	tristate
1598	depends on I2C
1599
1600config SND_SOC_TLV320ADCX140
1601	tristate "Texas Instruments TLV320ADCX140 CODEC family"
1602	depends on I2C
1603	select REGMAP_I2C
1604	help
1605	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
1606	  tlv320adc6140 quad channel ADCs.
1607
1608config SND_SOC_TS3A227E
1609	tristate "TI Headset/Mic detect and keypress chip"
1610	depends on I2C
1611
1612config SND_SOC_TSCS42XX
1613	tristate "Tempo Semiconductor TSCS42xx CODEC"
1614	depends on I2C
1615	select REGMAP_I2C
1616	help
1617	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
1618
1619config SND_SOC_TSCS454
1620	tristate "Tempo Semiconductor TSCS454 CODEC"
1621	depends on I2C
1622	select REGMAP_I2C
1623	help
1624	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
1625
1626config SND_SOC_TWL4030
1627	tristate
1628	depends on TWL4030_CORE
1629	select MFD_TWL4030_AUDIO
1630
1631config SND_SOC_TWL6040
1632	tristate
1633	depends on TWL6040_CORE
1634
1635config SND_SOC_UDA1334
1636	tristate "NXP UDA1334 DAC"
1637	depends on GPIOLIB
1638	help
1639	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
1640	  and has basic features such as de-emphasis (at 44.1 kHz sampling
1641	  rate) and mute.
1642
1643config SND_SOC_UDA134X
1644	tristate
1645
1646config SND_SOC_UDA1380
1647	tristate
1648	depends on I2C
1649
1650config SND_SOC_WCD9335
1651	tristate "WCD9335 Codec"
1652	depends on SLIMBUS
1653	select REGMAP_SLIMBUS
1654	select REGMAP_IRQ
1655	help
1656	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
1657	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
1658	  including the MSM8996, MSM8976, and MSM8956 chipsets.
1659
1660config SND_SOC_WCD_MBHC
1661	tristate
1662
1663config SND_SOC_WCD934X
1664	tristate "WCD9340/WCD9341 Codec"
1665	depends on COMMON_CLK
1666	select SND_SOC_WCD_MBHC
1667	depends on MFD_WCD934X
1668	help
1669	  The WCD9340/9341 is a audio codec IC Integrated in
1670	  Qualcomm SoCs like SDM845.
1671
1672config SND_SOC_WCD938X
1673	depends on SND_SOC_WCD938X_SDW
1674	tristate
1675	depends on SOUNDWIRE || !SOUNDWIRE
1676
1677config SND_SOC_WCD938X_SDW
1678	tristate "WCD9380/WCD9385 Codec - SDW"
1679	select SND_SOC_WCD938X
1680	select SND_SOC_WCD_MBHC
1681	select REGMAP_IRQ
1682	depends on SOUNDWIRE
1683	select REGMAP_SOUNDWIRE
1684	help
1685	  The WCD9380/9385 is a audio codec IC Integrated in
1686	  Qualcomm SoCs like SM8250.
1687
1688config SND_SOC_WL1273
1689	tristate
1690
1691config SND_SOC_WM0010
1692	tristate
1693	depends on SPI_MASTER
1694
1695config SND_SOC_WM1250_EV1
1696	tristate
1697	depends on I2C
1698
1699config SND_SOC_WM2000
1700	tristate
1701	depends on I2C
1702
1703config SND_SOC_WM2200
1704	tristate
1705	depends on I2C
1706
1707config SND_SOC_WM5100
1708	tristate
1709	depends on I2C
1710
1711config SND_SOC_WM5102
1712	tristate
1713	depends on MFD_WM5102 && MFD_ARIZONA
1714
1715config SND_SOC_WM5110
1716	tristate
1717	depends on MFD_WM5110 && MFD_ARIZONA
1718
1719config SND_SOC_WM8350
1720	tristate
1721	depends on MFD_WM8350
1722
1723config SND_SOC_WM8400
1724	tristate
1725	# FIXME nothing selects SND_SOC_WM8400??
1726	depends on MFD_WM8400
1727
1728config SND_SOC_WM8510
1729	tristate "Wolfson Microelectronics WM8510 CODEC"
1730	depends on SND_SOC_I2C_AND_SPI
1731
1732config SND_SOC_WM8523
1733	tristate "Wolfson Microelectronics WM8523 DAC"
1734	depends on I2C
1735
1736config SND_SOC_WM8524
1737	tristate "Wolfson Microelectronics WM8524 DAC"
1738	depends on GPIOLIB
1739
1740config SND_SOC_WM8580
1741	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
1742	depends on I2C
1743
1744config SND_SOC_WM8711
1745	tristate "Wolfson Microelectronics WM8711 CODEC"
1746	depends on SND_SOC_I2C_AND_SPI
1747
1748config SND_SOC_WM8727
1749	tristate
1750
1751config SND_SOC_WM8728
1752	tristate "Wolfson Microelectronics WM8728 DAC"
1753	depends on SND_SOC_I2C_AND_SPI
1754
1755config SND_SOC_WM8731
1756	tristate "Wolfson Microelectronics WM8731 CODEC"
1757	depends on SND_SOC_I2C_AND_SPI
1758
1759config SND_SOC_WM8737
1760	tristate "Wolfson Microelectronics WM8737 ADC"
1761	depends on SND_SOC_I2C_AND_SPI
1762
1763config SND_SOC_WM8741
1764	tristate "Wolfson Microelectronics WM8741 DAC"
1765	depends on SND_SOC_I2C_AND_SPI
1766
1767config SND_SOC_WM8750
1768	tristate "Wolfson Microelectronics WM8750 CODEC"
1769	depends on SND_SOC_I2C_AND_SPI
1770
1771config SND_SOC_WM8753
1772	tristate "Wolfson Microelectronics WM8753 CODEC"
1773	depends on SND_SOC_I2C_AND_SPI
1774
1775config SND_SOC_WM8770
1776	tristate "Wolfson Microelectronics WM8770 CODEC"
1777	depends on SPI_MASTER
1778
1779config SND_SOC_WM8776
1780	tristate "Wolfson Microelectronics WM8776 CODEC"
1781	depends on SND_SOC_I2C_AND_SPI
1782
1783config SND_SOC_WM8782
1784	tristate "Wolfson Microelectronics WM8782 ADC"
1785
1786config SND_SOC_WM8804
1787	tristate
1788
1789config SND_SOC_WM8804_I2C
1790	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
1791	depends on I2C
1792	select SND_SOC_WM8804
1793	select REGMAP_I2C
1794
1795config SND_SOC_WM8804_SPI
1796	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
1797	depends on SPI_MASTER
1798	select SND_SOC_WM8804
1799	select REGMAP_SPI
1800
1801config SND_SOC_WM8900
1802	tristate
1803	depends on SND_SOC_I2C_AND_SPI
1804
1805config SND_SOC_WM8903
1806	tristate "Wolfson Microelectronics WM8903 CODEC"
1807	depends on I2C
1808
1809config SND_SOC_WM8904
1810	tristate "Wolfson Microelectronics WM8904 CODEC"
1811	depends on I2C
1812
1813config SND_SOC_WM8940
1814	tristate
1815	depends on I2C
1816
1817config SND_SOC_WM8955
1818	tristate
1819	depends on I2C
1820
1821config SND_SOC_WM8960
1822	tristate "Wolfson Microelectronics WM8960 CODEC"
1823	depends on I2C
1824
1825config SND_SOC_WM8961
1826	tristate
1827	depends on I2C
1828
1829config SND_SOC_WM8962
1830	tristate "Wolfson Microelectronics WM8962 CODEC"
1831	depends on I2C && INPUT
1832
1833config SND_SOC_WM8971
1834	tristate
1835	depends on I2C
1836
1837config SND_SOC_WM8974
1838	tristate "Wolfson Microelectronics WM8974 codec"
1839	depends on I2C
1840
1841config SND_SOC_WM8978
1842	tristate "Wolfson Microelectronics WM8978 codec"
1843	depends on I2C
1844
1845config SND_SOC_WM8983
1846	tristate
1847	depends on SND_SOC_I2C_AND_SPI
1848
1849config SND_SOC_WM8985
1850	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
1851	depends on SND_SOC_I2C_AND_SPI
1852
1853config SND_SOC_WM8988
1854	tristate
1855	depends on SND_SOC_I2C_AND_SPI
1856
1857config SND_SOC_WM8990
1858	tristate
1859	depends on I2C
1860
1861config SND_SOC_WM8991
1862	tristate
1863	depends on I2C
1864
1865config SND_SOC_WM8993
1866	tristate
1867	depends on I2C
1868
1869config SND_SOC_WM8994
1870	tristate
1871
1872config SND_SOC_WM8995
1873	tristate
1874	depends on SND_SOC_I2C_AND_SPI
1875
1876config SND_SOC_WM8996
1877	tristate
1878	depends on I2C
1879
1880config SND_SOC_WM8997
1881	tristate
1882	depends on MFD_WM8997 && MFD_ARIZONA
1883
1884config SND_SOC_WM8998
1885	tristate
1886	depends on MFD_WM8998 && MFD_ARIZONA
1887
1888config SND_SOC_WM9081
1889	tristate
1890	depends on I2C
1891
1892config SND_SOC_WM9090
1893	tristate
1894	depends on I2C
1895
1896config SND_SOC_WM9705
1897	tristate
1898	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1899	select REGMAP_AC97
1900	select AC97_BUS_COMPAT if AC97_BUS_NEW
1901
1902config SND_SOC_WM9712
1903	tristate
1904	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1905	select REGMAP_AC97
1906	select AC97_BUS_COMPAT if AC97_BUS_NEW
1907
1908config SND_SOC_WM9713
1909	tristate
1910	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
1911	select REGMAP_AC97
1912	select AC97_BUS_COMPAT if AC97_BUS_NEW
1913
1914config SND_SOC_WSA881X
1915	tristate "WSA881X Codec"
1916	depends on SOUNDWIRE
1917	select REGMAP_SOUNDWIRE
1918	tristate
1919	help
1920	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
1921	  Smart Speaker Amplifier.
1922
1923config SND_SOC_ZL38060
1924	tristate "Microsemi ZL38060 Connected Home Audio Processor"
1925	depends on SPI_MASTER
1926	select REGMAP
1927	help
1928	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
1929	  which consists of a Digital Signal Processor (DSP), several Digital
1930	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
1931
1932# Amp
1933config SND_SOC_LM4857
1934	tristate
1935	depends on I2C
1936
1937config SND_SOC_MAX9759
1938	tristate "Maxim MAX9759 speaker Amplifier"
1939	depends on GPIOLIB
1940
1941config SND_SOC_MAX9768
1942	tristate
1943	depends on I2C
1944
1945config SND_SOC_MAX9877
1946	tristate
1947	depends on I2C
1948
1949config SND_SOC_MC13783
1950	tristate
1951	depends on MFD_MC13XXX
1952
1953config SND_SOC_ML26124
1954	tristate
1955	depends on I2C
1956
1957config SND_SOC_MT6351
1958	tristate "MediaTek MT6351 Codec"
1959
1960config SND_SOC_MT6358
1961	tristate "MediaTek MT6358 Codec"
1962	help
1963	  Enable support for the platform which uses MT6358 as
1964	  external codec device.
1965
1966config SND_SOC_MT6359
1967	tristate "MediaTek MT6359 Codec"
1968	depends on MTK_PMIC_WRAP
1969	help
1970	  Enable support for the platform which uses MT6359 as
1971	  external codec device.
1972
1973config SND_SOC_MT6359_ACCDET
1974	tristate "MediaTek MT6359 ACCDET driver"
1975	depends on MTK_PMIC_WRAP
1976	help
1977	  ACCDET means Accessory Detection technology, MediaTek develop it
1978	  for ASoC codec soc-jack detection mechanism.
1979	  Select N if you don't have jack on board.
1980
1981config SND_SOC_MT6660
1982	tristate "Mediatek MT6660 Speaker Amplifier"
1983	depends on I2C
1984	help
1985	  MediaTek MT6660 is a smart power amplifier which contain
1986	  speaker protection, multi-band DRC, equalizer functions.
1987	  Select N if you don't have MT6660 on board.
1988	  Select M to build this as module.
1989
1990config SND_SOC_NAU8315
1991	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
1992	depends on GPIOLIB
1993
1994config SND_SOC_NAU8540
1995	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
1996	depends on I2C
1997
1998config SND_SOC_NAU8810
1999	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2000	depends on I2C
2001
2002config SND_SOC_NAU8821
2003	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2004	depends on I2C
2005
2006config SND_SOC_NAU8822
2007	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2008	depends on I2C
2009
2010config SND_SOC_NAU8824
2011	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2012	depends on I2C
2013
2014config SND_SOC_NAU8825
2015	tristate
2016	depends on I2C
2017
2018config SND_SOC_TPA6130A2
2019	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2020	depends on I2C
2021
2022config SND_SOC_LPASS_MACRO_COMMON
2023        tristate
2024
2025config SND_SOC_LPASS_WSA_MACRO
2026	depends on COMMON_CLK
2027	select REGMAP_MMIO
2028	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2029
2030config SND_SOC_LPASS_VA_MACRO
2031	depends on COMMON_CLK
2032	select REGMAP_MMIO
2033	select SND_SOC_LPASS_MACRO_COMMON
2034	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2035
2036config SND_SOC_LPASS_RX_MACRO
2037	depends on COMMON_CLK
2038	select REGMAP_MMIO
2039	select SND_SOC_LPASS_MACRO_COMMON
2040	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2041
2042config SND_SOC_LPASS_TX_MACRO
2043	depends on COMMON_CLK
2044	select REGMAP_MMIO
2045	select SND_SOC_LPASS_MACRO_COMMON
2046	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2047
2048endmenu
2049