xref: /linux-6.15/sound/soc/codecs/Kconfig (revision bbca8e70)
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_RT_SDW_COMMON
1549	tristate
1550	default y if SND_SOC_RT721_SDCA_SDW=y
1551	default m if SND_SOC_RT721_SDCA_SDW=m
1552
1553config SND_SOC_RL6347A
1554	tristate
1555	default y if SND_SOC_RT274=y
1556	default y if SND_SOC_RT286=y
1557	default y if SND_SOC_RT298=y
1558	default m if SND_SOC_RT274=m
1559	default m if SND_SOC_RT286=m
1560	default m if SND_SOC_RT298=m
1561
1562config SND_SOC_RT274
1563	tristate
1564	depends on I2C
1565
1566config SND_SOC_RT286
1567	tristate
1568	depends on I2C
1569
1570config SND_SOC_RT298
1571	tristate
1572	depends on I2C
1573
1574config SND_SOC_RT1011
1575	tristate
1576	depends on I2C
1577
1578config SND_SOC_RT1015
1579	tristate
1580	depends on I2C
1581
1582config SND_SOC_RT1015P
1583	tristate
1584
1585config SND_SOC_RT1016
1586	tristate
1587	depends on I2C
1588
1589config SND_SOC_RT1017_SDCA_SDW
1590	tristate "Realtek RT1017 SDCA Codec - SDW"
1591	depends on SOUNDWIRE
1592	select REGMAP_SOUNDWIRE
1593
1594config SND_SOC_RT1019
1595	tristate
1596	depends on I2C
1597
1598config SND_SOC_RT1305
1599	tristate
1600	depends on I2C
1601
1602config SND_SOC_RT1308
1603	tristate
1604	depends on I2C
1605
1606config SND_SOC_RT1308_SDW
1607	tristate "Realtek RT1308 Codec - SDW"
1608	depends on I2C && SOUNDWIRE
1609	select REGMAP_SOUNDWIRE
1610
1611config SND_SOC_RT1316_SDW
1612	tristate "Realtek RT1316 Codec - SDW"
1613	depends on SOUNDWIRE
1614	select REGMAP_SOUNDWIRE
1615
1616config SND_SOC_RT1318
1617	tristate
1618	depends on I2C
1619
1620config SND_SOC_RT1318_SDW
1621	tristate "Realtek RT1318 Codec - SDW"
1622	depends on SOUNDWIRE
1623	select REGMAP_SOUNDWIRE
1624
1625config SND_SOC_RT1320_SDW
1626	tristate "Realtek RT1320 Codec - SDW"
1627	depends on SOUNDWIRE
1628	select REGMAP_SOUNDWIRE
1629	select REGMAP_SOUNDWIRE_MBQ
1630
1631config SND_SOC_RT5514
1632	tristate
1633	depends on I2C
1634
1635config SND_SOC_RT5514_SPI
1636	tristate
1637	depends on SPI_MASTER
1638
1639config SND_SOC_RT5514_SPI_BUILTIN
1640	bool # force RT5514_SPI to be built-in to avoid link errors
1641	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1642
1643config SND_SOC_RT5616
1644	tristate "Realtek RT5616 CODEC"
1645	depends on I2C
1646
1647config SND_SOC_RT5631
1648	tristate "Realtek ALC5631/RT5631 CODEC"
1649	depends on I2C
1650
1651config SND_SOC_RT5640
1652	tristate "Realtek RT5640/RT5639 Codec"
1653	depends on I2C
1654
1655config SND_SOC_RT5645
1656	tristate
1657	depends on I2C
1658
1659config SND_SOC_RT5651
1660	tristate
1661	depends on I2C
1662
1663config SND_SOC_RT5659
1664	tristate "Realtek RT5658/RT5659 Codec"
1665	depends on I2C
1666
1667config SND_SOC_RT5660
1668	tristate
1669	depends on I2C
1670
1671config SND_SOC_RT5663
1672	tristate
1673	depends on I2C
1674
1675config SND_SOC_RT5665
1676	tristate
1677	depends on I2C
1678
1679config SND_SOC_RT5668
1680	tristate
1681	depends on I2C
1682
1683config SND_SOC_RT5670
1684	tristate
1685	depends on I2C
1686
1687config SND_SOC_RT5677
1688	tristate
1689	depends on I2C
1690	select REGMAP_I2C
1691	select REGMAP_IRQ
1692
1693config SND_SOC_RT5677_SPI
1694	tristate
1695	default SND_SOC_RT5677 && SPI
1696
1697config SND_SOC_RT5682
1698	tristate
1699
1700config SND_SOC_RT5682_I2C
1701	tristate
1702	depends on I2C
1703	select SND_SOC_RT5682
1704
1705config SND_SOC_RT5682_SDW
1706	tristate "Realtek RT5682 Codec - SDW"
1707	depends on SOUNDWIRE
1708	select SND_SOC_RT5682
1709	select REGMAP_SOUNDWIRE
1710
1711config SND_SOC_RT5682S
1712	tristate
1713	depends on I2C
1714
1715config SND_SOC_RT700
1716	tristate
1717
1718config SND_SOC_RT700_SDW
1719	tristate "Realtek RT700 Codec - SDW"
1720	depends on SOUNDWIRE
1721	select SND_SOC_RT700
1722	select REGMAP_SOUNDWIRE
1723
1724config SND_SOC_RT711
1725	tristate
1726
1727config SND_SOC_RT711_SDW
1728	tristate "Realtek RT711 Codec - SDW"
1729	depends on SOUNDWIRE
1730	select SND_SOC_RT711
1731	select REGMAP_SOUNDWIRE
1732
1733config SND_SOC_RT711_SDCA_SDW
1734	tristate "Realtek RT711 SDCA Codec - SDW"
1735	depends on SOUNDWIRE
1736	select REGMAP_SOUNDWIRE
1737	select REGMAP_SOUNDWIRE_MBQ
1738
1739config SND_SOC_RT712_SDCA_SDW
1740	tristate "Realtek RT712 SDCA Codec - SDW"
1741	depends on SOUNDWIRE
1742	select REGMAP_SOUNDWIRE
1743	select REGMAP_SOUNDWIRE_MBQ
1744
1745config SND_SOC_RT712_SDCA_DMIC_SDW
1746	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1747	depends on SOUNDWIRE
1748	select REGMAP_SOUNDWIRE
1749	select REGMAP_SOUNDWIRE_MBQ
1750
1751config SND_SOC_RT722_SDCA_SDW
1752	tristate "Realtek RT722 SDCA Codec - SDW"
1753	depends on SOUNDWIRE
1754	select REGMAP_SOUNDWIRE
1755	select REGMAP_SOUNDWIRE_MBQ
1756
1757config SND_SOC_RT715
1758	tristate
1759
1760config SND_SOC_RT715_SDW
1761	tristate "Realtek RT715 Codec - SDW"
1762	depends on SOUNDWIRE
1763	select SND_SOC_RT715
1764	select REGMAP_SOUNDWIRE
1765
1766config SND_SOC_RT715_SDCA_SDW
1767	tristate "Realtek RT715 SDCA Codec - SDW"
1768	depends on SOUNDWIRE
1769	select REGMAP_SOUNDWIRE
1770	select REGMAP_SOUNDWIRE_MBQ
1771
1772config SND_SOC_RT9120
1773	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1774	depends on I2C
1775	select REGMAP_I2C
1776	help
1777	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1778	  high-efficiency Class-D audio amplifier.
1779
1780config SND_SOC_RTQ9128
1781	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
1782	depends on I2C
1783	select REGMAP
1784	help
1785	  Enable support for Richtek RTQ9128 digital input 4-channel
1786	  automotive audio amplifier.  It is a ultra-low output noise,
1787	  high-efficiency, four-channel class-D audio power amplifier
1788	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
1789	  25V supply in automotive applications.
1790
1791	  To compile this driver as a module, choose M here: the module
1792	  will be called snd-soc-rtq9128.
1793
1794config SND_SOC_SDW_MOCKUP
1795	tristate "SoundWire mockup codec"
1796	depends on EXPERT
1797	depends on SOUNDWIRE
1798	help
1799	  This option enables a SoundWire mockup codec that does not drive the
1800	  bus, take part in the command/command protocol or generate data on a
1801	  Source port.
1802	  This option is only intended to be used for tests on a device
1803	  with a connector, in combination with a bus analyzer, or to test new
1804	  topologies that differ from the actual hardware layout.
1805	  This mockup device could be totally virtual but could also be a
1806	  real physical one with one key restriction: it is not allowed by the
1807	  SoundWire specification to be configured via a sideband mechanism and
1808	  generate audio data for capture. However, nothing prevents such a
1809	  peripheral device from snooping the bus.
1810
1811#Freescale sgtl5000 codec
1812config SND_SOC_SGTL5000
1813	tristate "Freescale SGTL5000 CODEC"
1814	depends on I2C
1815
1816config SND_SOC_SI476X
1817	tristate
1818
1819config SND_SOC_SIGMADSP
1820	tristate
1821	select CRC32
1822
1823config SND_SOC_SIGMADSP_I2C
1824	tristate
1825	select SND_SOC_SIGMADSP
1826
1827config SND_SOC_SIGMADSP_REGMAP
1828	tristate
1829	select SND_SOC_SIGMADSP
1830
1831config SND_SOC_SIMPLE_AMPLIFIER
1832	tristate "Simple Audio Amplifier"
1833
1834config SND_SOC_SIMPLE_MUX
1835	tristate "Simple Audio Mux"
1836	depends on GPIOLIB
1837
1838config SND_SOC_SMA1303
1839	tristate "Iron Device SMA1303 Audio Amplifier"
1840	depends on I2C
1841	help
1842	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
1843
1844config SND_SOC_SPDIF
1845	tristate "S/PDIF CODEC"
1846
1847config SND_SOC_SRC4XXX_I2C
1848	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
1849	depends on I2C
1850	select SND_SOC_SRC4XXX
1851	help
1852	  Enable support for the TI SRC4XXX family of codecs. These include the
1853	  scr4392 which has digital receivers, transmitters, and
1854	  a sample rate converter, including numerous ports.
1855
1856config SND_SOC_SRC4XXX
1857	tristate
1858
1859config SND_SOC_SSM2305
1860	tristate "Analog Devices SSM2305 Class-D Amplifier"
1861	help
1862	  Enable support for Analog Devices SSM2305 filterless
1863	  high-efficiency mono Class-D audio power amplifiers.
1864
1865config SND_SOC_SSM2518
1866	tristate "Analog Devices SSM2518 Class-D Amplifier"
1867	depends on I2C
1868
1869config SND_SOC_SSM2602
1870	tristate
1871
1872config SND_SOC_SSM2602_SPI
1873	tristate "Analog Devices SSM2602 CODEC - SPI"
1874	depends on SPI_MASTER
1875	select SND_SOC_SSM2602
1876	select REGMAP_SPI
1877
1878config SND_SOC_SSM2602_I2C
1879	tristate "Analog Devices SSM2602 CODEC - I2C"
1880	depends on I2C
1881	select SND_SOC_SSM2602
1882	select REGMAP_I2C
1883
1884config SND_SOC_SSM3515
1885	tristate "Analog Devices SSM3515 amplifier driver"
1886	select REGMAP_I2C
1887	depends on I2C
1888	depends on OF
1889
1890config SND_SOC_SSM4567
1891	tristate "Analog Devices ssm4567 amplifier driver support"
1892	depends on I2C
1893
1894config SND_SOC_STA32X
1895	tristate "STA326, STA328 and STA329 speaker amplifier"
1896	depends on I2C
1897	select REGMAP_I2C
1898
1899config SND_SOC_STA350
1900	tristate "STA350 speaker amplifier"
1901	depends on I2C
1902
1903config SND_SOC_STA529
1904	tristate
1905	depends on I2C
1906
1907config SND_SOC_STAC9766
1908	tristate
1909	depends on SND_SOC_AC97_BUS
1910	select REGMAP_AC97
1911
1912config SND_SOC_STI_SAS
1913	tristate "codec Audio support for STI SAS codec"
1914
1915config SND_SOC_TAS2552
1916	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
1917	depends on I2C
1918
1919config SND_SOC_TAS2562
1920	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
1921	depends on I2C
1922
1923config SND_SOC_TAS2764
1924	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
1925	depends on I2C
1926
1927config SND_SOC_TAS2770
1928	tristate "Texas Instruments TAS2770 speaker amplifier"
1929	depends on I2C
1930
1931config SND_SOC_TAS2780
1932	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
1933	depends on I2C
1934	help
1935	  Enable support for Texas Instruments TAS2780 high-efficiency
1936	  digital input mono Class-D audio power amplifiers.
1937
1938config SND_SOC_TAS2781_COMLIB
1939	depends on I2C
1940	select CRC8
1941	select REGMAP_I2C
1942	tristate
1943
1944config SND_SOC_TAS2781_FMWLIB
1945	depends on SND_SOC_TAS2781_COMLIB
1946	tristate
1947	default n
1948
1949config SND_SOC_TAS2781_I2C
1950	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
1951	depends on I2C
1952	select SND_SOC_TAS2781_COMLIB
1953	select SND_SOC_TAS2781_FMWLIB
1954	help
1955	  Enable support for Texas Instruments TAS2781 Smart Amplifier
1956	  Digital input mono Class-D and DSP-inside audio power amplifiers.
1957	  Note the TAS2781 driver implements a flexible and configurable
1958	  algo coefficient setting, for one, two or even multiple TAS2781
1959	  chips.
1960
1961config SND_SOC_TAS5086
1962	tristate "Texas Instruments TAS5086 speaker amplifier"
1963	depends on I2C
1964
1965config SND_SOC_TAS571X
1966	tristate "Texas Instruments TAS571x power amplifiers"
1967	depends on I2C
1968	help
1969	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
1970	  TAS5719 and TAS5721 power amplifiers
1971
1972config SND_SOC_TAS5720
1973	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
1974	depends on I2C
1975	help
1976	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
1977	  Class-D audio power amplifiers.
1978
1979config SND_SOC_TAS5805M
1980	tristate "Texas Instruments TAS5805M speaker amplifier"
1981	depends on I2C
1982	help
1983	  Enable support for Texas Instruments TAS5805M Class-D
1984	  amplifiers. This is a speaker amplifier with an integrated
1985	  DSP. DSP configuration for each instance needs to be supplied
1986	  via a device-tree attribute.
1987
1988config SND_SOC_TAS6424
1989	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
1990	depends on I2C
1991	help
1992	  Enable support for Texas Instruments TAS6424 high-efficiency
1993	  digital input quad-channel Class-D audio power amplifiers.
1994
1995config SND_SOC_TDA7419
1996	tristate "ST TDA7419 audio processor"
1997	depends on I2C
1998	select REGMAP_I2C
1999
2000config SND_SOC_TFA9879
2001	tristate "NXP Semiconductors TFA9879 amplifier"
2002	depends on I2C
2003
2004config SND_SOC_TFA989X
2005	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2006	depends on I2C
2007	select REGMAP_I2C
2008	help
2009	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2010	  amplifiers, e.g. TFA9895.
2011	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2012	  and does not support (hardware) volume control.
2013
2014config SND_SOC_TLV320ADC3XXX
2015	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2016	depends on I2C
2017	depends on GPIOLIB
2018	help
2019	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2020	 ADCs.
2021
2022config SND_SOC_TLV320AIC23
2023	tristate
2024
2025config SND_SOC_TLV320AIC23_I2C
2026	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2027	depends on I2C
2028	select SND_SOC_TLV320AIC23
2029
2030config SND_SOC_TLV320AIC23_SPI
2031	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2032	depends on SPI_MASTER
2033	select SND_SOC_TLV320AIC23
2034
2035config SND_SOC_TLV320AIC26
2036	tristate
2037	depends on SPI
2038
2039config SND_SOC_TLV320AIC31XX
2040	tristate "Texas Instruments TLV320AIC31xx CODECs"
2041	depends on I2C
2042	select REGMAP_I2C
2043
2044config SND_SOC_TLV320AIC32X4
2045	tristate
2046	depends on COMMON_CLK
2047
2048config SND_SOC_TLV320AIC32X4_I2C
2049	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2050	depends on I2C
2051	depends on COMMON_CLK
2052	select SND_SOC_TLV320AIC32X4
2053
2054config SND_SOC_TLV320AIC32X4_SPI
2055	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2056	depends on SPI_MASTER
2057	depends on COMMON_CLK
2058	select SND_SOC_TLV320AIC32X4
2059
2060config SND_SOC_TLV320AIC3X
2061	tristate
2062
2063config SND_SOC_TLV320AIC3X_I2C
2064	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2065	depends on I2C
2066	select SND_SOC_TLV320AIC3X
2067	select REGMAP_I2C
2068
2069config SND_SOC_TLV320AIC3X_SPI
2070	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2071	depends on SPI_MASTER
2072	select SND_SOC_TLV320AIC3X
2073	select REGMAP_SPI
2074
2075config SND_SOC_TLV320DAC33
2076	tristate
2077	depends on I2C
2078
2079config SND_SOC_TLV320ADCX140
2080	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2081	depends on I2C
2082	select REGMAP_I2C
2083	help
2084	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2085	  tlv320adc6140 quad channel ADCs.
2086
2087config SND_SOC_TS3A227E
2088	tristate "TI Headset/Mic detect and keypress chip"
2089	depends on I2C
2090
2091config SND_SOC_TSCS42XX
2092	tristate "Tempo Semiconductor TSCS42xx CODEC"
2093	depends on I2C
2094	select REGMAP_I2C
2095	help
2096	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2097
2098config SND_SOC_TSCS454
2099	tristate "Tempo Semiconductor TSCS454 CODEC"
2100	depends on I2C
2101	select REGMAP_I2C
2102	help
2103	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2104
2105config SND_SOC_TWL4030
2106	tristate
2107	depends on TWL4030_CORE
2108	select MFD_TWL4030_AUDIO
2109
2110config SND_SOC_TWL6040
2111	tristate
2112	depends on TWL6040_CORE
2113
2114config SND_SOC_UDA1334
2115	tristate "NXP UDA1334 DAC"
2116	depends on GPIOLIB
2117	help
2118	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2119	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2120	  rate) and mute.
2121
2122config SND_SOC_UDA1380
2123	tristate
2124	depends on I2C
2125
2126config SND_SOC_WCD_CLASSH
2127	tristate
2128
2129config SND_SOC_WCD9335
2130	tristate "WCD9335 Codec"
2131	depends on SLIMBUS
2132	select REGMAP_SLIMBUS
2133	select REGMAP_IRQ
2134	select SND_SOC_WCD_CLASSH
2135	help
2136	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2137	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2138	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2139
2140config SND_SOC_WCD_MBHC
2141	tristate
2142
2143config SND_SOC_WCD934X
2144	tristate "WCD9340/WCD9341 Codec"
2145	depends on COMMON_CLK
2146	depends on SLIMBUS
2147	select REGMAP_IRQ
2148	select REGMAP_SLIMBUS
2149	select SND_SOC_WCD_CLASSH
2150	select SND_SOC_WCD_MBHC
2151	depends on MFD_WCD934X || COMPILE_TEST
2152	help
2153	  The WCD9340/9341 is a audio codec IC Integrated in
2154	  Qualcomm SoCs like SDM845.
2155
2156config SND_SOC_WCD937X
2157	depends on SND_SOC_WCD937X_SDW
2158	tristate
2159	depends on SOUNDWIRE || !SOUNDWIRE
2160	select SND_SOC_WCD_CLASSH
2161
2162config SND_SOC_WCD937X_SDW
2163	tristate "WCD9370/WCD9375 Codec - SDW"
2164	select SND_SOC_WCD937X
2165	select SND_SOC_WCD_MBHC
2166	select REGMAP_IRQ
2167	depends on SOUNDWIRE
2168	select REGMAP_SOUNDWIRE
2169	help
2170	  The WCD9370/9375 is an audio codec IC used with SoCs
2171	  like SC7280 or QCM6490 chipsets, and it connected
2172	  via soundwire.
2173	  To compile this codec driver say Y or m.
2174
2175config SND_SOC_WCD938X
2176	depends on SND_SOC_WCD938X_SDW
2177	tristate
2178	depends on SOUNDWIRE || !SOUNDWIRE
2179	select SND_SOC_WCD_CLASSH
2180
2181config SND_SOC_WCD938X_SDW
2182	tristate "WCD9380/WCD9385 Codec - SDW"
2183	select SND_SOC_WCD938X
2184	select SND_SOC_WCD_MBHC
2185	select REGMAP_IRQ
2186	depends on SOUNDWIRE
2187	select REGMAP_SOUNDWIRE
2188	help
2189	  The WCD9380/9385 is a audio codec IC Integrated in
2190	  Qualcomm SoCs like SM8250.
2191
2192config SND_SOC_WCD939X
2193	depends on SND_SOC_WCD939X_SDW
2194	tristate
2195	depends on SOUNDWIRE || !SOUNDWIRE
2196	depends on TYPEC || !TYPEC
2197	select SND_SOC_WCD_CLASSH
2198
2199config SND_SOC_WCD939X_SDW
2200	tristate "WCD9390/WCD9395 Codec - SDW"
2201	depends on TYPEC || !TYPEC
2202	select SND_SOC_WCD939X
2203	select SND_SOC_WCD_MBHC
2204	select REGMAP_IRQ
2205	depends on SOUNDWIRE
2206	select REGMAP_SOUNDWIRE
2207	help
2208	  The WCD9390/9395 is a audio codec IC Integrated in
2209	  Qualcomm SoCs like SM8650.
2210
2211config SND_SOC_WL1273
2212	tristate
2213
2214config SND_SOC_WM0010
2215	tristate
2216	depends on SPI_MASTER
2217
2218config SND_SOC_WM1250_EV1
2219	tristate
2220	depends on I2C
2221
2222config SND_SOC_WM2000
2223	tristate
2224	depends on I2C
2225
2226config SND_SOC_WM2200
2227	tristate
2228	depends on I2C
2229
2230config SND_SOC_WM5100
2231	tristate
2232	depends on I2C
2233
2234config SND_SOC_WM5102
2235	tristate
2236	depends on MFD_WM5102 && MFD_ARIZONA
2237
2238config SND_SOC_WM5110
2239	tristate
2240	depends on MFD_WM5110 && MFD_ARIZONA
2241
2242config SND_SOC_WM8350
2243	tristate
2244	depends on MFD_WM8350
2245
2246config SND_SOC_WM8400
2247	tristate
2248	# FIXME nothing selects SND_SOC_WM8400??
2249	depends on MFD_WM8400
2250
2251config SND_SOC_WM8510
2252	tristate "Wolfson Microelectronics WM8510 CODEC"
2253	depends on SND_SOC_I2C_AND_SPI
2254
2255config SND_SOC_WM8523
2256	tristate "Wolfson Microelectronics WM8523 DAC"
2257	depends on I2C
2258
2259config SND_SOC_WM8524
2260	tristate "Wolfson Microelectronics WM8524 DAC"
2261	depends on GPIOLIB
2262
2263config SND_SOC_WM8580
2264	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2265	depends on I2C
2266
2267config SND_SOC_WM8711
2268	tristate "Wolfson Microelectronics WM8711 CODEC"
2269	depends on SND_SOC_I2C_AND_SPI
2270
2271config SND_SOC_WM8727
2272	tristate
2273
2274config SND_SOC_WM8728
2275	tristate "Wolfson Microelectronics WM8728 DAC"
2276	depends on SND_SOC_I2C_AND_SPI
2277
2278config SND_SOC_WM8731
2279	tristate
2280
2281config SND_SOC_WM8731_I2C
2282	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2283	depends on I2C
2284	select REGMAP
2285	select SND_SOC_WM8731
2286
2287config SND_SOC_WM8731_SPI
2288	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2289	depends on SPI
2290	select REGMAP
2291	select SND_SOC_WM8731
2292
2293config SND_SOC_WM8737
2294	tristate "Wolfson Microelectronics WM8737 ADC"
2295	depends on SND_SOC_I2C_AND_SPI
2296
2297config SND_SOC_WM8741
2298	tristate "Wolfson Microelectronics WM8741 DAC"
2299	depends on SND_SOC_I2C_AND_SPI
2300
2301config SND_SOC_WM8750
2302	tristate "Wolfson Microelectronics WM8750 CODEC"
2303	depends on SND_SOC_I2C_AND_SPI
2304
2305config SND_SOC_WM8753
2306	tristate "Wolfson Microelectronics WM8753 CODEC"
2307	depends on SND_SOC_I2C_AND_SPI
2308
2309config SND_SOC_WM8770
2310	tristate "Wolfson Microelectronics WM8770 CODEC"
2311	depends on SPI_MASTER
2312
2313config SND_SOC_WM8776
2314	tristate "Wolfson Microelectronics WM8776 CODEC"
2315	depends on SND_SOC_I2C_AND_SPI
2316
2317config SND_SOC_WM8782
2318	tristate "Wolfson Microelectronics WM8782 ADC"
2319
2320config SND_SOC_WM8804
2321	tristate
2322
2323config SND_SOC_WM8804_I2C
2324	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2325	depends on I2C
2326	select SND_SOC_WM8804
2327	select REGMAP_I2C
2328
2329config SND_SOC_WM8804_SPI
2330	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2331	depends on SPI_MASTER
2332	select SND_SOC_WM8804
2333	select REGMAP_SPI
2334
2335config SND_SOC_WM8900
2336	tristate
2337	depends on SND_SOC_I2C_AND_SPI
2338
2339config SND_SOC_WM8903
2340	tristate "Wolfson Microelectronics WM8903 CODEC"
2341	depends on I2C
2342
2343config SND_SOC_WM8904
2344	tristate "Wolfson Microelectronics WM8904 CODEC"
2345	depends on I2C
2346
2347config SND_SOC_WM8940
2348	tristate "Wolfson Microelectronics WM8940 codec"
2349	depends on I2C
2350
2351config SND_SOC_WM8955
2352	tristate
2353	depends on I2C
2354
2355config SND_SOC_WM8960
2356	tristate "Wolfson Microelectronics WM8960 CODEC"
2357	depends on I2C
2358
2359config SND_SOC_WM8961
2360	tristate "Wolfson Microelectronics WM8961 CODEC"
2361	depends on I2C
2362
2363config SND_SOC_WM8962
2364	tristate "Wolfson Microelectronics WM8962 CODEC"
2365	depends on I2C && INPUT
2366
2367config SND_SOC_WM8971
2368	tristate
2369	depends on I2C
2370
2371config SND_SOC_WM8974
2372	tristate "Wolfson Microelectronics WM8974 codec"
2373	depends on I2C
2374
2375config SND_SOC_WM8978
2376	tristate "Wolfson Microelectronics WM8978 codec"
2377	depends on I2C
2378
2379config SND_SOC_WM8983
2380	tristate
2381	depends on SND_SOC_I2C_AND_SPI
2382
2383config SND_SOC_WM8985
2384	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2385	depends on SND_SOC_I2C_AND_SPI
2386
2387config SND_SOC_WM8988
2388	tristate
2389	depends on SND_SOC_I2C_AND_SPI
2390
2391config SND_SOC_WM8990
2392	tristate
2393	depends on I2C
2394
2395config SND_SOC_WM8991
2396	tristate
2397	depends on I2C
2398
2399config SND_SOC_WM8993
2400	tristate
2401	depends on I2C
2402
2403config SND_SOC_WM8994
2404	tristate
2405
2406config SND_SOC_WM8995
2407	tristate
2408	depends on SND_SOC_I2C_AND_SPI
2409
2410config SND_SOC_WM8996
2411	tristate
2412	depends on I2C
2413
2414config SND_SOC_WM8997
2415	tristate
2416	depends on MFD_WM8997 && MFD_ARIZONA
2417
2418config SND_SOC_WM8998
2419	tristate
2420	depends on MFD_WM8998 && MFD_ARIZONA
2421
2422config SND_SOC_WM9081
2423	tristate
2424	depends on I2C
2425
2426config SND_SOC_WM9090
2427	tristate
2428	depends on I2C
2429
2430config SND_SOC_WM9705
2431	tristate
2432	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2433	select REGMAP_AC97
2434	select AC97_BUS_COMPAT if AC97_BUS_NEW
2435
2436config SND_SOC_WM9712
2437	tristate
2438	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2439	select REGMAP_AC97
2440	select AC97_BUS_COMPAT if AC97_BUS_NEW
2441
2442config SND_SOC_WM9713
2443	tristate
2444	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2445	select REGMAP_AC97
2446	select AC97_BUS_COMPAT if AC97_BUS_NEW
2447
2448config SND_SOC_WSA881X
2449	tristate "WSA881X Codec"
2450	depends on SOUNDWIRE
2451	select REGMAP_SOUNDWIRE
2452	help
2453	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2454	  Smart Speaker Amplifier.
2455
2456config SND_SOC_WSA883X
2457	tristate "WSA883X Codec"
2458	depends on SOUNDWIRE
2459	select REGMAP_SOUNDWIRE
2460	help
2461	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2462	  Smart Speaker Amplifier.
2463
2464config SND_SOC_WSA884X
2465	tristate "WSA884X Codec"
2466	depends on SOUNDWIRE
2467	select REGMAP_SOUNDWIRE
2468	help
2469	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2470	  Smart Speaker Amplifier.
2471
2472config SND_SOC_ZL38060
2473	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2474	depends on SPI_MASTER
2475	depends on GPIOLIB
2476	select REGMAP
2477	help
2478	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2479	  which consists of a Digital Signal Processor (DSP), several Digital
2480	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2481
2482# Amp
2483config SND_SOC_LM4857
2484	tristate
2485	depends on I2C
2486
2487config SND_SOC_MAX9759
2488	tristate "Maxim MAX9759 speaker Amplifier"
2489	depends on GPIOLIB
2490
2491config SND_SOC_MAX9768
2492	tristate
2493	depends on I2C
2494
2495config SND_SOC_MAX9877
2496	tristate
2497	depends on I2C
2498
2499config SND_SOC_MC13783
2500	tristate
2501	depends on MFD_MC13XXX
2502
2503config SND_SOC_ML26124
2504	tristate
2505	depends on I2C
2506
2507config SND_SOC_MT6351
2508	tristate "MediaTek MT6351 Codec"
2509
2510config SND_SOC_MT6357
2511	tristate "MediaTek MT6357 Codec"
2512	help
2513	  Enable support for the platform which uses MT6357 as
2514	  external codec device.
2515
2516config SND_SOC_MT6358
2517	tristate "MediaTek MT6358 Codec"
2518	help
2519	  Enable support for the platform which uses MT6358 as
2520	  external codec device.
2521
2522config SND_SOC_MT6359
2523	tristate "MediaTek MT6359 Codec"
2524	depends on MTK_PMIC_WRAP
2525	help
2526	  Enable support for the platform which uses MT6359 as
2527	  external codec device.
2528
2529config SND_SOC_MT6359_ACCDET
2530	tristate "MediaTek MT6359 ACCDET driver"
2531	depends on MTK_PMIC_WRAP
2532	help
2533	  ACCDET means Accessory Detection technology, MediaTek develop it
2534	  for ASoC codec soc-jack detection mechanism.
2535	  Select N if you don't have jack on board.
2536
2537config SND_SOC_MT6660
2538	tristate "Mediatek MT6660 Speaker Amplifier"
2539	depends on I2C
2540	help
2541	  MediaTek MT6660 is a smart power amplifier which contain
2542	  speaker protection, multi-band DRC, equalizer functions.
2543	  Select N if you don't have MT6660 on board.
2544	  Select M to build this as module.
2545
2546config SND_SOC_NAU8315
2547	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2548
2549config SND_SOC_NAU8540
2550	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2551	depends on I2C
2552
2553config SND_SOC_NAU8810
2554	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2555	depends on I2C
2556
2557config SND_SOC_NAU8821
2558	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2559	depends on I2C
2560
2561config SND_SOC_NAU8822
2562	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2563	depends on I2C
2564
2565config SND_SOC_NAU8824
2566	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2567	depends on I2C
2568
2569config SND_SOC_NAU8825
2570	tristate
2571	depends on I2C
2572
2573config SND_SOC_NTPFW
2574	tristate
2575
2576config SND_SOC_NTP8918
2577	select SND_SOC_NTPFW
2578	tristate "NeoFidelity NTP8918 amplifier"
2579	depends on I2C
2580
2581config SND_SOC_NTP8835
2582	select SND_SOC_NTPFW
2583	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2584	depends on I2C
2585
2586config SND_SOC_TPA6130A2
2587	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2588	depends on I2C
2589
2590config SND_SOC_LPASS_MACRO_COMMON
2591        tristate
2592
2593config SND_SOC_LPASS_WSA_MACRO
2594	depends on COMMON_CLK
2595	select REGMAP_MMIO
2596	select SND_SOC_LPASS_MACRO_COMMON
2597	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2598
2599config SND_SOC_LPASS_VA_MACRO
2600	depends on COMMON_CLK
2601	select REGMAP_MMIO
2602	select SND_SOC_LPASS_MACRO_COMMON
2603	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2604
2605config SND_SOC_LPASS_RX_MACRO
2606	depends on COMMON_CLK
2607	select REGMAP_MMIO
2608	select SND_SOC_LPASS_MACRO_COMMON
2609	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2610
2611config SND_SOC_LPASS_TX_MACRO
2612	depends on COMMON_CLK
2613	select REGMAP_MMIO
2614	select SND_SOC_LPASS_MACRO_COMMON
2615	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2616
2617endmenu
2618