xref: /linux/sound/soc/codecs/Kconfig (revision ee7d655dbaf5e57145c73fd3925b5f44f7a1a5cc)
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_CAL_PERFORM_CTRL
932	bool "CS35L56 ALSA control to perform factory calibration"
933	default N
934	select SND_SOC_CS35L56_CAL_DEBUGFS_COMMON
935	help
936	  Allow performing factory calibration data through an ALSA
937	  control. It is recommended to use the debugfs method instead
938	  because debugfs has restricted access permissions.
939
940	  On most platforms this is not needed.
941
942	  If unsure select "N".
943
944config SND_SOC_CS35L56_TEST
945	tristate "KUnit test for Cirrus Logic cs35l56 driver" if !KUNIT_ALL_TESTS
946	depends on SND_SOC_CS35L56 && KUNIT
947	default KUNIT_ALL_TESTS
948	select SND_SOC_CS_AMP_LIB_TEST_HOOKS
949	help
950	  This builds KUnit tests for the Cirrus Logic cs35l56
951	  codec driver.
952
953	  For more information on KUnit and unit tests in general,
954	  please refer to the KUnit documentation in
955	  Documentation/dev-tools/kunit/.
956	  If in doubt, say "N".
957
958config SND_SOC_CS35L56_SHARED_TEST
959	tristate "KUnit test for Cirrus Logic cs35l56-shared" if !KUNIT_ALL_TESTS
960	depends on SND_SOC_CS35L56_SHARED && KUNIT
961	default KUNIT_ALL_TESTS
962	help
963	  This builds KUnit tests for the Cirrus Logic cs35l56-shared
964	  module.
965
966	  For more information on KUnit and unit tests in general,
967	  please refer to the KUnit documentation in
968	  Documentation/dev-tools/kunit/.
969	  If in doubt, say "N".
970endmenu
971
972config SND_SOC_CS40L50
973	tristate "Cirrus Logic CS40L50 CODEC"
974	depends on MFD_CS40L50_CORE
975	help
976	  This option enables support for I2S streaming to Cirrus Logic CS40L50.
977
978	  CS40L50 is a haptic driver with waveform memory, an integrated
979	  DSP, and closed-loop algorithms. If built as a module, it will be
980	  called snd-soc-cs40l50.
981
982config SND_SOC_CS42L42_CORE
983	tristate
984
985config SND_SOC_CS42L42
986	tristate "Cirrus Logic CS42L42 CODEC (I2C)"
987	depends on I2C
988	select REGMAP
989	select REGMAP_I2C
990	select SND_SOC_CS42L42_CORE
991
992config SND_SOC_CS42L42_SDW
993	tristate "Cirrus Logic CS42L42 CODEC on Soundwire"
994	depends on SOUNDWIRE
995	select SND_SOC_CS42L42_CORE
996	help
997	  Enable support for Cirrus Logic CS42L42 codec with Soundwire control
998
999config SND_SOC_CS42L43
1000	tristate "Cirrus Logic CS42L43 CODEC"
1001	depends on MFD_CS42L43
1002	help
1003	  Select this to support the audio functions of the Cirrus Logic
1004	  CS42L43 PC CODEC.
1005
1006config SND_SOC_CS42L43_SDW
1007	tristate "Cirrus Logic CS42L43 CODEC (SoundWire)"
1008	depends on SND_SOC_CS42L43 && MFD_CS42L43_SDW
1009	help
1010	  Select this to support the audio functions of the Cirrus Logic
1011	  CS42L43 PC CODEC over SoundWire.
1012
1013config SND_SOC_CS42L51
1014	tristate
1015
1016config SND_SOC_CS42L51_I2C
1017	tristate "Cirrus Logic CS42L51 CODEC (I2C)"
1018	depends on I2C
1019	select SND_SOC_CS42L51
1020
1021config SND_SOC_CS42L52
1022	tristate "Cirrus Logic CS42L52 CODEC"
1023	depends on I2C && INPUT
1024
1025config SND_SOC_CS42L56
1026	tristate "Cirrus Logic CS42L56 CODEC"
1027	depends on I2C && INPUT
1028
1029config SND_SOC_CS42L73
1030	tristate "Cirrus Logic CS42L73 CODEC"
1031	depends on I2C
1032
1033config SND_SOC_CS42L83
1034	tristate "Cirrus Logic CS42L83 CODEC"
1035	depends on I2C
1036	select REGMAP
1037	select REGMAP_I2C
1038	select SND_SOC_CS42L42_CORE
1039
1040config SND_SOC_CS42L84
1041	tristate "Cirrus Logic CS42L84 CODEC"
1042	depends on I2C
1043	select REGMAP
1044	select REGMAP_I2C
1045
1046config SND_SOC_CS4234
1047	tristate "Cirrus Logic CS4234 CODEC"
1048	depends on I2C
1049	select REGMAP_I2C
1050
1051config SND_SOC_CS4265
1052	tristate "Cirrus Logic CS4265 CODEC"
1053	depends on I2C
1054	select REGMAP_I2C
1055
1056# Cirrus Logic CS4270 Codec
1057config SND_SOC_CS4270
1058	tristate "Cirrus Logic CS4270 CODEC"
1059	depends on I2C
1060
1061# Cirrus Logic CS4270 Codec VD = 3.3V Errata
1062# Select if you are affected by the errata where the part will not function
1063# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
1064# not select any sample rates that require MCLK to be divided by 1.5.
1065config SND_SOC_CS4270_VD33_ERRATA
1066	bool
1067	depends on SND_SOC_CS4270
1068
1069config SND_SOC_CS4271
1070	tristate
1071
1072config SND_SOC_CS4271_I2C
1073	tristate "Cirrus Logic CS4271 CODEC (I2C)"
1074	depends on I2C
1075	select SND_SOC_CS4271
1076	select REGMAP_I2C
1077
1078config SND_SOC_CS4271_SPI
1079	tristate "Cirrus Logic CS4271 CODEC (SPI)"
1080	depends on SPI_MASTER
1081	select SND_SOC_CS4271
1082	select REGMAP_SPI
1083
1084config SND_SOC_CS42XX8
1085	tristate
1086
1087config SND_SOC_CS42XX8_I2C
1088	tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
1089	depends on I2C
1090	select SND_SOC_CS42XX8
1091	select REGMAP_I2C
1092
1093# Cirrus Logic CS43130 HiFi DAC
1094config SND_SOC_CS43130
1095	tristate "Cirrus Logic CS43130 CODEC"
1096	depends on I2C
1097
1098config SND_SOC_CS4341
1099	tristate "Cirrus Logic CS4341 CODEC"
1100	depends on SND_SOC_I2C_AND_SPI
1101	select REGMAP_I2C if I2C
1102	select REGMAP_SPI if SPI_MASTER
1103
1104# Cirrus Logic CS4349 HiFi DAC
1105config SND_SOC_CS4349
1106	tristate "Cirrus Logic CS4349 CODEC"
1107	depends on I2C
1108
1109config SND_SOC_CS47L15
1110	tristate
1111	depends on MFD_CS47L15
1112
1113config SND_SOC_CS47L24
1114	tristate
1115	depends on MFD_CS47L24 && MFD_ARIZONA
1116
1117config SND_SOC_CS47L35
1118	tristate
1119	depends on MFD_CS47L35
1120
1121config SND_SOC_CS47L85
1122	tristate
1123	depends on MFD_CS47L85
1124
1125config SND_SOC_CS47L90
1126	tristate
1127	depends on MFD_CS47L90
1128
1129config SND_SOC_CS47L92
1130	tristate
1131	depends on MFD_CS47L92
1132
1133config SND_SOC_CS48L32
1134	tristate "Cirrus Logic CS48L32 audio DSP"
1135	depends on SPI_MASTER
1136	select REGMAP_SPI
1137	help
1138	  Build the codec driver for the Cirrus Logic CS48L32 audio DSP.
1139
1140# Cirrus Logic Quad-Channel ADC
1141config SND_SOC_CS53L30
1142	tristate "Cirrus Logic CS53L30 CODEC"
1143	depends on I2C
1144
1145config SND_SOC_CS530X
1146	tristate
1147
1148config SND_SOC_CS530X_I2C
1149	tristate "Cirrus Logic CS530x ADCs (I2C)"
1150	depends on I2C
1151	select REGMAP
1152	select REGMAP_I2C
1153	select SND_SOC_CS530X
1154	help
1155	  Enable support for Cirrus Logic CS530X ADCs
1156	  with I2C control.
1157
1158config SND_SOC_CS530X_SPI
1159	tristate "Cirrus Logic CS530x ADCs (SPI)"
1160	depends on SPI_MASTER
1161	select REGMAP_SPI
1162	select SND_SOC_CS530X
1163	help
1164	  Enable support for Cirrus Logic CS530X ADCs
1165	  with SPI control.
1166
1167config SND_SOC_CX20442
1168	tristate
1169	depends on TTY
1170
1171config SND_SOC_CX2072X
1172	tristate "Conexant CX2072X CODEC"
1173	depends on I2C
1174	help
1175	  Enable support for Conexant CX20721 and CX20723 codec chips.
1176
1177config SND_SOC_JZ4740_CODEC
1178	depends on MACH_INGENIC || COMPILE_TEST
1179	depends on OF
1180	select REGMAP_MMIO
1181	tristate "Ingenic JZ4740 internal CODEC"
1182	help
1183	  Enable support for the internal CODEC found in the JZ4740 SoC
1184	  from Ingenic.
1185
1186	  This driver can also be built as a module. If so, the module
1187	  will be called snd-soc-jz4740-codec.
1188
1189config SND_SOC_JZ4725B_CODEC
1190	depends on MACH_INGENIC || COMPILE_TEST
1191	depends on OF
1192	select REGMAP
1193	tristate "Ingenic JZ4725B internal CODEC"
1194	help
1195	  Enable support for the internal CODEC found in the JZ4725B SoC
1196	  from Ingenic.
1197
1198	  This driver can also be built as a module. If so, the module
1199	  will be called snd-soc-jz4725b-codec.
1200
1201config SND_SOC_JZ4760_CODEC
1202        depends on MACH_INGENIC || COMPILE_TEST
1203        depends on OF
1204        select REGMAP
1205        tristate "Ingenic JZ4760 internal CODEC"
1206        help
1207          Enable support for the internal CODEC found in the JZ4760 SoC
1208          from Ingenic.
1209
1210          This driver can also be built as a module. If so, the module
1211          will be called snd-soc-jz4760-codec.
1212
1213config SND_SOC_JZ4770_CODEC
1214	depends on MACH_INGENIC || COMPILE_TEST
1215	depends on OF
1216	select REGMAP
1217	tristate "Ingenic JZ4770 internal CODEC"
1218	help
1219	  Enable support for the internal CODEC found in the JZ4770 SoC
1220	  from Ingenic.
1221
1222	  This driver can also be built as a module. If so, the module
1223	  will be called snd-soc-jz4770-codec.
1224
1225config SND_SOC_DA7210
1226	tristate
1227	depends on SND_SOC_I2C_AND_SPI
1228
1229config SND_SOC_DA7213
1230	tristate "Dialog DA7213 CODEC"
1231	depends on I2C
1232
1233config SND_SOC_DA7218
1234	tristate
1235	depends on I2C
1236
1237config SND_SOC_DA7219
1238	tristate
1239	depends on I2C
1240
1241config SND_SOC_DA732X
1242	tristate
1243	depends on I2C
1244
1245config SND_SOC_DA9055
1246	tristate
1247	depends on I2C
1248
1249config SND_SOC_DMIC
1250	tristate "Generic Digital Microphone CODEC"
1251	help
1252	  Enable support for the Generic Digital Microphone CODEC.
1253	  Select this if your sound card has DMICs.
1254
1255config SND_SOC_HDMI_CODEC
1256	tristate
1257	select SND_PCM_ELD
1258	select SND_PCM_IEC958
1259	select HDMI
1260
1261config SND_SOC_ES7134
1262	tristate "Everest Semi ES7134 CODEC"
1263
1264config SND_SOC_ES7241
1265	tristate "Everest Semi ES7241 CODEC"
1266
1267config SND_SOC_ES83XX_DSM_COMMON
1268	depends on ACPI
1269	tristate
1270
1271config SND_SOC_ES8311
1272	tristate "Everest Semi ES8311 CODEC"
1273	depends on I2C
1274
1275config SND_SOC_ES8316
1276	tristate "Everest Semi ES8316 CODEC"
1277	depends on I2C
1278
1279config SND_SOC_ES8323
1280	tristate "Everest Semi ES8323 CODEC"
1281	depends on I2C
1282
1283config SND_SOC_ES8326
1284	tristate "Everest Semi ES8326 CODEC"
1285	depends on I2C
1286
1287config SND_SOC_ES8328
1288	tristate
1289
1290config SND_SOC_ES8328_I2C
1291	tristate "Everest Semi ES8328 CODEC (I2C)"
1292	depends on I2C
1293	select SND_SOC_ES8328
1294
1295config SND_SOC_ES8328_SPI
1296	tristate "Everest Semi ES8328 CODEC (SPI)"
1297	depends on SPI_MASTER
1298	select SND_SOC_ES8328
1299
1300config SND_SOC_ES8375
1301	tristate "Everest Semi ES8375 CODEC"
1302	depends on I2C
1303
1304config SND_SOC_ES8389
1305	tristate "Everest Semi ES8389 CODEC"
1306	depends on I2C
1307
1308config SND_SOC_FRAMER
1309	tristate "Framer codec"
1310	depends on GENERIC_FRAMER
1311	help
1312	  Enable support for the framer codec.
1313	  The framer codec uses the generic framer infrastructure to transport
1314	  some audio data over an analog E1/T1/J1 line.
1315	  This codec allows to use some of the time slots available on the TDM
1316	  bus on which the framer is connected to transport the audio data.
1317
1318	  To compile this driver as a module, choose M here: the module
1319	  will be called snd-soc-framer.
1320
1321config SND_SOC_FS_AMP_LIB
1322	select CRC16
1323	tristate
1324
1325config SND_SOC_FS210X
1326	tristate 'FourSemi FS2104/5S digital audio amplifier'
1327	depends on I2C
1328	select GPIOLIB
1329	select REGMAP_I2C
1330	select SND_SOC_FS_AMP_LIB
1331	help
1332	  Enable support for FourSemi FS2104/5S digital audio amplifier.
1333	  The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
1334	  Digital Input Class-D Power Amplifiers with Enhanced Signal Processing.
1335	  The amplifiers support I2C and I2S/TDM.
1336
1337config SND_SOC_GTM601
1338	tristate 'GTM601 UMTS modem audio codec'
1339
1340config SND_SOC_HDAC_HDMI
1341	tristate
1342	select SND_HDA_EXT_CORE
1343	select SND_PCM_ELD
1344	select HDMI
1345
1346config SND_SOC_HDAC_HDA
1347	tristate
1348	select SND_HDA
1349
1350config SND_SOC_HDA
1351	tristate "HD-Audio codec driver"
1352	select SND_HDA_EXT_CORE
1353	select SND_HDA
1354	help
1355	  This enables HD-Audio codec support in ASoC subsystem. Compared
1356	  to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
1357	  legacy solution - including the dynamic resource allocation
1358	  based on actual codec capabilities.
1359
1360config SND_SOC_ICS43432
1361	tristate "ICS43423 and compatible i2s microphones"
1362
1363config SND_SOC_IDT821034
1364	tristate "Renesas IDT821034 quad PCM codec"
1365	depends on SPI
1366	help
1367	  Enable support for the Renesas IDT821034 quad PCM with
1368	  programmable gain codec.
1369
1370	  To compile this driver as a module, choose M here: the module
1371	  will be called snd-soc-idt821034.
1372
1373config SND_SOC_INNO_RK3036
1374	tristate "Inno codec driver for RK3036 SoC"
1375	depends on ARCH_ROCKCHIP || COMPILE_TEST
1376	select REGMAP_MMIO
1377
1378config SND_SOC_ISABELLE
1379	tristate
1380	depends on I2C
1381
1382config SND_SOC_LM49453
1383	tristate
1384	depends on I2C
1385
1386config SND_SOC_LOCHNAGAR_SC
1387	tristate "Lochnagar Sound Card"
1388	depends on MFD_LOCHNAGAR || COMPILE_TEST
1389	help
1390	  This driver support the sound card functionality of the Cirrus
1391	  Logic Lochnagar audio development board.
1392
1393config SND_SOC_MADERA
1394	tristate
1395	default y if SND_SOC_CS47L15=y
1396	default y if SND_SOC_CS47L35=y
1397	default y if SND_SOC_CS47L85=y
1398	default y if SND_SOC_CS47L90=y
1399	default y if SND_SOC_CS47L92=y
1400	default m if SND_SOC_CS47L15=m
1401	default m if SND_SOC_CS47L35=m
1402	default m if SND_SOC_CS47L85=m
1403	default m if SND_SOC_CS47L90=m
1404	default m if SND_SOC_CS47L92=m
1405
1406config SND_SOC_MAX98088
1407	tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
1408	depends on I2C
1409
1410config SND_SOC_MAX98090
1411	tristate "Maxim MAX98090 CODEC"
1412	depends on I2C
1413
1414config SND_SOC_MAX98095
1415	tristate
1416	depends on I2C
1417
1418config SND_SOC_MAX98357A
1419	tristate "Maxim MAX98357A CODEC"
1420
1421config SND_SOC_MAX98371
1422	tristate
1423	depends on I2C
1424
1425config SND_SOC_MAX98504
1426	tristate "Maxim MAX98504 speaker amplifier"
1427	depends on I2C
1428
1429config SND_SOC_MAX9867
1430	tristate "Maxim MAX9867 CODEC"
1431	depends on I2C
1432
1433config SND_SOC_MAX98925
1434	tristate
1435	depends on I2C
1436
1437config SND_SOC_MAX98926
1438	tristate
1439	depends on I2C
1440
1441config SND_SOC_MAX98927
1442	tristate "Maxim Integrated MAX98927 Speaker Amplifier"
1443	depends on I2C
1444
1445config SND_SOC_MAX98520
1446	tristate "Maxim Integrated MAX98520 Speaker Amplifier"
1447	depends on I2C
1448	help
1449	  Enable support for Maxim Integrated MAX98520 audio
1450	  amplifier, which implements a tripler charge pump
1451	  based boost converter and supports sample rates of
1452	  8KHz to 192KHz.
1453
1454	  To compile this driver as a module, choose M here.
1455
1456config SND_SOC_MAX98363
1457	tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
1458	depends on SOUNDWIRE
1459	select REGMAP_SOUNDWIRE
1460	help
1461	  Enable support for Analog Devices MAX98363 Soundwire
1462	  amplifier. MAX98363 supports the MIPI SoundWire v1.2
1463	  compatible interface for audio and control data.
1464	  This amplifier does not support I2C and I2S.
1465
1466config SND_SOC_MAX98373
1467	tristate
1468
1469config SND_SOC_MAX98373_I2C
1470	tristate "Maxim Integrated MAX98373 Speaker Amplifier"
1471	depends on I2C
1472	select SND_SOC_MAX98373
1473
1474config SND_SOC_MAX98373_SDW
1475	tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
1476	depends on SOUNDWIRE
1477	select SND_SOC_MAX98373
1478	select REGMAP_SOUNDWIRE
1479	help
1480	  Enable support for Maxim Integrated MAX98373 Soundwire
1481	  amplifier. MAX98373 supports either the MIPI SoundWire
1482	  compatible interface for audio and control data, or
1483	  the PCM interface for audio data and a standard I2C
1484	  interface for control data. Select this if MAX98373 is
1485	  connected via soundwire.
1486
1487config SND_SOC_MAX98388
1488	tristate "Analog Devices MAX98388 Speaker Amplifier"
1489	depends on I2C
1490	help
1491	  Enable support for Analog Devices MAX98388 audio
1492	  amplifier. The device provides a PCM interface for
1493	  audio data and a standard I2C interface for control
1494	  data communication.
1495
1496config SND_SOC_MAX98390
1497	tristate "Maxim Integrated MAX98390 Speaker Amplifier"
1498	depends on I2C
1499
1500config SND_SOC_MAX98396
1501	tristate "Analog Devices MAX98396 Speaker Amplifier"
1502	depends on I2C
1503	help
1504	  Enable support for Analog Devices MAX98396 audio
1505	  amplifier. The device provides a PCM interface for
1506	  audio data and a standard I2C interface for control
1507	  data communication.
1508
1509config SND_SOC_MAX9850
1510	tristate
1511	depends on I2C
1512
1513config SND_SOC_MAX9860
1514	tristate "Maxim MAX9860 Mono Audio Voice Codec"
1515	depends on I2C
1516	select REGMAP_I2C
1517
1518config SND_SOC_MSM8916_WCD_ANALOG
1519	tristate "Qualcomm MSM8916 WCD Analog Codec"
1520	depends on SPMI || COMPILE_TEST
1521
1522config SND_SOC_MSM8916_WCD_DIGITAL
1523	tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
1524	select REGMAP_MMIO
1525
1526config SND_SOC_PCM1681
1527	tristate "Texas Instruments PCM1681 CODEC"
1528	depends on I2C
1529
1530config SND_SOC_PCM1754
1531	tristate "Texas Instruments PCM1754 CODEC"
1532	depends on GPIOLIB
1533
1534config SND_SOC_PCM1789
1535	tristate
1536
1537config SND_SOC_PCM1789_I2C
1538	tristate "Texas Instruments PCM1789 CODEC (I2C)"
1539	depends on I2C
1540	select SND_SOC_PCM1789
1541	help
1542	  Enable support for Texas Instruments PCM1789 CODEC.
1543	  Select this if your PCM1789 is connected via an I2C bus.
1544
1545config SND_SOC_PCM179X
1546	tristate
1547
1548config SND_SOC_PCM179X_I2C
1549	tristate "Texas Instruments PCM179X CODEC (I2C)"
1550	depends on I2C
1551	select SND_SOC_PCM179X
1552	help
1553	  Enable support for Texas Instruments PCM179x CODEC.
1554	  Select this if your PCM179x is connected via an I2C bus.
1555
1556config SND_SOC_PCM179X_SPI
1557	tristate "Texas Instruments PCM179X CODEC (SPI)"
1558	depends on SPI_MASTER
1559	select SND_SOC_PCM179X
1560	help
1561	  Enable support for Texas Instruments PCM179x CODEC.
1562	  Select this if your PCM179x is connected via an SPI bus.
1563
1564config SND_SOC_PCM186X
1565	tristate
1566
1567config SND_SOC_PCM186X_I2C
1568	tristate "Texas Instruments PCM186x CODECs - I2C"
1569	depends on I2C
1570	select SND_SOC_PCM186X
1571	select REGMAP_I2C
1572
1573config SND_SOC_PCM186X_SPI
1574	tristate "Texas Instruments PCM186x CODECs - SPI"
1575	depends on SPI_MASTER
1576	select SND_SOC_PCM186X
1577	select REGMAP_SPI
1578
1579config SND_SOC_PCM3008
1580	tristate
1581
1582config SND_SOC_PCM3060
1583	tristate
1584
1585config SND_SOC_PCM3060_I2C
1586	tristate "Texas Instruments PCM3060 CODEC - I2C"
1587	depends on I2C
1588	select SND_SOC_PCM3060
1589	select REGMAP_I2C
1590
1591config SND_SOC_PCM3060_SPI
1592	tristate "Texas Instruments PCM3060 CODEC - SPI"
1593	depends on SPI_MASTER
1594	select SND_SOC_PCM3060
1595	select REGMAP_SPI
1596
1597config SND_SOC_PCM3168A
1598	tristate
1599
1600config SND_SOC_PCM3168A_I2C
1601	tristate "Texas Instruments PCM3168A CODEC - I2C"
1602	depends on I2C
1603	select SND_SOC_PCM3168A
1604	select REGMAP_I2C
1605
1606config SND_SOC_PCM3168A_SPI
1607	tristate "Texas Instruments PCM3168A CODEC - SPI"
1608	depends on SPI_MASTER
1609	select SND_SOC_PCM3168A
1610	select REGMAP_SPI
1611
1612config SND_SOC_PCM5102A
1613	tristate "Texas Instruments PCM5102A CODEC"
1614
1615config SND_SOC_PCM512x
1616	tristate
1617
1618config SND_SOC_PCM512x_I2C
1619	tristate "Texas Instruments PCM512x CODECs - I2C"
1620	depends on I2C
1621	select SND_SOC_PCM512x
1622	select REGMAP_I2C
1623
1624config SND_SOC_PCM512x_SPI
1625	tristate "Texas Instruments PCM512x CODECs - SPI"
1626	depends on SPI_MASTER
1627	select SND_SOC_PCM512x
1628	select REGMAP_SPI
1629
1630config SND_SOC_PCM6240
1631	tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
1632	depends on I2C
1633	help
1634	  Enable support for Texas Instruments PCM6240 Family Audio chips.
1635	  Note the PCM6240 driver implements a flexible and configurable
1636	  setting for register and filter coefficients, to one, two or
1637	  even multiple PCM6240 Family Audio chips.
1638
1639config SND_SOC_PEB2466
1640	tristate "Infineon PEB2466 quad PCM codec"
1641	depends on SPI
1642	select REGMAP_SPI
1643	help
1644	  Enable support for the Infineon PEB2466 quad PCM codec,
1645	  also named SICOFI 4-uC.
1646
1647	  To compile this driver as a module, choose M here: the module
1648	  will be called snd-soc-peb2466.
1649
1650config SND_SOC_PM4125
1651	depends on SND_SOC_PM4125_SDW
1652	select SND_SOC_WCD_COMMON
1653	tristate
1654	depends on SOUNDWIRE || !SOUNDWIRE
1655
1656config SND_SOC_PM4125_SDW
1657	tristate "PM4125 audio codec - SDW"
1658	select SND_SOC_PM4125
1659	select SND_SOC_WCD_MBHC
1660	select REGMAP_IRQ
1661	select SND_SOC_WCD_COMMON
1662	depends on SOUNDWIRE
1663	select REGMAP_SOUNDWIRE
1664	help
1665	  The PMIC PM4125 has an in-built audio codec IC used with SoCs
1666	  like QCM2290, and it is connected via soundwire and SPMI.
1667	  To compile this codec driver say Y or m.
1668
1669config SND_SOC_RK3308
1670	tristate "Rockchip RK3308 audio CODEC"
1671	depends on ARM64 || COMPILE_TEST
1672	depends on ARCH_ROCKCHIP || COMPILE_TEST
1673	select REGMAP_MMIO
1674	help
1675	  This is a device driver for the audio codec embedded in the
1676	  Rockchip RK3308 SoC.
1677
1678	  It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported
1679	  sampling rate is 192 kHz.
1680
1681config SND_SOC_RK3328
1682	tristate "Rockchip RK3328 audio CODEC"
1683	depends on ARCH_ROCKCHIP || COMPILE_TEST
1684	select REGMAP_MMIO
1685
1686config SND_SOC_RK817
1687	tristate "Rockchip RK817 audio CODEC"
1688	depends on MFD_RK8XX || COMPILE_TEST
1689
1690config SND_SOC_RL6231
1691	tristate
1692	default y if SND_SOC_RT5514=y
1693	default y if SND_SOC_RT5616=y
1694	default y if SND_SOC_RT5640=y
1695	default y if SND_SOC_RT5645=y
1696	default y if SND_SOC_RT5651=y
1697	default y if SND_SOC_RT5659=y
1698	default y if SND_SOC_RT5660=y
1699	default y if SND_SOC_RT5663=y
1700	default y if SND_SOC_RT5665=y
1701	default y if SND_SOC_RT5668=y
1702	default y if SND_SOC_RT5670=y
1703	default y if SND_SOC_RT5677=y
1704	default y if SND_SOC_RT5682=y
1705	default y if SND_SOC_RT1011=y
1706	default y if SND_SOC_RT1015=y
1707	default y if SND_SOC_RT1015P=y
1708	default y if SND_SOC_RT1019=y
1709	default y if SND_SOC_RT1305=y
1710	default y if SND_SOC_RT1308=y
1711	default m if SND_SOC_RT5514=m
1712	default m if SND_SOC_RT5616=m
1713	default m if SND_SOC_RT5640=m
1714	default m if SND_SOC_RT5645=m
1715	default m if SND_SOC_RT5651=m
1716	default m if SND_SOC_RT5659=m
1717	default m if SND_SOC_RT5660=m
1718	default m if SND_SOC_RT5663=m
1719	default m if SND_SOC_RT5665=m
1720	default m if SND_SOC_RT5668=m
1721	default m if SND_SOC_RT5670=m
1722	default m if SND_SOC_RT5677=m
1723	default m if SND_SOC_RT5682=m
1724	default m if SND_SOC_RT1011=m
1725	default m if SND_SOC_RT1015=m
1726	default m if SND_SOC_RT1015P=m
1727	default m if SND_SOC_RT1019=m
1728	default m if SND_SOC_RT1305=m
1729	default m if SND_SOC_RT1308=m
1730
1731config SND_SOC_RT_SDW_COMMON
1732	tristate
1733	default y if SND_SOC_RT721_SDCA_SDW=y
1734	default m if SND_SOC_RT721_SDCA_SDW=m
1735
1736config SND_SOC_RL6347A
1737	tristate
1738	default y if SND_SOC_RT274=y
1739	default y if SND_SOC_RT286=y
1740	default y if SND_SOC_RT298=y
1741	default m if SND_SOC_RT274=m
1742	default m if SND_SOC_RT286=m
1743	default m if SND_SOC_RT298=m
1744
1745config SND_SOC_RT274
1746	tristate
1747	depends on I2C
1748
1749config SND_SOC_RT286
1750	tristate
1751	depends on I2C
1752
1753config SND_SOC_RT298
1754	tristate
1755	depends on I2C
1756
1757config SND_SOC_RT1011
1758	tristate
1759	depends on I2C
1760
1761config SND_SOC_RT1015
1762	tristate
1763	depends on I2C
1764
1765config SND_SOC_RT1015P
1766	tristate
1767
1768config SND_SOC_RT1016
1769	tristate
1770	depends on I2C
1771
1772config SND_SOC_RT1017_SDCA_SDW
1773	tristate "Realtek RT1017 SDCA Codec - SDW"
1774	depends on SOUNDWIRE
1775	select REGMAP_SOUNDWIRE
1776
1777config SND_SOC_RT1019
1778	tristate
1779	depends on I2C
1780
1781config SND_SOC_RT1305
1782	tristate
1783	depends on I2C
1784
1785config SND_SOC_RT1308
1786	tristate
1787	depends on I2C
1788
1789config SND_SOC_RT1308_SDW
1790	tristate "Realtek RT1308 Codec - SDW"
1791	depends on I2C && SOUNDWIRE
1792	select REGMAP_SOUNDWIRE
1793
1794config SND_SOC_RT1316_SDW
1795	tristate "Realtek RT1316 Codec - SDW"
1796	depends on SOUNDWIRE
1797	select REGMAP_SOUNDWIRE
1798
1799config SND_SOC_RT1318
1800	tristate
1801	depends on I2C
1802
1803config SND_SOC_RT1318_SDW
1804	tristate "Realtek RT1318 Codec - SDW"
1805	depends on SOUNDWIRE
1806	select REGMAP_SOUNDWIRE
1807
1808config SND_SOC_RT1320_SDW
1809	tristate "Realtek RT1320 Codec - SDW"
1810	depends on SOUNDWIRE
1811	select REGMAP_SOUNDWIRE
1812	select REGMAP_SOUNDWIRE_MBQ
1813
1814config SND_SOC_RT5514
1815	tristate
1816	depends on I2C
1817
1818config SND_SOC_RT5514_SPI
1819	tristate
1820	depends on SPI_MASTER
1821
1822config SND_SOC_RT5514_SPI_BUILTIN
1823	bool # force RT5514_SPI to be built-in to avoid link errors
1824	default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
1825
1826config SND_SOC_RT5575
1827	tristate "Realtek ALC5575 Codec - I2C"
1828	depends on I2C
1829
1830config SND_SOC_RT5575_SPI
1831	bool "Realtek ALC5575 Codec - SPI"
1832	depends on SPI_MASTER && I2C
1833	depends on SND_SOC_RT5575
1834	depends on SPI_MASTER=y || SND_SOC_RT5575=m
1835
1836config SND_SOC_RT5616
1837	tristate "Realtek RT5616 CODEC"
1838	depends on I2C
1839
1840config SND_SOC_RT5631
1841	tristate "Realtek ALC5631/RT5631 CODEC"
1842	depends on I2C
1843
1844config SND_SOC_RT5640
1845	tristate "Realtek RT5640/RT5639 Codec"
1846	depends on I2C
1847
1848config SND_SOC_RT5645
1849	tristate
1850	depends on I2C
1851
1852config SND_SOC_RT5651
1853	tristate
1854	depends on I2C
1855
1856config SND_SOC_RT5659
1857	tristate "Realtek RT5658/RT5659 Codec"
1858	depends on I2C
1859
1860config SND_SOC_RT5660
1861	tristate
1862	depends on I2C
1863
1864config SND_SOC_RT5663
1865	tristate
1866	depends on I2C
1867
1868config SND_SOC_RT5665
1869	tristate
1870	depends on I2C
1871
1872config SND_SOC_RT5668
1873	tristate
1874	depends on I2C
1875
1876config SND_SOC_RT5670
1877	tristate
1878	depends on I2C
1879
1880config SND_SOC_RT5677
1881	tristate
1882	depends on I2C
1883	select REGMAP_I2C
1884	select REGMAP_IRQ
1885
1886config SND_SOC_RT5677_SPI
1887	tristate
1888	default SND_SOC_RT5677 && SPI
1889
1890config SND_SOC_RT5682
1891	tristate
1892
1893config SND_SOC_RT5682_I2C
1894	tristate
1895	depends on I2C
1896	select SND_SOC_RT5682
1897
1898config SND_SOC_RT5682_SDW
1899	tristate "Realtek RT5682 Codec - SDW"
1900	depends on SOUNDWIRE
1901	select SND_SOC_RT5682
1902	select REGMAP_SOUNDWIRE
1903
1904config SND_SOC_RT5682S
1905	tristate
1906	depends on I2C
1907
1908config SND_SOC_RT700
1909	tristate
1910
1911config SND_SOC_RT700_SDW
1912	tristate "Realtek RT700 Codec - SDW"
1913	depends on SOUNDWIRE
1914	select SND_SOC_RT700
1915	select REGMAP_SOUNDWIRE
1916
1917config SND_SOC_RT711
1918	tristate
1919
1920config SND_SOC_RT711_SDW
1921	tristate "Realtek RT711 Codec - SDW"
1922	depends on SOUNDWIRE
1923	select SND_SOC_RT711
1924	select REGMAP_SOUNDWIRE
1925
1926config SND_SOC_RT711_SDCA_SDW
1927	tristate "Realtek RT711 SDCA Codec - SDW"
1928	depends on SOUNDWIRE
1929	select REGMAP_SOUNDWIRE
1930	select REGMAP_SOUNDWIRE_MBQ
1931
1932config SND_SOC_RT712_SDCA_SDW
1933	tristate "Realtek RT712 SDCA Codec - SDW"
1934	depends on SOUNDWIRE
1935	select REGMAP_SOUNDWIRE
1936	select REGMAP_SOUNDWIRE_MBQ
1937
1938config SND_SOC_RT712_SDCA_DMIC_SDW
1939	tristate "Realtek RT712 SDCA DMIC Codec - SDW"
1940	depends on SOUNDWIRE
1941	select REGMAP_SOUNDWIRE
1942	select REGMAP_SOUNDWIRE_MBQ
1943
1944config SND_SOC_RT721_SDCA_SDW
1945	tristate "Realtek RT721 SDCA Codec - SDW"
1946	depends on SOUNDWIRE
1947	select REGMAP_SOUNDWIRE
1948	select REGMAP_SOUNDWIRE_MBQ
1949
1950config SND_SOC_RT722_SDCA_SDW
1951	tristate "Realtek RT722 SDCA Codec - SDW"
1952	depends on SOUNDWIRE
1953	select REGMAP_SOUNDWIRE
1954	select REGMAP_SOUNDWIRE_MBQ
1955
1956config SND_SOC_RT715
1957	tristate
1958
1959config SND_SOC_RT715_SDW
1960	tristate "Realtek RT715 Codec - SDW"
1961	depends on SOUNDWIRE
1962	select SND_SOC_RT715
1963	select REGMAP_SOUNDWIRE
1964
1965config SND_SOC_RT715_SDCA_SDW
1966	tristate "Realtek RT715 SDCA Codec - SDW"
1967	depends on SOUNDWIRE
1968	select REGMAP_SOUNDWIRE
1969	select REGMAP_SOUNDWIRE_MBQ
1970
1971config SND_SOC_RT9120
1972	tristate "Richtek RT9120 Stereo Class-D Amplifier"
1973	depends on I2C
1974	select REGMAP_I2C
1975	help
1976	  Enable support for Richtek RT9120 20W, stereo, inductor-less,
1977	  high-efficiency Class-D audio amplifier.
1978
1979config SND_SOC_RT9123
1980	tristate "Richtek RT9123 Mono Class-D Amplifier"
1981	depends on I2C
1982	select REGMAP_I2C
1983	help
1984	  Enable support for the I2C control mode of Richtek RT9123 3.2W mono
1985	  Class-D audio amplifier.
1986
1987config SND_SOC_RT9123P
1988	tristate "Richtek RT9123P Mono Class-D Amplifier"
1989	help
1990	  Enable support for the HW control mode of Richtek RT9123P 3.2W mono
1991	  Class-D audio amplifier.
1992
1993config SND_SOC_RTQ9124
1994	tristate "Richtek RTQ9124 Mono Class-D Amplifier"
1995	depends on I2C
1996	select REGMAP
1997	help
1998	  Enable support for Richtek RTQ9124 1x30W digital input automotive
1999	  audio amplifier with current sense and real-time load diagnostics.
2000
2001config SND_SOC_RTQ9128
2002	tristate "Richtek RTQ9128 45W Digital Input Amplifier"
2003	depends on I2C
2004	select REGMAP
2005	help
2006	  Enable support for Richtek RTQ9128 digital input 4-channel
2007	  automotive audio amplifier.  It is a ultra-low output noise,
2008	  high-efficiency, four-channel class-D audio power amplifier
2009	  that can deliver over 87% power efficienty at 4x75W into 4Ohm,
2010	  25V supply in automotive applications.
2011
2012	  To compile this driver as a module, choose M here: the module
2013	  will be called snd-soc-rtq9128.
2014
2015config SND_SOC_SDW_MOCKUP
2016	tristate "SoundWire mockup codec"
2017	depends on EXPERT
2018	depends on SOUNDWIRE
2019	help
2020	  This option enables a SoundWire mockup codec that does not drive the
2021	  bus, take part in the command/command protocol or generate data on a
2022	  Source port.
2023	  This option is only intended to be used for tests on a device
2024	  with a connector, in combination with a bus analyzer, or to test new
2025	  topologies that differ from the actual hardware layout.
2026	  This mockup device could be totally virtual but could also be a
2027	  real physical one with one key restriction: it is not allowed by the
2028	  SoundWire specification to be configured via a sideband mechanism and
2029	  generate audio data for capture. However, nothing prevents such a
2030	  peripheral device from snooping the bus.
2031
2032#Freescale sgtl5000 codec
2033config SND_SOC_SGTL5000
2034	tristate "Freescale SGTL5000 CODEC"
2035	depends on I2C
2036
2037config SND_SOC_SI476X
2038	tristate
2039	depends on MFD_SI476X_CORE
2040
2041config SND_SOC_SIGMADSP
2042	tristate
2043	select CRC32
2044
2045config SND_SOC_SIGMADSP_I2C
2046	tristate
2047	select SND_SOC_SIGMADSP
2048
2049config SND_SOC_SIGMADSP_REGMAP
2050	tristate
2051	select SND_SOC_SIGMADSP
2052
2053config SND_SOC_SIMPLE_AMPLIFIER
2054	tristate "Simple Audio Amplifier"
2055
2056config SND_SOC_SIMPLE_MUX
2057	tristate "Simple Audio Mux"
2058	depends on GPIOLIB
2059
2060config SND_SOC_SMA1303
2061	tristate "Iron Device SMA1303 Audio Amplifier"
2062	depends on I2C
2063	help
2064	  Enable support for Iron Device SMA1303 Boosted Class-D amplifier
2065
2066config SND_SOC_SMA1307
2067	tristate "Iron Device SMA1307 Audio Amplifier"
2068	depends on I2C
2069	help
2070	  Enable support for Iron Device SMA1307 boosted digital speaker
2071	  amplifier with feedback-loop.
2072	  If you are using a system with an SMA1307 amplifier connected
2073	  via I2C, enable this option.
2074
2075config SND_SOC_SPDIF
2076	tristate "S/PDIF CODEC"
2077
2078config SND_SOC_SRC4XXX_I2C
2079	tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
2080	depends on I2C
2081	select SND_SOC_SRC4XXX
2082	help
2083	  Enable support for the TI SRC4XXX family of codecs. These include the
2084	  scr4392 which has digital receivers, transmitters, and
2085	  a sample rate converter, including numerous ports.
2086
2087config SND_SOC_SRC4XXX
2088	tristate
2089
2090config SND_SOC_SSM2305
2091	tristate "Analog Devices SSM2305 Class-D Amplifier"
2092	help
2093	  Enable support for Analog Devices SSM2305 filterless
2094	  high-efficiency mono Class-D audio power amplifiers.
2095
2096config SND_SOC_SSM2518
2097	tristate "Analog Devices SSM2518 Class-D Amplifier"
2098	depends on I2C
2099
2100config SND_SOC_SSM2602
2101	tristate
2102
2103config SND_SOC_SSM2602_SPI
2104	tristate "Analog Devices SSM2602 CODEC - SPI"
2105	depends on SPI_MASTER
2106	select SND_SOC_SSM2602
2107	select REGMAP_SPI
2108
2109config SND_SOC_SSM2602_I2C
2110	tristate "Analog Devices SSM2602 CODEC - I2C"
2111	depends on I2C
2112	select SND_SOC_SSM2602
2113	select REGMAP_I2C
2114
2115config SND_SOC_SSM3515
2116	tristate "Analog Devices SSM3515 amplifier driver"
2117	select REGMAP_I2C
2118	depends on I2C
2119	depends on OF
2120
2121config SND_SOC_SSM4567
2122	tristate "Analog Devices ssm4567 amplifier driver support"
2123	depends on I2C
2124
2125config SND_SOC_STA32X
2126	tristate "STA326, STA328 and STA329 speaker amplifier"
2127	depends on I2C
2128	select REGMAP_I2C
2129
2130config SND_SOC_STA350
2131	tristate "STA350 speaker amplifier"
2132	depends on I2C
2133
2134config SND_SOC_STA529
2135	tristate
2136	depends on I2C
2137
2138config SND_SOC_STAC9766
2139	tristate
2140	depends on SND_SOC_AC97_BUS
2141	select REGMAP_AC97
2142
2143config SND_SOC_STI_SAS
2144	tristate "codec Audio support for STI SAS codec"
2145
2146config SND_SOC_TAS2552
2147	tristate "Texas Instruments TAS2552 Mono Audio amplifier"
2148	depends on I2C
2149
2150config SND_SOC_TAS2562
2151	tristate "Texas Instruments TAS2562 Mono Audio amplifier"
2152	depends on I2C
2153
2154config SND_SOC_TAS2764
2155	tristate "Texas Instruments TAS2764 Mono Audio amplifier"
2156	depends on I2C
2157
2158config SND_SOC_TAS2770
2159	tristate "Texas Instruments TAS2770 speaker amplifier"
2160	depends on I2C
2161
2162config SND_SOC_TAS2780
2163	tristate "Texas Instruments TAS2780 Mono Audio amplifier"
2164	depends on I2C
2165	help
2166	  Enable support for Texas Instruments TAS2780 high-efficiency
2167	  digital input mono Class-D audio power amplifiers.
2168
2169config SND_SOC_TAS2781_COMLIB
2170	tristate
2171
2172config SND_SOC_TAS2781_COMLIB_I2C
2173	depends on I2C
2174	select CRC8
2175	select REGMAP_I2C
2176	tristate
2177
2178config SND_SOC_TAS2781_FMWLIB
2179	select SND_SOC_TAS2781_COMLIB
2180	select CRC8
2181	tristate
2182	default n
2183
2184config SND_SOC_TAS2781_I2C
2185	tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
2186	depends on I2C
2187	select SND_SOC_TAS2781_COMLIB_I2C
2188	select SND_SOC_TAS2781_FMWLIB
2189	help
2190	  Enable support for Texas Instruments TAS2781 Smart Amplifier
2191	  Digital input mono Class-D and DSP-inside audio power amplifiers.
2192	  Note the TAS2781 driver implements a flexible and configurable
2193	  algo coefficient setting, for one, two or even multiple TAS2781
2194	  chips.
2195
2196config SND_SOC_TAS2783_SDW
2197	tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
2198	depends on SOUNDWIRE
2199	depends on SND_SOC_SDCA
2200	depends on EFI
2201	select REGMAP_SOUNDWIRE
2202	select REGMAP_SOUNDWIRE_MBQ
2203	select CRC32
2204	help
2205	  Enable support for Texas Instruments TAS2783A Digital input
2206	  mono Class-D and DSP-inside audio power amplifiers. TAS2783
2207	  driver implements a flexible and configurable algorithm
2208	  cofficient setting, for one, two or multiple TAS2783 chips.
2209
2210config SND_SOC_TAS5086
2211	tristate "Texas Instruments TAS5086 speaker amplifier"
2212	depends on I2C
2213
2214config SND_SOC_TAS571X
2215	tristate "Texas Instruments TAS571x power amplifiers"
2216	depends on I2C
2217	help
2218	  Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
2219	  TAS5719 and TAS5721 power amplifiers
2220
2221config SND_SOC_TAS5720
2222	tristate "Texas Instruments TAS5720 Mono Audio amplifier"
2223	depends on I2C
2224	help
2225	  Enable support for Texas Instruments TAS5720L/M high-efficiency mono
2226	  Class-D audio power amplifiers.
2227
2228config SND_SOC_TAS5805M
2229	tristate "Texas Instruments TAS5805M speaker amplifier"
2230	depends on I2C
2231	help
2232	  Enable support for Texas Instruments TAS5805M Class-D
2233	  amplifiers. This is a speaker amplifier with an integrated
2234	  DSP. DSP configuration for each instance needs to be supplied
2235	  via a device-tree attribute.
2236
2237config SND_SOC_TAS6424
2238	tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
2239	depends on I2C
2240	help
2241	  Enable support for Texas Instruments TAS6424 high-efficiency
2242	  digital input quad-channel Class-D audio power amplifiers.
2243
2244config SND_SOC_TDA7419
2245	tristate "ST TDA7419 audio processor"
2246	depends on I2C
2247	select REGMAP_I2C
2248
2249config SND_SOC_TFA9879
2250	tristate "NXP Semiconductors TFA9879 amplifier"
2251	depends on I2C
2252
2253config SND_SOC_TFA989X
2254	tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
2255	depends on I2C
2256	select REGMAP_I2C
2257	help
2258	  Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
2259	  amplifiers, e.g. TFA9895.
2260	  Note that the driver currently bypasses the built-in "CoolFlux DSP"
2261	  and does not support (hardware) volume control.
2262
2263config SND_SOC_TLV320ADC3XXX
2264	tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
2265	depends on I2C
2266	depends on GPIOLIB
2267	help
2268	 Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
2269	 ADCs.
2270
2271config SND_SOC_TLV320AIC23
2272	tristate
2273
2274config SND_SOC_TLV320AIC23_I2C
2275	tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2276	depends on I2C
2277	select SND_SOC_TLV320AIC23
2278
2279config SND_SOC_TLV320AIC23_SPI
2280	tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2281	depends on SPI_MASTER
2282	select SND_SOC_TLV320AIC23
2283
2284config SND_SOC_TLV320AIC26
2285	tristate
2286	depends on SPI
2287
2288config SND_SOC_TLV320AIC31XX
2289	tristate "Texas Instruments TLV320AIC31xx CODECs"
2290	depends on I2C
2291	select REGMAP_I2C
2292
2293config SND_SOC_TLV320AIC32X4
2294	tristate
2295	depends on COMMON_CLK
2296
2297config SND_SOC_TLV320AIC32X4_I2C
2298	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2299	depends on I2C
2300	depends on COMMON_CLK
2301	select SND_SOC_TLV320AIC32X4
2302
2303config SND_SOC_TLV320AIC32X4_SPI
2304	tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2305	depends on SPI_MASTER
2306	depends on COMMON_CLK
2307	select SND_SOC_TLV320AIC32X4
2308
2309config SND_SOC_TLV320AIC3X
2310	tristate
2311
2312config SND_SOC_TLV320AIC3X_I2C
2313	tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2314	depends on I2C
2315	select SND_SOC_TLV320AIC3X
2316	select REGMAP_I2C
2317
2318config SND_SOC_TLV320AIC3X_SPI
2319	tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
2320	depends on SPI_MASTER
2321	select SND_SOC_TLV320AIC3X
2322	select REGMAP_SPI
2323
2324config SND_SOC_TLV320DAC33
2325	tristate
2326	depends on I2C
2327	depends on GPIOLIB_LEGACY
2328
2329config SND_SOC_TLV320ADCX140
2330	tristate "Texas Instruments TLV320ADCX140 CODEC family"
2331	depends on I2C
2332	select REGMAP_I2C
2333	help
2334	  Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
2335	  tlv320adc6140 quad channel ADCs.
2336
2337config SND_SOC_TS3A227E
2338	tristate "TI Headset/Mic detect and keypress chip"
2339	depends on I2C
2340
2341config SND_SOC_TSCS42XX
2342	tristate "Tempo Semiconductor TSCS42xx CODEC"
2343	depends on I2C
2344	select REGMAP_I2C
2345	help
2346	  Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
2347
2348config SND_SOC_TSCS454
2349	tristate "Tempo Semiconductor TSCS454 CODEC"
2350	depends on I2C
2351	select REGMAP_I2C
2352	help
2353	  Add support for Tempo Semiconductor's TSCS454 audio CODEC.
2354
2355config SND_SOC_TWL4030
2356	tristate
2357	depends on TWL4030_CORE
2358	select MFD_TWL4030_AUDIO
2359
2360config SND_SOC_TWL6040
2361	tristate
2362	depends on TWL6040_CORE
2363
2364config SND_SOC_UDA1334
2365	tristate "NXP UDA1334 DAC"
2366	depends on GPIOLIB
2367	help
2368	  The UDA1334 is an NXP audio codec, supports the I2S-bus data format
2369	  and has basic features such as de-emphasis (at 44.1 kHz sampling
2370	  rate) and mute.
2371
2372config SND_SOC_UDA1342
2373	tristate "NXP UDA1342 CODEC"
2374	depends on I2C
2375	help
2376	  The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
2377	  mic inputs), stereo audio DAC, with basic audio processing.
2378
2379config SND_SOC_UDA1380
2380	tristate
2381	depends on I2C
2382	depends on GPIOLIB_LEGACY
2383
2384config SND_SOC_WCD_CLASSH
2385	tristate
2386
2387config SND_SOC_WCD_COMMON
2388	tristate
2389
2390config SND_SOC_WCD9335
2391	tristate "WCD9335 Codec"
2392	depends on SLIMBUS
2393	select REGMAP_SLIMBUS
2394	select REGMAP_IRQ
2395	select SND_SOC_WCD_CLASSH
2396	help
2397	  The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
2398	  Qualcomm Technologies, Inc. (QTI) multimedia solutions,
2399	  including the MSM8996, MSM8976, and MSM8956 chipsets.
2400
2401config SND_SOC_WCD_MBHC
2402	tristate
2403
2404config SND_SOC_WCD934X
2405	tristate "WCD9340/WCD9341 Codec"
2406	depends on COMMON_CLK
2407	depends on SLIMBUS
2408	depends on SOUNDWIRE || !SOUNDWIRE
2409	select REGMAP_IRQ
2410	select REGMAP_SLIMBUS
2411	select SND_SOC_WCD_CLASSH
2412	select SND_SOC_WCD_COMMON
2413	select SND_SOC_WCD_MBHC
2414	depends on MFD_WCD934X || COMPILE_TEST
2415	help
2416	  The WCD9340/9341 is a audio codec IC Integrated in
2417	  Qualcomm SoCs like SDM845.
2418
2419config SND_SOC_WCD937X
2420	depends on SND_SOC_WCD937X_SDW
2421	tristate
2422	depends on SOUNDWIRE || !SOUNDWIRE
2423	select SND_SOC_WCD_CLASSH
2424	select SND_SOC_WCD_COMMON
2425
2426config SND_SOC_WCD937X_SDW
2427	tristate "WCD9370/WCD9375 Codec - SDW"
2428	select SND_SOC_WCD937X
2429	select SND_SOC_WCD_MBHC
2430	select REGMAP_IRQ
2431	depends on SOUNDWIRE
2432	select REGMAP_SOUNDWIRE
2433	help
2434	  The WCD9370/9375 is an audio codec IC used with SoCs
2435	  like SC7280 or QCM6490 chipsets, and it connected
2436	  via soundwire.
2437	  To compile this codec driver say Y or m.
2438
2439config SND_SOC_WCD938X
2440	depends on SND_SOC_WCD938X_SDW
2441	tristate
2442	depends on SOUNDWIRE || !SOUNDWIRE
2443	select SND_SOC_WCD_CLASSH
2444	select SND_SOC_WCD_COMMON
2445	select MULTIPLEXER
2446
2447config SND_SOC_WCD938X_SDW
2448	tristate "WCD9380/WCD9385 Codec - SDW"
2449	select SND_SOC_WCD938X
2450	select SND_SOC_WCD_MBHC
2451	select REGMAP_IRQ
2452	depends on SOUNDWIRE
2453	select REGMAP_SOUNDWIRE
2454	help
2455	  The WCD9380/9385 is a audio codec IC Integrated in
2456	  Qualcomm SoCs like SM8250.
2457
2458config SND_SOC_WCD939X
2459	depends on SND_SOC_WCD939X_SDW
2460	tristate
2461	depends on SOUNDWIRE || !SOUNDWIRE
2462	depends on TYPEC || !TYPEC
2463	select SND_SOC_WCD_CLASSH
2464	select SND_SOC_WCD_COMMON
2465
2466config SND_SOC_WCD939X_SDW
2467	tristate "WCD9390/WCD9395 Codec - SDW"
2468	depends on TYPEC || !TYPEC
2469	select SND_SOC_WCD939X
2470	select SND_SOC_WCD_MBHC
2471	select REGMAP_IRQ
2472	depends on SOUNDWIRE
2473	select REGMAP_SOUNDWIRE
2474	help
2475	  The WCD9390/9395 is a audio codec IC Integrated in
2476	  Qualcomm SoCs like SM8650.
2477
2478config SND_SOC_WM0010
2479	tristate
2480	depends on SPI_MASTER
2481
2482config SND_SOC_WM1250_EV1
2483	tristate
2484	depends on I2C
2485
2486config SND_SOC_WM2000
2487	tristate
2488	depends on I2C
2489
2490config SND_SOC_WM2200
2491	tristate
2492	depends on I2C
2493
2494config SND_SOC_WM5100
2495	tristate
2496	depends on I2C
2497
2498config SND_SOC_WM5102
2499	tristate
2500	depends on MFD_WM5102 && MFD_ARIZONA
2501
2502config SND_SOC_WM5110
2503	tristate
2504	depends on MFD_WM5110 && MFD_ARIZONA
2505
2506config SND_SOC_WM8350
2507	tristate
2508	depends on MFD_WM8350
2509
2510config SND_SOC_WM8400
2511	tristate
2512	# FIXME nothing selects SND_SOC_WM8400??
2513	depends on MFD_WM8400
2514
2515config SND_SOC_WM8510
2516	tristate "Wolfson Microelectronics WM8510 CODEC"
2517	depends on SND_SOC_I2C_AND_SPI
2518
2519config SND_SOC_WM8523
2520	tristate "Wolfson Microelectronics WM8523 DAC"
2521	depends on I2C
2522
2523config SND_SOC_WM8524
2524	tristate "Wolfson Microelectronics WM8524 DAC"
2525	depends on GPIOLIB
2526
2527config SND_SOC_WM8580
2528	tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2529	depends on I2C
2530
2531config SND_SOC_WM8711
2532	tristate "Wolfson Microelectronics WM8711 CODEC"
2533	depends on SND_SOC_I2C_AND_SPI
2534
2535config SND_SOC_WM8727
2536	tristate
2537
2538config SND_SOC_WM8728
2539	tristate "Wolfson Microelectronics WM8728 DAC"
2540	depends on SND_SOC_I2C_AND_SPI
2541
2542config SND_SOC_WM8731
2543	tristate
2544
2545config SND_SOC_WM8731_I2C
2546	tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
2547	depends on I2C
2548	select REGMAP
2549	select SND_SOC_WM8731
2550
2551config SND_SOC_WM8731_SPI
2552	tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
2553	depends on SPI
2554	select REGMAP
2555	select SND_SOC_WM8731
2556
2557config SND_SOC_WM8737
2558	tristate "Wolfson Microelectronics WM8737 ADC"
2559	depends on SND_SOC_I2C_AND_SPI
2560
2561config SND_SOC_WM8741
2562	tristate "Wolfson Microelectronics WM8741 DAC"
2563	depends on SND_SOC_I2C_AND_SPI
2564
2565config SND_SOC_WM8750
2566	tristate "Wolfson Microelectronics WM8750 CODEC"
2567	depends on SND_SOC_I2C_AND_SPI
2568
2569config SND_SOC_WM8753
2570	tristate "Wolfson Microelectronics WM8753 CODEC"
2571	depends on SND_SOC_I2C_AND_SPI
2572
2573config SND_SOC_WM8770
2574	tristate "Wolfson Microelectronics WM8770 CODEC"
2575	depends on SPI_MASTER
2576
2577config SND_SOC_WM8776
2578	tristate "Wolfson Microelectronics WM8776 CODEC"
2579	depends on SND_SOC_I2C_AND_SPI
2580
2581config SND_SOC_WM8782
2582	tristate "Wolfson Microelectronics WM8782 ADC"
2583
2584config SND_SOC_WM8804
2585	tristate
2586
2587config SND_SOC_WM8804_I2C
2588	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
2589	depends on I2C
2590	select SND_SOC_WM8804
2591	select REGMAP_I2C
2592
2593config SND_SOC_WM8804_SPI
2594	tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
2595	depends on SPI_MASTER
2596	select SND_SOC_WM8804
2597	select REGMAP_SPI
2598
2599config SND_SOC_WM8900
2600	tristate
2601	depends on SND_SOC_I2C_AND_SPI
2602
2603config SND_SOC_WM8903
2604	tristate "Wolfson Microelectronics WM8903 CODEC"
2605	depends on I2C
2606
2607config SND_SOC_WM8904
2608	tristate "Wolfson Microelectronics WM8904 CODEC"
2609	depends on I2C
2610
2611config SND_SOC_WM8940
2612	tristate "Wolfson Microelectronics WM8940 codec"
2613	depends on I2C
2614
2615config SND_SOC_WM8955
2616	tristate
2617	depends on I2C
2618
2619config SND_SOC_WM8960
2620	tristate "Wolfson Microelectronics WM8960 CODEC"
2621	depends on I2C
2622
2623config SND_SOC_WM8961
2624	tristate "Wolfson Microelectronics WM8961 CODEC"
2625	depends on I2C
2626
2627config SND_SOC_WM8962
2628	tristate "Wolfson Microelectronics WM8962 CODEC"
2629	depends on I2C && INPUT
2630
2631config SND_SOC_WM8971
2632	tristate
2633	depends on I2C
2634
2635config SND_SOC_WM8974
2636	tristate "Wolfson Microelectronics WM8974 codec"
2637	depends on I2C
2638
2639config SND_SOC_WM8978
2640	tristate "Wolfson Microelectronics WM8978 codec"
2641	depends on I2C
2642
2643config SND_SOC_WM8983
2644	tristate
2645	depends on SND_SOC_I2C_AND_SPI
2646
2647config SND_SOC_WM8985
2648	tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2649	depends on SND_SOC_I2C_AND_SPI
2650
2651config SND_SOC_WM8988
2652	tristate
2653	depends on SND_SOC_I2C_AND_SPI
2654
2655config SND_SOC_WM8990
2656	tristate
2657	depends on I2C
2658
2659config SND_SOC_WM8991
2660	tristate
2661	depends on I2C
2662
2663config SND_SOC_WM8993
2664	tristate
2665	depends on I2C
2666
2667config SND_SOC_WM8994
2668	tristate
2669	depends on MFD_WM8994
2670
2671config SND_SOC_WM8995
2672	tristate
2673	depends on SND_SOC_I2C_AND_SPI
2674
2675config SND_SOC_WM8996
2676	tristate
2677	depends on I2C
2678
2679config SND_SOC_WM8997
2680	tristate
2681	depends on MFD_WM8997 && MFD_ARIZONA
2682
2683config SND_SOC_WM8998
2684	tristate "Wolfson Microelectronics WM8998 codec driver"
2685	depends on MFD_WM8998 && MFD_ARIZONA
2686
2687config SND_SOC_WM9081
2688	tristate
2689	depends on I2C
2690
2691config SND_SOC_WM9090
2692	tristate
2693	depends on I2C
2694
2695config SND_SOC_WM9705
2696	tristate
2697	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2698	select REGMAP_AC97
2699	select AC97_BUS_COMPAT if AC97_BUS_NEW
2700
2701config SND_SOC_WM9712
2702	tristate
2703	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2704	select REGMAP_AC97
2705	select AC97_BUS_COMPAT if AC97_BUS_NEW
2706
2707config SND_SOC_WM9713
2708	tristate
2709	depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2710	select REGMAP_AC97
2711	select AC97_BUS_COMPAT if AC97_BUS_NEW
2712
2713config SND_SOC_WSA881X
2714	tristate "WSA881X Codec"
2715	depends on SOUNDWIRE
2716	select REGMAP_SOUNDWIRE
2717	help
2718	  This enables support for Qualcomm WSA8810/WSA8815 Class-D
2719	  Smart Speaker Amplifier.
2720
2721config SND_SOC_WSA883X
2722	tristate "WSA883X Codec"
2723	depends on SOUNDWIRE
2724	select REGMAP_SOUNDWIRE
2725	help
2726	  This enables support for Qualcomm WSA8830/WSA8835 Class-D
2727	  Smart Speaker Amplifier.
2728
2729config SND_SOC_WSA884X
2730	tristate "WSA884X Codec"
2731	depends on SOUNDWIRE
2732	select REGMAP_SOUNDWIRE
2733	help
2734	  This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
2735	  Smart Speaker Amplifier.
2736
2737config SND_SOC_ZL38060
2738	tristate "Microsemi ZL38060 Connected Home Audio Processor"
2739	depends on SPI_MASTER
2740	depends on GPIOLIB
2741	select REGMAP
2742	help
2743	  Support for ZL38060 Connected Home Audio Processor from Microsemi,
2744	  which consists of a Digital Signal Processor (DSP), several Digital
2745	  Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
2746
2747# Amp
2748config SND_SOC_LM4857
2749	tristate
2750	depends on I2C
2751
2752config SND_SOC_MAX9759
2753	tristate "Maxim MAX9759 speaker Amplifier"
2754	depends on GPIOLIB
2755
2756config SND_SOC_MAX9768
2757	tristate
2758	depends on I2C
2759
2760config SND_SOC_MAX9877
2761	tristate
2762	depends on I2C
2763
2764config SND_SOC_MC13783
2765	tristate
2766	depends on MFD_MC13XXX
2767
2768config SND_SOC_ML26124
2769	tristate
2770	depends on I2C
2771
2772config SND_SOC_MT6351
2773	tristate "MediaTek MT6351 Codec"
2774
2775config SND_SOC_MT6357
2776	tristate "MediaTek MT6357 Codec"
2777	help
2778	  Enable support for the platform which uses MT6357 as
2779	  external codec device.
2780
2781config SND_SOC_MT6358
2782	tristate "MediaTek MT6358 Codec"
2783	help
2784	  Enable support for the platform which uses MT6358 as
2785	  external codec device.
2786
2787config SND_SOC_MT6359
2788	tristate "MediaTek MT6359 Codec"
2789	depends on MTK_PMIC_WRAP
2790	help
2791	  Enable support for the platform which uses MT6359 as
2792	  external codec device.
2793
2794config SND_SOC_MT6359_ACCDET
2795	tristate "MediaTek MT6359 ACCDET driver"
2796	depends on MTK_PMIC_WRAP
2797	help
2798	  ACCDET means Accessory Detection technology, MediaTek develop it
2799	  for ASoC codec soc-jack detection mechanism.
2800	  Select N if you don't have jack on board.
2801
2802config SND_SOC_MT6660
2803	tristate "Mediatek MT6660 Speaker Amplifier"
2804	depends on I2C
2805	help
2806	  MediaTek MT6660 is a smart power amplifier which contain
2807	  speaker protection, multi-band DRC, equalizer functions.
2808	  Select N if you don't have MT6660 on board.
2809	  Select M to build this as module.
2810
2811config SND_SOC_NAU8315
2812	tristate "Nuvoton Technology Corporation NAU8315 CODEC"
2813
2814config SND_SOC_NAU8325
2815	tristate "Nuvoton Technology Corporation NAU8325 CODEC"
2816	depends on I2C
2817
2818config SND_SOC_NAU8540
2819	tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
2820	depends on I2C
2821
2822config SND_SOC_NAU8810
2823	tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
2824	depends on I2C
2825
2826config SND_SOC_NAU8821
2827	tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
2828	depends on I2C
2829
2830config SND_SOC_NAU8822
2831	tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
2832	depends on I2C
2833
2834config SND_SOC_NAU8824
2835	tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
2836	depends on I2C
2837
2838config SND_SOC_NAU8825
2839	tristate
2840	depends on I2C
2841
2842config SND_SOC_NTPFW
2843	tristate
2844
2845config SND_SOC_NTP8918
2846	select SND_SOC_NTPFW
2847	tristate "NeoFidelity NTP8918 amplifier"
2848	depends on I2C
2849
2850config SND_SOC_NTP8835
2851	select SND_SOC_NTPFW
2852	tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
2853	depends on I2C
2854
2855config SND_SOC_TPA6130A2
2856	tristate "Texas Instruments TPA6130A2 headphone amplifier"
2857	depends on I2C
2858
2859config SND_SOC_LPASS_MACRO_COMMON
2860        tristate
2861
2862config SND_SOC_LPASS_WSA_MACRO
2863	depends on COMMON_CLK
2864	select REGMAP_MMIO
2865	select SND_SOC_LPASS_MACRO_COMMON
2866	tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2867
2868config SND_SOC_LPASS_VA_MACRO
2869	depends on COMMON_CLK
2870	select REGMAP_MMIO
2871	select SND_SOC_LPASS_MACRO_COMMON
2872	tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2873
2874config SND_SOC_LPASS_RX_MACRO
2875	depends on COMMON_CLK
2876	select REGMAP_MMIO
2877	select SND_SOC_LPASS_MACRO_COMMON
2878	tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2879
2880config SND_SOC_LPASS_TX_MACRO
2881	depends on COMMON_CLK
2882	select REGMAP_MMIO
2883	select SND_SOC_LPASS_MACRO_COMMON
2884	tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2885
2886endmenu
2887