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