xref: /openbmc/linux/sound/soc/codecs/Kconfig (revision fd589a8f)
1# Helper to resolve issues with configs that have SPI enabled but I2C
2# modular, meaning we can't build the codec driver in with I2C support.
3# We use an ordered list of conditional defaults to pick the appropriate
4# setting - SPI can't be modular so that case doesn't need to be covered.
5config SND_SOC_I2C_AND_SPI
6	tristate
7	default m if I2C=m
8	default y if I2C=y
9	default y if SPI_MASTER=y
10
11config SND_SOC_ALL_CODECS
12	tristate "Build all ASoC CODEC drivers"
13	select SND_SOC_L3
14	select SND_SOC_AC97_CODEC if SND_SOC_AC97_BUS
15	select SND_SOC_AD1836 if SPI_MASTER
16	select SND_SOC_AD1938 if SPI_MASTER
17	select SND_SOC_AD1980 if SND_SOC_AC97_BUS
18	select SND_SOC_AD73311 if I2C
19	select SND_SOC_AK4104 if SPI_MASTER
20	select SND_SOC_AK4535 if I2C
21	select SND_SOC_AK4642 if I2C
22	select SND_SOC_CS4270 if I2C
23	select SND_SOC_MAX9877 if I2C
24	select SND_SOC_PCM3008
25	select SND_SOC_SPDIF
26	select SND_SOC_SSM2602 if I2C
27	select SND_SOC_STAC9766 if SND_SOC_AC97_BUS
28	select SND_SOC_TLV320AIC23 if I2C
29	select SND_SOC_TLV320AIC26 if SPI_MASTER
30	select SND_SOC_TLV320AIC3X if I2C
31	select SND_SOC_TWL4030 if TWL4030_CORE
32	select SND_SOC_UDA134X
33	select SND_SOC_UDA1380 if I2C
34	select SND_SOC_WM8350 if MFD_WM8350
35	select SND_SOC_WM8400 if MFD_WM8400
36	select SND_SOC_WM8510 if SND_SOC_I2C_AND_SPI
37	select SND_SOC_WM8523 if I2C
38	select SND_SOC_WM8580 if I2C
39	select SND_SOC_WM8728 if SND_SOC_I2C_AND_SPI
40	select SND_SOC_WM8731 if SND_SOC_I2C_AND_SPI
41	select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
42	select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
43	select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
44	select SND_SOC_WM8900 if I2C
45	select SND_SOC_WM8903 if I2C
46	select SND_SOC_WM8940 if I2C
47	select SND_SOC_WM8960 if I2C
48	select SND_SOC_WM8961 if I2C
49	select SND_SOC_WM8971 if I2C
50	select SND_SOC_WM8974 if I2C
51	select SND_SOC_WM8988 if SND_SOC_I2C_AND_SPI
52	select SND_SOC_WM8990 if I2C
53	select SND_SOC_WM8993 if I2C
54	select SND_SOC_WM9081 if I2C
55	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
56	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
57	select SND_SOC_WM9713 if SND_SOC_AC97_BUS
58        help
59          Normally ASoC codec drivers are only built if a machine driver which
60          uses them is also built since they are only usable with a machine
61          driver.  Selecting this option will allow these drivers to be built
62          without an explicit machine driver for test and development purposes.
63
64	  Support for the bus types used to access the codecs to be built must
65	  be selected separately.
66
67          If unsure select "N".
68
69config SND_SOC_WM_HUBS
70	tristate
71	default y if SND_SOC_WM8993=y
72	default m if SND_SOC_WM8993=m
73
74config SND_SOC_AC97_CODEC
75	tristate
76	select SND_AC97_CODEC
77
78config SND_SOC_AD1836
79	tristate
80
81config SND_SOC_AD1938
82	tristate
83
84config SND_SOC_AD1980
85	tristate
86
87config SND_SOC_AD73311
88	tristate
89
90config SND_SOC_AK4104
91	tristate
92
93config SND_SOC_AK4535
94	tristate
95
96config SND_SOC_AK4642
97	tristate
98
99# Cirrus Logic CS4270 Codec
100config SND_SOC_CS4270
101	tristate
102
103# Cirrus Logic CS4270 Codec VD = 3.3V Errata
104# Select if you are affected by the errata where the part will not function
105# if MCLK divide-by-1.5 is selected and VD is set to 3.3V.  The driver will
106# not select any sample rates that require MCLK to be divided by 1.5.
107config SND_SOC_CS4270_VD33_ERRATA
108	bool
109	depends on SND_SOC_CS4270
110
111config SND_SOC_CX20442
112	tristate
113
114config SND_SOC_L3
115       tristate
116
117config SND_SOC_PCM3008
118       tristate
119
120config SND_SOC_SPDIF
121	tristate
122
123config SND_SOC_SSM2602
124	tristate
125
126config SND_SOC_STAC9766
127	tristate
128
129config SND_SOC_TLV320AIC23
130	tristate
131
132config SND_SOC_TLV320AIC26
133	tristate "TI TLV320AIC26 Codec support" if SND_SOC_OF_SIMPLE
134	depends on SPI
135
136config SND_SOC_TLV320AIC3X
137	tristate
138
139config SND_SOC_TWL4030
140	tristate
141
142config SND_SOC_UDA134X
143       tristate
144
145config SND_SOC_UDA1380
146        tristate
147
148config SND_SOC_WM8350
149	tristate
150
151config SND_SOC_WM8400
152	tristate
153
154config SND_SOC_WM8510
155	tristate
156
157config SND_SOC_WM8523
158	tristate
159
160config SND_SOC_WM8580
161	tristate
162
163config SND_SOC_WM8728
164	tristate
165
166config SND_SOC_WM8731
167	tristate
168
169config SND_SOC_WM8750
170	tristate
171
172config SND_SOC_WM8753
173	tristate
174
175config SND_SOC_WM8776
176	tristate
177
178config SND_SOC_WM8900
179	tristate
180
181config SND_SOC_WM8903
182	tristate
183
184config SND_SOC_WM8940
185        tristate
186
187config SND_SOC_WM8960
188	tristate
189
190config SND_SOC_WM8961
191	tristate
192
193config SND_SOC_WM8971
194	tristate
195
196config SND_SOC_WM8974
197	tristate
198
199config SND_SOC_WM8988
200	tristate
201
202config SND_SOC_WM8990
203	tristate
204
205config SND_SOC_WM8993
206	tristate
207
208config SND_SOC_WM9081
209	tristate
210
211config SND_SOC_WM9705
212	tristate
213
214config SND_SOC_WM9712
215	tristate
216
217config SND_SOC_WM9713
218	tristate
219
220# Amp
221config SND_SOC_MAX9877
222	tristate
223