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