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