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