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