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