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