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