xref: /linux/sound/soc/codecs/Kconfig (revision bbb758a6943e19c483ab752cf8220140b46cf22c)
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	tristate "Realtek ALC5575 Codec - SPI"
1805	depends on SPI_MASTER && I2C
1806	depends on SND_SOC_RT5575
1807
1808config SND_SOC_RT5616
1809	tristate "Realtek RT5616 CODEC"
1810	depends on I2C
1811
1812config SND_SOC_RT5631
1813	tristate "Realtek ALC5631/RT5631 CODEC"
1814	depends on I2C
1815
1816config SND_SOC_RT5640
1817	tristate "Realtek RT5640/RT5639 Codec"
1818	depends on I2C
1819
1820config SND_SOC_RT5645
1821	tristate
1822	depends on I2C
1823
1824config SND_SOC_RT5651
1825	tristate
1826	depends on I2C
1827
1828config SND_SOC_RT5659
1829	tristate "Realtek RT5658/RT5659 Codec"
1830	depends on I2C
1831
1832config SND_SOC_RT5660
1833	tristate
1834	depends on I2C
1835
1836config SND_SOC_RT5663
1837	tristate
1838	depends on I2C
1839
1840config SND_SOC_RT5665
1841	tristate
1842	depends on I2C
1843
1844config SND_SOC_RT5668
1845	tristate
1846	depends on I2C
1847
1848config SND_SOC_RT5670
1849	tristate
1850	depends on I2C
1851
1852config SND_SOC_RT5677
1853	tristate
1854	depends on I2C
1855	select REGMAP_I2C
1856	select REGMAP_IRQ
1857
1858config SND_SOC_RT5677_SPI
1859	tristate
1860	default SND_SOC_RT5677 && SPI
1861
1862config SND_SOC_RT5682
1863	tristate
1864
1865config SND_SOC_RT5682_I2C
1866	tristate
1867	depends on I2C
1868	select SND_SOC_RT5682
1869
1870config SND_SOC_RT5682_SDW
1871	tristate "Realtek RT5682 Codec - SDW"
1872	depends on SOUNDWIRE
1873	select SND_SOC_RT5682
1874	select REGMAP_SOUNDWIRE
1875
1876config SND_SOC_RT5682S
1877	tristate
1878	depends on I2C
1879
1880config SND_SOC_RT700
1881	tristate
1882
1883config SND_SOC_RT700_SDW
1884	tristate "Realtek RT700 Codec - SDW"
1885	depends on SOUNDWIRE
1886	select SND_SOC_RT700
1887	select REGMAP_SOUNDWIRE
1888
1889config SND_SOC_RT711
1890	tristate
1891
1892config SND_SOC_RT711_SDW
1893	tristate "Realtek RT711 Codec - SDW"
1894	depends on SOUNDWIRE
1895	select SND_SOC_RT711
1896	select REGMAP_SOUNDWIRE
1897
1898config SND_SOC_RT711_SDCA_SDW
1899	tristate "Realtek RT711 SDCA Codec - SDW"
1900	depends on SOUNDWIRE
1901	select REGMAP_SOUNDWIRE
1902	select REGMAP_SOUNDWIRE_MBQ
1903
1904config SND_SOC_RT712_SDCA_SDW
1905	tristate "Realtek RT712 SDCA Codec - SDW"
1906	depends on SOUNDWIRE
1907	select REGMAP_SOUNDWIRE
1908	select REGMAP_SOUNDWIRE_MBQ
1909
1910config SND_SOC_RT712_SDCA_DMIC_SDW
1911	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1912	depends on SOUNDWIRE
1913	select REGMAP_SOUNDWIRE
1914	select REGMAP_SOUNDWIRE_MBQ
1915
1916config SND_SOC_RT721_SDCA_SDW
1917	tristate "Realtek RT721 SDCA Codec - SDW"
1918	depends on SOUNDWIRE
1919	select REGMAP_SOUNDWIRE
1920	select REGMAP_SOUNDWIRE_MBQ
1921
1922config SND_SOC_RT722_SDCA_SDW
1923	tristate "Realtek RT722 SDCA Codec - SDW"
1924	depends on SOUNDWIRE
1925	select REGMAP_SOUNDWIRE
1926	select REGMAP_SOUNDWIRE_MBQ
1927
1928config SND_SOC_RT715
1929	tristate
1930
1931config SND_SOC_RT715_SDW
1932	tristate "Realtek RT715 Codec - SDW"
1933	depends on SOUNDWIRE
1934	select SND_SOC_RT715
1935	select REGMAP_SOUNDWIRE
1936
1937config SND_SOC_RT715_SDCA_SDW
1938	tristate "Realtek RT715 SDCA Codec - SDW"
1939	depends on SOUNDWIRE
1940	select REGMAP_SOUNDWIRE
1941	select REGMAP_SOUNDWIRE_MBQ
1942
1943config SND_SOC_RT9120
1944	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1945	depends on I2C
1946	select REGMAP_I2C
1947	help
1948	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1949	  high-efficiency Class-D audio amplifier.
1950
1951config SND_SOC_RT9123
1952	tristate "Richtek RT9123 Mono Class-D Amplifier"
1953	depends on I2C
1954	select REGMAP_I2C
1955	help
1956	  Enable support for the I2C control mode of Richtek RT9123 3.2W mono
1957	  Class-D audio amplifier.
1958
1959config SND_SOC_RT9123P
1960	tristate "Richtek RT9123P Mono Class-D Amplifier"
1961	help
1962	  Enable support for the HW control mode of Richtek RT9123P 3.2W mono
1963	  Class-D audio amplifier.
1964
1965config SND_SOC_RTQ9124
1966	tristate "Richtek RTQ9124 Mono Class-D Amplifier"
1967	depends on I2C
1968	select REGMAP
1969	help
1970	  Enable support for Richtek RTQ9124 1x30W digital input automotive
1971	  audio amplifier with current sense and real-time load diagnostics.
1972
1973config SND_SOC_RTQ9128
1974	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
1975	depends on I2C
1976	select REGMAP
1977	help
1978	  Enable support for Richtek RTQ9128 digital input 4-channel
1979	  automotive audio amplifier.  It is a ultra-low output noise,
1980	  high-efficiency, four-channel class-D audio power amplifier
1981	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
1982	  25V supply in automotive applications.
1983
1984	  To compile this driver as a module, choose M here: the module
1985	  will be called snd-soc-rtq9128.
1986
1987config SND_SOC_SDW_MOCKUP
1988	tristate "SoundWire mockup codec"
1989	depends on EXPERT
1990	depends on SOUNDWIRE
1991	help
1992	  This option enables a SoundWire mockup codec that does not drive the
1993	  bus, take part in the command/command protocol or generate data on a
1994	  Source port.
1995	  This option is only intended to be used for tests on a device
1996	  with a connector, in combination with a bus analyzer, or to test new
1997	  topologies that differ from the actual hardware layout.
1998	  This mockup device could be totally virtual but could also be a
1999	  real physical one with one key restriction: it is not allowed by the
2000	  SoundWire specification to be configured via a sideband mechanism and
2001	  generate audio data for capture. However, nothing prevents such a
2002	  peripheral device from snooping the bus.
2003
2004#Freescale sgtl5000 codec
2005config SND_SOC_SGTL5000
2006	tristate "Freescale SGTL5000 CODEC"
2007	depends on I2C
2008
2009config SND_SOC_SI476X
2010	tristate
2011	depends on MFD_SI476X_CORE
2012
2013config SND_SOC_SIGMADSP
2014	tristate
2015	select CRC32
2016
2017config SND_SOC_SIGMADSP_I2C
2018	tristate
2019	select SND_SOC_SIGMADSP
2020
2021config SND_SOC_SIGMADSP_REGMAP
2022	tristate
2023	select SND_SOC_SIGMADSP
2024
2025config SND_SOC_SIMPLE_AMPLIFIER
2026	tristate "Simple Audio Amplifier"
2027
2028config SND_SOC_SIMPLE_MUX
2029	tristate "Simple Audio Mux"
2030	depends on GPIOLIB
2031
2032config SND_SOC_SMA1303
2033	tristate "Iron Device SMA1303 Audio Amplifier"
2034	depends on I2C
2035	help
2036	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
2037
2038config SND_SOC_SMA1307
2039	tristate "Iron Device SMA1307 Audio Amplifier"
2040	depends on I2C
2041	help
2042	  Enable support for Iron Device SMA1307 boosted digital speaker
2043	  amplifier with feedback-loop.
2044	  If you are using a system with an SMA1307 amplifier connected
2045	  via I2C, enable this option.
2046
2047config SND_SOC_SPDIF
2048	tristate "S/PDIF CODEC"
2049
2050config SND_SOC_SRC4XXX_I2C
2051	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
2052	depends on I2C
2053	select SND_SOC_SRC4XXX
2054	help
2055	  Enable support for the TI SRC4XXX family of codecs. These include the
2056	  scr4392 which has digital receivers, transmitters, and
2057	  a sample rate converter, including numerous ports.
2058
2059config SND_SOC_SRC4XXX
2060	tristate
2061
2062config SND_SOC_SSM2305
2063	tristate "Analog Devices SSM2305 Class-D Amplifier"
2064	help
2065	  Enable support for Analog Devices SSM2305 filterless
2066	  high-efficiency mono Class-D audio power amplifiers.
2067
2068config SND_SOC_SSM2518
2069	tristate "Analog Devices SSM2518 Class-D Amplifier"
2070	depends on I2C
2071
2072config SND_SOC_SSM2602
2073	tristate
2074
2075config SND_SOC_SSM2602_SPI
2076	tristate "Analog Devices SSM2602 CODEC - SPI"
2077	depends on SPI_MASTER
2078	select SND_SOC_SSM2602
2079	select REGMAP_SPI
2080
2081config SND_SOC_SSM2602_I2C
2082	tristate "Analog Devices SSM2602 CODEC - I2C"
2083	depends on I2C
2084	select SND_SOC_SSM2602
2085	select REGMAP_I2C
2086
2087config SND_SOC_SSM3515
2088	tristate "Analog Devices SSM3515 amplifier driver"
2089	select REGMAP_I2C
2090	depends on I2C
2091	depends on OF
2092
2093config SND_SOC_SSM4567
2094	tristate "Analog Devices ssm4567 amplifier driver support"
2095	depends on I2C
2096
2097config SND_SOC_STA32X
2098	tristate "STA326, STA328 and STA329 speaker amplifier"
2099	depends on I2C
2100	select REGMAP_I2C
2101
2102config SND_SOC_STA350
2103	tristate "STA350 speaker amplifier"
2104	depends on I2C
2105
2106config SND_SOC_STA529
2107	tristate
2108	depends on I2C
2109
2110config SND_SOC_STAC9766
2111	tristate
2112	depends on SND_SOC_AC97_BUS
2113	select REGMAP_AC97
2114
2115config SND_SOC_STI_SAS
2116	tristate "codec Audio support for STI SAS codec"
2117
2118config SND_SOC_TAS2552
2119	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2120	depends on I2C
2121
2122config SND_SOC_TAS2562
2123	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2124	depends on I2C
2125
2126config SND_SOC_TAS2764
2127	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2128	depends on I2C
2129
2130config SND_SOC_TAS2770
2131	tristate "Texas Instruments TAS2770 speaker amplifier"
2132	depends on I2C
2133
2134config SND_SOC_TAS2780
2135	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2136	depends on I2C
2137	help
2138	  Enable support for Texas Instruments TAS2780 high-efficiency
2139	  digital input mono Class-D audio power amplifiers.
2140
2141config SND_SOC_TAS2781_COMLIB
2142	tristate
2143
2144config SND_SOC_TAS2781_COMLIB_I2C
2145	depends on I2C
2146	select CRC8
2147	select REGMAP_I2C
2148	tristate
2149
2150config SND_SOC_TAS2781_FMWLIB
2151	select SND_SOC_TAS2781_COMLIB
2152	select CRC8
2153	tristate
2154	default n
2155
2156config SND_SOC_TAS2781_I2C
2157	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2158	depends on I2C
2159	select SND_SOC_TAS2781_COMLIB_I2C
2160	select SND_SOC_TAS2781_FMWLIB
2161	help
2162	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2163	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2164	  Note the TAS2781 driver implements a flexible and configurable
2165	  algo coefficient setting, for one, two or even multiple TAS2781
2166	  chips.
2167
2168config SND_SOC_TAS2783_SDW
2169	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2170	depends on SOUNDWIRE
2171	depends on SND_SOC_SDCA
2172	depends on EFI
2173	select REGMAP_SOUNDWIRE
2174	select REGMAP_SOUNDWIRE_MBQ
2175	select CRC32
2176	help
2177	  Enable support for Texas Instruments TAS2783A Digital input
2178	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2179	  driver implements a flexible and configurable algorithm
2180	  cofficient setting, for one, two or multiple TAS2783 chips.
2181
2182config SND_SOC_TAS5086
2183	tristate "Texas Instruments TAS5086 speaker amplifier"
2184	depends on I2C
2185
2186config SND_SOC_TAS571X
2187	tristate "Texas Instruments TAS571x power amplifiers"
2188	depends on I2C
2189	help
2190	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2191	  TAS5719 and TAS5721 power amplifiers
2192
2193config SND_SOC_TAS5720
2194	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2195	depends on I2C
2196	help
2197	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2198	  Class-D audio power amplifiers.
2199
2200config SND_SOC_TAS5805M
2201	tristate "Texas Instruments TAS5805M speaker amplifier"
2202	depends on I2C
2203	help
2204	  Enable support for Texas Instruments TAS5805M Class-D
2205	  amplifiers. This is a speaker amplifier with an integrated
2206	  DSP. DSP configuration for each instance needs to be supplied
2207	  via a device-tree attribute.
2208
2209config SND_SOC_TAS6424
2210	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2211	depends on I2C
2212	help
2213	  Enable support for Texas Instruments TAS6424 high-efficiency
2214	  digital input quad-channel Class-D audio power amplifiers.
2215
2216config SND_SOC_TDA7419
2217	tristate "ST TDA7419 audio processor"
2218	depends on I2C
2219	select REGMAP_I2C
2220
2221config SND_SOC_TFA9879
2222	tristate "NXP Semiconductors TFA9879 amplifier"
2223	depends on I2C
2224
2225config SND_SOC_TFA989X
2226	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2227	depends on I2C
2228	select REGMAP_I2C
2229	help
2230	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2231	  amplifiers, e.g. TFA9895.
2232	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2233	  and does not support (hardware) volume control.
2234
2235config SND_SOC_TLV320ADC3XXX
2236	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2237	depends on I2C
2238	depends on GPIOLIB
2239	help
2240	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2241	 ADCs.
2242
2243config SND_SOC_TLV320AIC23
2244	tristate
2245
2246config SND_SOC_TLV320AIC23_I2C
2247	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2248	depends on I2C
2249	select SND_SOC_TLV320AIC23
2250
2251config SND_SOC_TLV320AIC23_SPI
2252	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2253	depends on SPI_MASTER
2254	select SND_SOC_TLV320AIC23
2255
2256config SND_SOC_TLV320AIC26
2257	tristate
2258	depends on SPI
2259
2260config SND_SOC_TLV320AIC31XX
2261	tristate "Texas Instruments TLV320AIC31xx CODECs"
2262	depends on I2C
2263	select REGMAP_I2C
2264
2265config SND_SOC_TLV320AIC32X4
2266	tristate
2267	depends on COMMON_CLK
2268
2269config SND_SOC_TLV320AIC32X4_I2C
2270	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2271	depends on I2C
2272	depends on COMMON_CLK
2273	select SND_SOC_TLV320AIC32X4
2274
2275config SND_SOC_TLV320AIC32X4_SPI
2276	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2277	depends on SPI_MASTER
2278	depends on COMMON_CLK
2279	select SND_SOC_TLV320AIC32X4
2280
2281config SND_SOC_TLV320AIC3X
2282	tristate
2283
2284config SND_SOC_TLV320AIC3X_I2C
2285	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2286	depends on I2C
2287	select SND_SOC_TLV320AIC3X
2288	select REGMAP_I2C
2289
2290config SND_SOC_TLV320AIC3X_SPI
2291	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2292	depends on SPI_MASTER
2293	select SND_SOC_TLV320AIC3X
2294	select REGMAP_SPI
2295
2296config SND_SOC_TLV320DAC33
2297	tristate
2298	depends on I2C
2299	depends on GPIOLIB_LEGACY
2300
2301config SND_SOC_TLV320ADCX140
2302	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2303	depends on I2C
2304	select REGMAP_I2C
2305	help
2306	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2307	  tlv320adc6140 quad channel ADCs.
2308
2309config SND_SOC_TS3A227E
2310	tristate "TI Headset/Mic detect and keypress chip"
2311	depends on I2C
2312
2313config SND_SOC_TSCS42XX
2314	tristate "Tempo Semiconductor TSCS42xx CODEC"
2315	depends on I2C
2316	select REGMAP_I2C
2317	help
2318	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2319
2320config SND_SOC_TSCS454
2321	tristate "Tempo Semiconductor TSCS454 CODEC"
2322	depends on I2C
2323	select REGMAP_I2C
2324	help
2325	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2326
2327config SND_SOC_TWL4030
2328	tristate
2329	depends on TWL4030_CORE
2330	select MFD_TWL4030_AUDIO
2331
2332config SND_SOC_TWL6040
2333	tristate
2334	depends on TWL6040_CORE
2335
2336config SND_SOC_UDA1334
2337	tristate "NXP UDA1334 DAC"
2338	depends on GPIOLIB
2339	help
2340	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2341	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2342	  rate) and mute.
2343
2344config SND_SOC_UDA1342
2345	tristate "NXP UDA1342 CODEC"
2346	depends on I2C
2347	help
2348	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2349	  mic inputs), stereo audio DAC, with basic audio processing.
2350
2351config SND_SOC_UDA1380
2352	tristate
2353	depends on I2C
2354	depends on GPIOLIB_LEGACY
2355
2356config SND_SOC_WCD_CLASSH
2357	tristate
2358
2359config SND_SOC_WCD_COMMON
2360	tristate
2361
2362config SND_SOC_WCD9335
2363	tristate "WCD9335 Codec"
2364	depends on SLIMBUS
2365	select REGMAP_SLIMBUS
2366	select REGMAP_IRQ
2367	select SND_SOC_WCD_CLASSH
2368	help
2369	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2370	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2371	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2372
2373config SND_SOC_WCD_MBHC
2374	tristate
2375
2376config SND_SOC_WCD934X
2377	tristate "WCD9340/WCD9341 Codec"
2378	depends on COMMON_CLK
2379	depends on SLIMBUS
2380	depends on SOUNDWIRE || !SOUNDWIRE
2381	select REGMAP_IRQ
2382	select REGMAP_SLIMBUS
2383	select SND_SOC_WCD_CLASSH
2384	select SND_SOC_WCD_COMMON
2385	select SND_SOC_WCD_MBHC
2386	depends on MFD_WCD934X || COMPILE_TEST
2387	help
2388	  The WCD9340/9341 is a audio codec IC Integrated in
2389	  Qualcomm SoCs like SDM845.
2390
2391config SND_SOC_WCD937X
2392	depends on SND_SOC_WCD937X_SDW
2393	tristate
2394	depends on SOUNDWIRE || !SOUNDWIRE
2395	select SND_SOC_WCD_CLASSH
2396	select SND_SOC_WCD_COMMON
2397
2398config SND_SOC_WCD937X_SDW
2399	tristate "WCD9370/WCD9375 Codec - SDW"
2400	select SND_SOC_WCD937X
2401	select SND_SOC_WCD_MBHC
2402	select REGMAP_IRQ
2403	depends on SOUNDWIRE
2404	select REGMAP_SOUNDWIRE
2405	help
2406	  The WCD9370/9375 is an audio codec IC used with SoCs
2407	  like SC7280 or QCM6490 chipsets, and it connected
2408	  via soundwire.
2409	  To compile this codec driver say Y or m.
2410
2411config SND_SOC_WCD938X
2412	depends on SND_SOC_WCD938X_SDW
2413	tristate
2414	depends on SOUNDWIRE || !SOUNDWIRE
2415	select SND_SOC_WCD_CLASSH
2416	select SND_SOC_WCD_COMMON
2417	select MULTIPLEXER
2418
2419config SND_SOC_WCD938X_SDW
2420	tristate "WCD9380/WCD9385 Codec - SDW"
2421	select SND_SOC_WCD938X
2422	select SND_SOC_WCD_MBHC
2423	select REGMAP_IRQ
2424	depends on SOUNDWIRE
2425	select REGMAP_SOUNDWIRE
2426	help
2427	  The WCD9380/9385 is a audio codec IC Integrated in
2428	  Qualcomm SoCs like SM8250.
2429
2430config SND_SOC_WCD939X
2431	depends on SND_SOC_WCD939X_SDW
2432	tristate
2433	depends on SOUNDWIRE || !SOUNDWIRE
2434	depends on TYPEC || !TYPEC
2435	select SND_SOC_WCD_CLASSH
2436	select SND_SOC_WCD_COMMON
2437
2438config SND_SOC_WCD939X_SDW
2439	tristate "WCD9390/WCD9395 Codec - SDW"
2440	depends on TYPEC || !TYPEC
2441	select SND_SOC_WCD939X
2442	select SND_SOC_WCD_MBHC
2443	select REGMAP_IRQ
2444	depends on SOUNDWIRE
2445	select REGMAP_SOUNDWIRE
2446	help
2447	  The WCD9390/9395 is a audio codec IC Integrated in
2448	  Qualcomm SoCs like SM8650.
2449
2450config SND_SOC_WM0010
2451	tristate
2452	depends on SPI_MASTER
2453
2454config SND_SOC_WM1250_EV1
2455	tristate
2456	depends on I2C
2457
2458config SND_SOC_WM2000
2459	tristate
2460	depends on I2C
2461
2462config SND_SOC_WM2200
2463	tristate
2464	depends on I2C
2465
2466config SND_SOC_WM5100
2467	tristate
2468	depends on I2C
2469
2470config SND_SOC_WM5102
2471	tristate
2472	depends on MFD_WM5102 && MFD_ARIZONA
2473
2474config SND_SOC_WM5110
2475	tristate
2476	depends on MFD_WM5110 && MFD_ARIZONA
2477
2478config SND_SOC_WM8350
2479	tristate
2480	depends on MFD_WM8350
2481
2482config SND_SOC_WM8400
2483	tristate
2484	# FIXME nothing selects SND_SOC_WM8400??
2485	depends on MFD_WM8400
2486
2487config SND_SOC_WM8510
2488	tristate "Wolfson Microelectronics WM8510 CODEC"
2489	depends on SND_SOC_I2C_AND_SPI
2490
2491config SND_SOC_WM8523
2492	tristate "Wolfson Microelectronics WM8523 DAC"
2493	depends on I2C
2494
2495config SND_SOC_WM8524
2496	tristate "Wolfson Microelectronics WM8524 DAC"
2497	depends on GPIOLIB
2498
2499config SND_SOC_WM8580
2500	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2501	depends on I2C
2502
2503config SND_SOC_WM8711
2504	tristate "Wolfson Microelectronics WM8711 CODEC"
2505	depends on SND_SOC_I2C_AND_SPI
2506
2507config SND_SOC_WM8727
2508	tristate
2509
2510config SND_SOC_WM8728
2511	tristate "Wolfson Microelectronics WM8728 DAC"
2512	depends on SND_SOC_I2C_AND_SPI
2513
2514config SND_SOC_WM8731
2515	tristate
2516
2517config SND_SOC_WM8731_I2C
2518	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2519	depends on I2C
2520	select REGMAP
2521	select SND_SOC_WM8731
2522
2523config SND_SOC_WM8731_SPI
2524	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2525	depends on SPI
2526	select REGMAP
2527	select SND_SOC_WM8731
2528
2529config SND_SOC_WM8737
2530	tristate "Wolfson Microelectronics WM8737 ADC"
2531	depends on SND_SOC_I2C_AND_SPI
2532
2533config SND_SOC_WM8741
2534	tristate "Wolfson Microelectronics WM8741 DAC"
2535	depends on SND_SOC_I2C_AND_SPI
2536
2537config SND_SOC_WM8750
2538	tristate "Wolfson Microelectronics WM8750 CODEC"
2539	depends on SND_SOC_I2C_AND_SPI
2540
2541config SND_SOC_WM8753
2542	tristate "Wolfson Microelectronics WM8753 CODEC"
2543	depends on SND_SOC_I2C_AND_SPI
2544
2545config SND_SOC_WM8770
2546	tristate "Wolfson Microelectronics WM8770 CODEC"
2547	depends on SPI_MASTER
2548
2549config SND_SOC_WM8776
2550	tristate "Wolfson Microelectronics WM8776 CODEC"
2551	depends on SND_SOC_I2C_AND_SPI
2552
2553config SND_SOC_WM8782
2554	tristate "Wolfson Microelectronics WM8782 ADC"
2555
2556config SND_SOC_WM8804
2557	tristate
2558
2559config SND_SOC_WM8804_I2C
2560	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2561	depends on I2C
2562	select SND_SOC_WM8804
2563	select REGMAP_I2C
2564
2565config SND_SOC_WM8804_SPI
2566	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2567	depends on SPI_MASTER
2568	select SND_SOC_WM8804
2569	select REGMAP_SPI
2570
2571config SND_SOC_WM8900
2572	tristate
2573	depends on SND_SOC_I2C_AND_SPI
2574
2575config SND_SOC_WM8903
2576	tristate "Wolfson Microelectronics WM8903 CODEC"
2577	depends on I2C
2578
2579config SND_SOC_WM8904
2580	tristate "Wolfson Microelectronics WM8904 CODEC"
2581	depends on I2C
2582
2583config SND_SOC_WM8940
2584	tristate "Wolfson Microelectronics WM8940 codec"
2585	depends on I2C
2586
2587config SND_SOC_WM8955
2588	tristate
2589	depends on I2C
2590
2591config SND_SOC_WM8960
2592	tristate "Wolfson Microelectronics WM8960 CODEC"
2593	depends on I2C
2594
2595config SND_SOC_WM8961
2596	tristate "Wolfson Microelectronics WM8961 CODEC"
2597	depends on I2C
2598
2599config SND_SOC_WM8962
2600	tristate "Wolfson Microelectronics WM8962 CODEC"
2601	depends on I2C && INPUT
2602
2603config SND_SOC_WM8971
2604	tristate
2605	depends on I2C
2606
2607config SND_SOC_WM8974
2608	tristate "Wolfson Microelectronics WM8974 codec"
2609	depends on I2C
2610
2611config SND_SOC_WM8978
2612	tristate "Wolfson Microelectronics WM8978 codec"
2613	depends on I2C
2614
2615config SND_SOC_WM8983
2616	tristate
2617	depends on SND_SOC_I2C_AND_SPI
2618
2619config SND_SOC_WM8985
2620	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2621	depends on SND_SOC_I2C_AND_SPI
2622
2623config SND_SOC_WM8988
2624	tristate
2625	depends on SND_SOC_I2C_AND_SPI
2626
2627config SND_SOC_WM8990
2628	tristate
2629	depends on I2C
2630
2631config SND_SOC_WM8991
2632	tristate
2633	depends on I2C
2634
2635config SND_SOC_WM8993
2636	tristate
2637	depends on I2C
2638
2639config SND_SOC_WM8994
2640	tristate
2641	depends on MFD_WM8994
2642
2643config SND_SOC_WM8995
2644	tristate
2645	depends on SND_SOC_I2C_AND_SPI
2646
2647config SND_SOC_WM8996
2648	tristate
2649	depends on I2C
2650
2651config SND_SOC_WM8997
2652	tristate
2653	depends on MFD_WM8997 && MFD_ARIZONA
2654
2655config SND_SOC_WM8998
2656	tristate "Wolfson Microelectronics WM8998 codec driver"
2657	depends on MFD_WM8998 && MFD_ARIZONA
2658
2659config SND_SOC_WM9081
2660	tristate
2661	depends on I2C
2662
2663config SND_SOC_WM9090
2664	tristate
2665	depends on I2C
2666
2667config SND_SOC_WM9705
2668	tristate
2669	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2670	select REGMAP_AC97
2671	select AC97_BUS_COMPAT if AC97_BUS_NEW
2672
2673config SND_SOC_WM9712
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_WM9713
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_WSA881X
2686	tristate "WSA881X Codec"
2687	depends on SOUNDWIRE
2688	select REGMAP_SOUNDWIRE
2689	help
2690	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2691	  Smart Speaker Amplifier.
2692
2693config SND_SOC_WSA883X
2694	tristate "WSA883X Codec"
2695	depends on SOUNDWIRE
2696	select REGMAP_SOUNDWIRE
2697	help
2698	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2699	  Smart Speaker Amplifier.
2700
2701config SND_SOC_WSA884X
2702	tristate "WSA884X Codec"
2703	depends on SOUNDWIRE
2704	select REGMAP_SOUNDWIRE
2705	help
2706	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2707	  Smart Speaker Amplifier.
2708
2709config SND_SOC_ZL38060
2710	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2711	depends on SPI_MASTER
2712	depends on GPIOLIB
2713	select REGMAP
2714	help
2715	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2716	  which consists of a Digital Signal Processor (DSP), several Digital
2717	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2718
2719# Amp
2720config SND_SOC_LM4857
2721	tristate
2722	depends on I2C
2723
2724config SND_SOC_MAX9759
2725	tristate "Maxim MAX9759 speaker Amplifier"
2726	depends on GPIOLIB
2727
2728config SND_SOC_MAX9768
2729	tristate
2730	depends on I2C
2731
2732config SND_SOC_MAX9877
2733	tristate
2734	depends on I2C
2735
2736config SND_SOC_MC13783
2737	tristate
2738	depends on MFD_MC13XXX
2739
2740config SND_SOC_ML26124
2741	tristate
2742	depends on I2C
2743
2744config SND_SOC_MT6351
2745	tristate "MediaTek MT6351 Codec"
2746
2747config SND_SOC_MT6357
2748	tristate "MediaTek MT6357 Codec"
2749	help
2750	  Enable support for the platform which uses MT6357 as
2751	  external codec device.
2752
2753config SND_SOC_MT6358
2754	tristate "MediaTek MT6358 Codec"
2755	help
2756	  Enable support for the platform which uses MT6358 as
2757	  external codec device.
2758
2759config SND_SOC_MT6359
2760	tristate "MediaTek MT6359 Codec"
2761	depends on MTK_PMIC_WRAP
2762	help
2763	  Enable support for the platform which uses MT6359 as
2764	  external codec device.
2765
2766config SND_SOC_MT6359_ACCDET
2767	tristate "MediaTek MT6359 ACCDET driver"
2768	depends on MTK_PMIC_WRAP
2769	help
2770	  ACCDET means Accessory Detection technology, MediaTek develop it
2771	  for ASoC codec soc-jack detection mechanism.
2772	  Select N if you don't have jack on board.
2773
2774config SND_SOC_MT6660
2775	tristate "Mediatek MT6660 Speaker Amplifier"
2776	depends on I2C
2777	help
2778	  MediaTek MT6660 is a smart power amplifier which contain
2779	  speaker protection, multi-band DRC, equalizer functions.
2780	  Select N if you don't have MT6660 on board.
2781	  Select M to build this as module.
2782
2783config SND_SOC_NAU8315
2784	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2785
2786config SND_SOC_NAU8325
2787	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2788	depends on I2C
2789
2790config SND_SOC_NAU8540
2791	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2792	depends on I2C
2793
2794config SND_SOC_NAU8810
2795	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2796	depends on I2C
2797
2798config SND_SOC_NAU8821
2799	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2800	depends on I2C
2801
2802config SND_SOC_NAU8822
2803	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2804	depends on I2C
2805
2806config SND_SOC_NAU8824
2807	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2808	depends on I2C
2809
2810config SND_SOC_NAU8825
2811	tristate
2812	depends on I2C
2813
2814config SND_SOC_NTPFW
2815	tristate
2816
2817config SND_SOC_NTP8918
2818	select SND_SOC_NTPFW
2819	tristate "NeoFidelity NTP8918 amplifier"
2820	depends on I2C
2821
2822config SND_SOC_NTP8835
2823	select SND_SOC_NTPFW
2824	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2825	depends on I2C
2826
2827config SND_SOC_TPA6130A2
2828	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2829	depends on I2C
2830
2831config SND_SOC_LPASS_MACRO_COMMON
2832        tristate
2833
2834config SND_SOC_LPASS_WSA_MACRO
2835	depends on COMMON_CLK
2836	select REGMAP_MMIO
2837	select SND_SOC_LPASS_MACRO_COMMON
2838	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2839
2840config SND_SOC_LPASS_VA_MACRO
2841	depends on COMMON_CLK
2842	select REGMAP_MMIO
2843	select SND_SOC_LPASS_MACRO_COMMON
2844	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2845
2846config SND_SOC_LPASS_RX_MACRO
2847	depends on COMMON_CLK
2848	select REGMAP_MMIO
2849	select SND_SOC_LPASS_MACRO_COMMON
2850	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2851
2852config SND_SOC_LPASS_TX_MACRO
2853	depends on COMMON_CLK
2854	select REGMAP_MMIO
2855	select SND_SOC_LPASS_MACRO_COMMON
2856	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2857
2858endmenu
2859