Audio: use sound DMA engine for pcm, update i2s, spdif and machine driver, add dts...
[firefly-linux-kernel-4.4.55.git] / sound / soc / rockchip / Kconfig
1 config SND_RK_SOC
2         tristate "SoC Audio for the Rockchip System-on-Chip"
3         depends on SND_SOC
4         select SND_SOC_GENERIC_DMAENGINE_PCM
5         help
6           Say Y or M if you want to add support for codecs attached to
7           the ROCKCHIP IIS interface. You will also need
8           to select the audio interfaces to support below.
9
10 config SND_RK_SOC_I2S
11         tristate
12
13 config SND_RK_SOC_SPDIF
14         tristate
15
16 config SND_RK_SOC_I2S_8CH
17         bool "Soc RK I2S 8 Channel support(I2S0)"
18         default y
19         depends on SND_RK_SOC_I2S && !ARCH_RK3066B && !ARCH_RK3188 && !ARCH_RK319X
20         help
21        This supports the use of the 8 Channel I2S interface on rk processors.
22                                 
23 if SND_RK_SOC_I2S_8CH
24 choice
25   bool "Set I2S0 using the number of channels"
26   default SND_I2SO_USE_DOUBLE_CHANNELS
27         config SND_I2SO_USE_EIGHT_CHANNELS
28                 tristate  "I2S0 use 8 channels"
29
30         config SND_I2SO_USE_DOUBLE_CHANNELS
31                 tristate  "I2S0 use 2 channels"
32 endchoice
33 endif
34
35 config SND_RK_SOC_I2S_2CH
36         bool "Soc RK I2S 2 Channel support(I2S1)"
37         depends on SND_RK_SOC_I2S && !ARCH_RK2928 && !ARCH_RK3026
38         default y if (ARCH_RK3066B || ARCH_RK3188)
39         help
40          This supports the use of the 2 Channel I2S interface on rk processors.
41                  
42 choice
43         bool "Set I2S GRF Output Voltage"
44         depends on (ARCH_RK3066B || ARCH_RK3188) && SND_RK_SOC_I2S_2CH
45         default SND_I2S_USE_33V
46
47         config SND_I2S_USE_33V
48                 bool "I2S use 3.3V"
49
50         config SND_I2S_USE_18V
51                 bool "I2S use 1.8V"
52 endchoice
53
54 config SND_RK_SOC_I2S2_2CH
55         bool "Soc RK I2S 2 Channel support(I2S2)"
56         default n
57         depends on SND_RK_SOC_I2S && ARCH_RK30 && !ARCH_RK2928 && !ARCH_RK3066B && !ARCH_RK3026
58         help
59                 This supports the use of the 2 Channel I2S2 interface on rk30 processors.
60
61 if      SND_RK_SOC_I2S_2CH || SND_RK_SOC_I2S_8CH || SND_RK_SOC_I2S2_2CH
62 choice
63   bool "Set i2s on DMA event mode"
64   default SND_I2S_DMA_EVENT_STATIC
65         config SND_I2S_DMA_EVENT_DYNAMIC
66                 tristate  "dynamic mode"
67
68         config SND_I2S_DMA_EVENT_STATIC
69                 tristate  "static mode"
70 endchoice
71 endif
72
73 if SND_RK_SOC && RK_HDMI
74 choice
75   bool "Set audio support for HDMI"
76   default SND_RK_SOC_HDMI_I2S
77         config SND_RK_SOC_HDMI_I2S
78                 depends on !RK616_USE_MCLK_12M || !SND_RK_SOC_RK616
79                 select SND_RK_SOC_I2S
80                 select SND_SOC_HDMI_I2S
81                 tristate  "HDMI use I2S"
82
83         config SND_RK_SOC_HDMI_SPDIF
84                 depends on SND_RK_SOC_RK616
85                 select SND_RK_SOC_SPDIF
86                 select SND_SOC_HDMI_SPDIF
87                 tristate  "HDMI use SPDIF"
88 endchoice
89 endif
90
91 config SND_RK_SOC_AK4396
92         tristate "SoC I2S Audio support for rockchip - AK4396"
93         depends on SND_RK_SOC
94         select SND_RK_SOC_I2S
95         select SND_SOC_AK4396
96         help
97           Say Y if you want to add support for SoC audio on rockchip
98           with the AK4396.
99
100 config SND_RK_SOC_ES8323
101         tristate "SoC I2S Audio support for rockchip - ES8323"
102         depends on SND_RK_SOC
103         select SND_RK_SOC_I2S
104         select SND_SOC_ES8323
105         help
106           Say Y if you want to add support for SoC audio on rockchip
107           with the ES8323.
108
109 config SND_SOC_ES8323_PCM
110         tristate "SoC I2S Audio support for rockchip - ES8323 for PCM modem"
111         depends on SND_RK_SOC
112         help
113           Say Y if you want to add support for SoC audio on rockchip
114           with the ES8323 for PCM modem.
115
116 config SND_RK_SOC_WM8988
117         tristate "SoC I2S Audio support for rockchip - WM8988"
118         depends on SND_RK_SOC
119         select SND_RK_SOC_I2S
120         select SND_SOC_WM8988
121         help
122           Say Y if you want to add support for SoC audio on rockchip
123           with the WM8988.
124
125 config SND_RK_SOC_WM8900
126         tristate "SoC I2S Audio support for rockchip - WM8900"
127         depends on SND_RK_SOC
128         select SND_RK_SOC_I2S
129         select SND_SOC_WM8900
130         help
131           Say Y if you want to add support for SoC audio on rockchip
132           with the WM8900.
133
134 config SND_RK_SOC_RT5512
135         tristate "SoC I2S Audio support for rockchip - RICHTEK5512"
136         depends on SND_RK_SOC
137         select SND_SOC_RT5512
138         select SND_RK_SOC_I2S
139         help
140           Say Y if you want to add support for SoC audio on the rockchip.
141
142 config SND_RK_SOC_CX2070X
143         tristate "SoC I2S Audio support for rockchip - CX2070X"
144         depends on SND_RK_SOC
145         select SND_SOC_CX2070X
146         select SND_RK_SOC_I2S
147         help
148           Say Y if you want to add support for SoC audio on the rockchip.
149
150 config SND_RK_SOC_RT5621
151         tristate "SoC I2S Audio support for rockchip - rt5621"
152         depends on SND_RK_SOC
153         select SND_RK_SOC_I2S
154         select SND_SOC_RT5621
155         help
156           Say Y if you want to add support for SoC audio on rockchip
157           with the rt5621.
158 config SND_RK_SOC_RT5623
159         tristate "SoC I2S Audio support for rockchip - rt5623"
160         depends on SND_RK_SOC
161         select SND_RK_SOC_I2S
162         select SND_SOC_RT5623
163         help
164           Say Y if you want to add support for SoC audio on rockchip
165           with the rt5623.
166
167 config SND_RK_SOC_RT5631
168         tristate "SoC I2S Audio support for rockchip - RT5631"
169         depends on SND_RK_SOC
170         select SND_RK_SOC_I2S
171         select SND_SOC_RT5631
172         help
173           Say Y if you want to add support for SoC audio on rockchip
174           with the RT5631.
175           
176 config SND_RK_SOC_RT5631_PHONE
177         tristate "SoC I2S Audio support for rockchip(phone) - RT5631"
178         depends on SND_RK_SOC
179         select SND_RK_SOC_I2S
180         select SND_SOC_RT5631_PHONE
181         help
182           Say Y if you want to add support for SoC audio on rockchip
183           with the RT5631.
184           Driver code to use on the phone or voice Tablet.
185           
186 config SND_RK_SOC_RT5625
187         tristate "SoC I2S Audio support for rockchip - RT5625"
188         depends on SND_RK_SOC
189         select SND_RK_SOC_I2S
190         help
191           Say Y if you want to add support for SoC audio on rockchip
192           with the RT5625.
193
194 choice
195         depends on SND_RK_SOC_RT5625
196         prompt  "RT5625 hardware select"
197
198         config SND_SOC_RT5625_SPK_FORM_SPKOUT
199         bool "spk from spkout"
200         select SND_SOC_RT5625
201         help
202           if your codec output hardware connect is spk from spkout, choose it
203
204         config SND_SOC_RT5625_SPK_FORM_HPOUT
205         bool "spk from hpout"
206         select SND_SOC_RT5625
207         help
208           if your codec output hardware connect is spk from spkout, choose it
209 endchoice
210
211 config SND_RK_SOC_RT5640
212         tristate "SoC I2S Audio support for rockchip - RT5640(RT5642)"
213         depends on SND_RK_SOC
214         select SND_RK_SOC_I2S
215         select SND_SOC_RT5640
216         help
217            RT5640 is pin to pin as RT5642, but not have dsp function.
218           
219 config SND_RK_SOC_RT3224
220         tristate "SoC I2S Audio support for rockchip - RT3224"
221         depends on SND_RK_SOC
222         select SND_RK_SOC_I2S
223         select SND_SOC_RT3224
224         help
225           RT3224 is pin to pin as RT3261, but not have dsp function.
226           
227 config SND_RK_SOC_RT5639
228         tristate "SoC I2S Audio support for rockchip - RT5639"
229         depends on SND_RK_SOC
230         select SND_RK_SOC_I2S
231         select SND_SOC_RT5639
232         help
233           rt5639
234           
235 config SND_RK_SOC_RT5616
236         tristate "SoC I2S Audio support for rockchip - RT5616"
237         depends on SND_RK_SOC
238         select SND_RK_SOC_I2S
239         select SND_SOC_RT5616
240         help
241           Say Y if you want to add support for SoC audio on rockchip
242           with the RT5616.
243           
244 config SND_RK_SOC_RT3261
245         tristate "SoC I2S Audio support for rockchip - RT3261"
246         depends on SND_RK_SOC
247         select SND_RK_SOC_I2S
248         select SND_SOC_RT3261
249         help
250           Say Y if you want to add support for SoC audio on rockchip
251           with the RT3261.
252
253 config SND_RK_SOC_WM8994
254         tristate "SoC I2S Audio support for rockchip - WM8994"
255         depends on SND_RK_SOC && MFD_WM8994
256         select SND_RK_SOC_I2S
257         select SND_SOC_WM8994
258         help
259           Say Y if you want to add support for SoC audio on rockchip
260           with the WM8994.
261
262 config SND_RK_SOC_CS42L52
263         tristate "SoC I2S Audio support for rockchip - CS42L52"
264         depends on SND_RK_SOC
265         select SND_RK_SOC_I2S
266         select SND_SOC_CS42L52
267         help
268           Say Y if you want to add support for SoC audio on rockchip
269           with the CS42L52.
270
271 config SND_RK_SOC_AIC3111
272         tristate "SoC I2S Audio support for rockchip - AIC3111"
273         depends on SND_RK_SOC
274         select SND_RK_SOC_I2S
275         select SND_SOC_TLV320AIC3111
276         help
277           Say Y if you want to add support for SoC audio on rockchip
278           with the AIC3111.
279
280 config SND_RK_SOC_AIC3262
281         tristate "SoC I2S Audio support for rockchip - AIC3262"
282         depends on SND_RK_SOC
283         select SND_RK_SOC_I2S
284         select SND_SOC_TLV320AIC326X
285         help
286           Say Y if you want to add support for SoC audio on rockchip
287           with the AIC3262.
288
289 config SND_RK_SOC_RK1000
290         tristate "SoC I2S Audio support for rockchip - RK1000"
291         depends on SND_RK_SOC
292         select SND_RK_SOC_I2S
293         select SND_SOC_RK1000
294         help
295           Say Y if you want to add support for SoC audio on rockchip
296           with the RK1000.
297
298 config SND_RK_SOC_RK610
299         tristate "SoC I2S Audio support for rockchip - RK610"
300         depends on SND_RK_SOC && MFD_RK610
301         select SND_RK_SOC_I2S
302         select SND_SOC_RK610
303         help
304           Say Y if you want to add support for SoC audio on rockchip
305           with the RK610(JETTA).
306
307 config SND_RK_SOC_RK616
308         tristate "SoC I2S Audio support for rockchip - RK616"
309         depends on SND_RK_SOC && MFD_RK616
310         select SND_RK_SOC_I2S
311         select SND_SOC_RK616
312         help
313           Say Y if you want to add support for SoC audio on rockchip
314           with the RK616(JETTA).
315
316 config SND_RK_SOC_RK2928
317         tristate "SoC I2S Audio support for rockchip - RK2928"
318         depends on SND_RK_SOC && ARCH_RK2928
319         select SND_RK_SOC_I2S
320         select SND_SOC_RK2928
321         select SND_RK_CODEC_SOC_SLAVE
322         help
323           Say Y if you want to add support for SoC audio on rockchip
324           with the RK2928 internal codec.
325
326 config SND_RK_SOC_RK3026
327         tristate "SoC I2S Audio support for rockchip - RK3026&R3028A"
328         depends on SND_RK_SOC && ARCH_RK3026
329         select SND_RK_SOC_I2S
330         select SND_SOC_RK3026
331         select SND_RK_CODEC_SOC_SLAVE
332         help
333           Say Y if you want to add support for SoC audio on rockchip
334           with the RK3026 internal codec.
335
336 config SND_RK_SOC_RK3190
337         tristate "SoC I2S Audio support for rockchip - RK3190"
338         depends on SND_RK_SOC
339         select SND_RK_SOC_I2S
340         select SND_SOC_RK3190
341         select SND_RK_CODEC_SOC_SLAVE
342         help
343           Say Y if you want to add support for SoC audio on rockchip
344           with the RK3190 internal codec.
345
346 if SND_RK_SOC_I2S_2CH || SND_RK_SOC_I2S_8CH || SND_RK_SOC_I2S2_2CH  
347 choice
348   bool "Set i2s type"
349   default SND_RK_CODEC_SOC_SLAVE
350         config SND_RK_CODEC_SOC_MASTER
351                 tristate  "Codec run in Master"
352
353         config SND_RK_CODEC_SOC_SLAVE
354                 tristate  "Codec run in Slave"
355 endchoice
356
357 config ADJUST_VOL_BY_CODEC
358         bool "Adjust volume by codec"
359     default n
360     help
361           adjust volume by codec
362
363 config PHONE_INCALL_IS_SUSPEND
364         bool "Incalling Whether suspend codec"
365     default n
366     help
367                 set "y" phone incall status cannot into suspend codec
368
369 endif
370