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