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