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