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