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