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