Pull bugzilla-9345 into release branch
[sfrench/cifs-2.6.git] / arch / cris / arch-v10 / drivers / Kconfig
1 config ETRAX_ETHERNET
2         bool "Ethernet support"
3         depends on ETRAX_ARCH_V10
4         select NET_ETHERNET
5         select MII
6         help
7           This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet
8           controller.
9
10 choice
11         prompt "Network LED behavior"
12         depends on ETRAX_ETHERNET
13         default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
14
15 config ETRAX_NETWORK_LED_ON_WHEN_LINK
16         bool "LED_on_when_link"
17         help
18           Selecting LED_on_when_link will light the LED when there is a
19           connection and will flash off when there is activity.
20
21           Selecting LED_on_when_activity will light the LED only when
22           there is activity.
23
24           This setting will also affect the behaviour of other activity LEDs
25           e.g. Bluetooth.
26
27 config ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
28         bool "LED_on_when_activity"
29         help
30           Selecting LED_on_when_link will light the LED when there is a
31           connection and will flash off when there is activity.
32
33           Selecting LED_on_when_activity will light the LED only when
34           there is activity.
35
36           This setting will also affect the behaviour of other activity LEDs
37           e.g. Bluetooth.
38
39 endchoice
40
41 config ETRAX_SERIAL
42         bool "Serial-port support"
43         depends on ETRAX_ARCH_V10
44         help
45           Enables the ETRAX 100 serial driver for ser0 (ttyS0)
46           You probably want this enabled.
47
48 config ETRAX_SERIAL_FAST_TIMER
49         bool "Use fast timers for serial DMA flush (experimental)"
50         depends on ETRAX_SERIAL
51         help
52           Select this to have the serial DMAs flushed at a higher rate than
53           normally, possible by using the fast timer API, the timeout is
54           approx. 4 character times.
55           If unsure, say N.
56
57 config ETRAX_SERIAL_FLUSH_DMA_FAST
58         bool "Fast serial port DMA flush"
59         depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER
60         help
61           Select this to have the serial DMAs flushed at a higher rate than
62           normally possible through a fast timer interrupt (currently at
63           15360 Hz).
64           If unsure, say N.
65
66 config ETRAX_SERIAL_RX_TIMEOUT_TICKS
67         int "Receive flush timeout (ticks) "
68         depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER && !ETRAX_SERIAL_FLUSH_DMA_FAST
69         default "5"
70         help
71           Number of timer ticks between flush of receive fifo (1 tick = 10ms).
72           Try 0-3 for low latency applications.  Approx 5 for high load
73           applications (e.g. PPP).  Maybe this should be more adaptive some
74           day...
75
76 config ETRAX_SERIAL_PORT0
77         bool "Serial port 0 enabled"
78         depends on ETRAX_SERIAL
79         help
80           Enables the ETRAX 100 serial driver for ser0 (ttyS0)
81           Normally you want this on, unless you use external DMA 1 that uses
82           the same DMA channels.
83
84 choice
85         prompt "Ser0 DMA out assignment"
86         depends on ETRAX_SERIAL_PORT0
87         default ETRAX_SERIAL_PORT0_DMA6_OUT
88
89 config ETRAX_SERIAL_PORT0_NO_DMA_OUT
90         bool "No DMA out"
91
92 config ETRAX_SERIAL_PORT0_DMA6_OUT
93         bool "DMA 6"
94
95 endchoice
96
97 choice
98         prompt "Ser0 DMA in assignment"
99         depends on ETRAX_SERIAL_PORT0
100         default ETRAX_SERIAL_PORT0_DMA7_IN
101
102 config ETRAX_SERIAL_PORT0_NO_DMA_IN
103         bool "No DMA in"
104
105 config ETRAX_SERIAL_PORT0_DMA7_IN
106         bool "DMA 7"
107
108 endchoice
109
110 choice
111         prompt "Ser0 DTR, RI, DSR and CD assignment"
112         depends on ETRAX_SERIAL_PORT0
113         default ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE
114
115 config ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE
116         bool "No_DTR_RI_DSR_CD"
117
118 config ETRAX_SER0_DTR_RI_DSR_CD_ON_PA
119         bool "DTR_RI_DSR_CD_on_PA"
120
121 config ETRAX_SER0_DTR_RI_DSR_CD_ON_PB
122         bool "DTR_RI_DSR_CD_on_PB"
123         help
124           Enables the status and control signals DTR, RI, DSR and CD on PB for
125           ser0.
126
127 config ETRAX_SER0_DTR_RI_DSR_CD_MIXED
128         bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
129
130 endchoice
131
132 config ETRAX_SER0_DTR_ON_PA_BIT
133         int "Ser0 DTR on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
134         depends on ETRAX_SERIAL_PORT0
135         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
136         default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
137
138 config ETRAX_SER0_RI_ON_PA_BIT
139         int "Ser0 RI  on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
140         depends on ETRAX_SERIAL_PORT0
141         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
142         default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
143
144 config ETRAX_SER0_DSR_ON_PA_BIT
145         int "Ser0 DSR on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
146         depends on ETRAX_SERIAL_PORT0
147         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
148         default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
149
150 config ETRAX_SER0_CD_ON_PA_BIT
151         int "Ser0 CD  on PA bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
152         depends on ETRAX_SERIAL_PORT0
153         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
154         default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
155
156 config ETRAX_SER0_DTR_ON_PB_BIT
157         int "Ser0 DTR on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
158         depends on ETRAX_SERIAL_PORT0
159         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
160         default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
161         help
162           Specify the pin of the PB port to carry the DTR signal for serial
163           port 0.
164
165 config ETRAX_SER0_RI_ON_PB_BIT
166         int "Ser0 RI  on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
167         depends on ETRAX_SERIAL_PORT0
168         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
169         default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
170         help
171           Specify the pin of the PB port to carry the RI signal for serial
172           port 0.
173
174 config ETRAX_SER0_DSR_ON_PB_BIT
175         int "Ser0 DSR on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
176         depends on ETRAX_SERIAL_PORT0
177         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
178         default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
179         help
180           Specify the pin of the PB port to carry the DSR signal for serial
181           port 0.
182
183 config ETRAX_SER0_CD_ON_PB_BIT
184         int "Ser0 CD  on PB bit (-1 = not used)" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
185         depends on ETRAX_SERIAL_PORT0
186         default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
187         default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
188         help
189           Specify the pin of the PB port to carry the CD signal for serial
190           port 0.
191
192 config ETRAX_SERIAL_PORT1
193         bool "Serial port 1 enabled"
194         depends on ETRAX_SERIAL
195         help
196           Enables the ETRAX 100 serial driver for ser1 (ttyS1).
197
198 choice
199         prompt "Ser1 DMA out assignment"
200         depends on ETRAX_SERIAL_PORT1
201         default ETRAX_SERIAL_PORT1_DMA8_OUT
202
203 config ETRAX_SERIAL_PORT1_NO_DMA_OUT
204         bool "No DMA out"
205
206 config ETRAX_SERIAL_PORT1_DMA8_OUT
207         bool "DMA 8"
208
209 endchoice
210
211 choice
212         prompt "Ser1 DMA in assignment"
213         depends on ETRAX_SERIAL_PORT1
214         default ETRAX_SERIAL_PORT1_DMA9_IN
215
216 config ETRAX_SERIAL_PORT1_NO_DMA_IN
217         bool "No DMA in"
218
219 config ETRAX_SERIAL_PORT1_DMA9_IN
220         bool "DMA 9"
221
222 endchoice
223
224 choice
225         prompt "Ser1 DTR, RI, DSR and CD assignment"
226         depends on ETRAX_SERIAL_PORT1
227         default ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE
228
229 config ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE
230         bool "No_DTR_RI_DSR_CD"
231
232 config ETRAX_SER1_DTR_RI_DSR_CD_ON_PA
233         bool "DTR_RI_DSR_CD_on_PA"
234
235 config ETRAX_SER1_DTR_RI_DSR_CD_ON_PB
236         bool "DTR_RI_DSR_CD_on_PB"
237         help
238           Enables the status and control signals DTR, RI, DSR and CD on PB for
239           ser1.
240
241 config ETRAX_SER1_DTR_RI_DSR_CD_MIXED
242         bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
243
244 endchoice
245
246 config ETRAX_SER1_DTR_ON_PA_BIT
247         int "Ser1 DTR on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
248         depends on ETRAX_SERIAL_PORT1
249         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
250         default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
251
252 config ETRAX_SER1_RI_ON_PA_BIT
253         int "Ser1 RI  on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
254         depends on ETRAX_SERIAL_PORT1
255         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
256         default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
257
258 config ETRAX_SER1_DSR_ON_PA_BIT
259         int "Ser1 DSR on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
260         depends on ETRAX_SERIAL_PORT1
261         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
262         default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
263
264 config ETRAX_SER1_CD_ON_PA_BIT
265         int "Ser1 CD  on PA bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
266         depends on ETRAX_SERIAL_PORT1
267         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
268         default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
269
270 config ETRAX_SER1_DTR_ON_PB_BIT
271         int "Ser1 DTR on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
272         depends on ETRAX_SERIAL_PORT1
273         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
274         default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
275         help
276           Specify the pin of the PB port to carry the DTR signal for serial
277           port 1.
278
279 config ETRAX_SER1_RI_ON_PB_BIT
280         int "Ser1 RI  on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
281         depends on ETRAX_SERIAL_PORT1
282         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
283         default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
284         help
285           Specify the pin of the PB port to carry the RI signal for serial
286           port 1.
287
288 config ETRAX_SER1_DSR_ON_PB_BIT
289         int "Ser1 DSR on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
290         depends on ETRAX_SERIAL_PORT1
291         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
292         default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
293         help
294           Specify the pin of the PB port to carry the DSR signal for serial
295           port 1.
296
297 config ETRAX_SER1_CD_ON_PB_BIT
298         int "Ser1 CD  on PB bit (-1 = not used)" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
299         depends on ETRAX_SERIAL_PORT1
300         default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
301         default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
302         help
303           Specify the pin of the PB port to carry the CD signal for serial
304           port 1.
305
306 comment "Make sure you do not have the same PB bits more than once!"
307         depends on ETRAX_SERIAL && ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && ETRAX_SER1_DTR_RI_DSR_CD_ON_PB
308
309 config ETRAX_SERIAL_PORT2
310         bool "Serial port 2 enabled"
311         depends on ETRAX_SERIAL
312         help
313           Enables the ETRAX 100 serial driver for ser2 (ttyS2).
314
315 choice
316         prompt "Ser2 DMA out assignment"
317         depends on ETRAX_SERIAL_PORT2
318         default ETRAX_SERIAL_PORT2_DMA2_OUT
319
320 config ETRAX_SERIAL_PORT2_NO_DMA_OUT
321         bool "No DMA out"
322
323 config ETRAX_SERIAL_PORT2_DMA2_OUT
324         bool "DMA 2"
325
326 endchoice
327
328 choice
329         prompt "Ser2 DMA in assignment"
330         depends on ETRAX_SERIAL_PORT2
331         default ETRAX_SERIAL_PORT2_DMA3_IN
332
333 config ETRAX_SERIAL_PORT2_NO_DMA_IN
334         bool "No DMA in"
335
336 config ETRAX_SERIAL_PORT2_DMA3_IN
337         bool "DMA 3"
338
339 endchoice
340
341 choice
342         prompt "Ser2 DTR, RI, DSR and CD assignment"
343         depends on ETRAX_SERIAL_PORT2
344         default ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE
345
346 config ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE
347         bool "No_DTR_RI_DSR_CD"
348
349 config ETRAX_SER2_DTR_RI_DSR_CD_ON_PA
350         bool "DTR_RI_DSR_CD_on_PA"
351         help
352           Enables the status and control signals DTR, RI, DSR and CD on PA for
353           ser2.
354
355 config ETRAX_SER2_DTR_RI_DSR_CD_ON_PB
356         bool "DTR_RI_DSR_CD_on_PB"
357
358 config ETRAX_SER2_DTR_RI_DSR_CD_MIXED
359         bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
360
361 endchoice
362
363 config ETRAX_SER2_DTR_ON_PA_BIT
364         int "Ser2 DTR on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
365         depends on ETRAX_SERIAL_PORT2
366         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
367         default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
368         help
369           Specify the pin of the PA port to carry the DTR signal for serial
370           port 2.
371
372 config ETRAX_SER2_RI_ON_PA_BIT
373         int "Ser2 RI  on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
374         depends on ETRAX_SERIAL_PORT2
375         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
376         default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
377         help
378           Specify the pin of the PA port to carry the RI signal for serial
379           port 2.
380
381 config ETRAX_SER2_DSR_ON_PA_BIT
382         int "Ser2 DSR on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
383         depends on ETRAX_SERIAL_PORT2
384         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
385         default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
386         help
387           Specify the pin of the PA port to carry the DTR signal for serial
388           port 2.
389
390 config ETRAX_SER2_CD_ON_PA_BIT
391         int "Ser2 CD  on PA bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
392         depends on ETRAX_SERIAL_PORT2
393         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
394         default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
395         help
396           Specify the pin of the PA port to carry the CD signal for serial
397           port 2.
398
399 config ETRAX_SER2_DTR_ON_PB_BIT
400         int "Ser2 DTR on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
401         depends on ETRAX_SERIAL_PORT2
402         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
403         default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
404
405 config ETRAX_SER2_RI_ON_PB_BIT
406         int "Ser2 RI  on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
407         depends on ETRAX_SERIAL_PORT2
408         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
409         default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
410
411 config ETRAX_SER2_DSR_ON_PB_BIT
412         int "Ser2 DSR on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
413         depends on ETRAX_SERIAL_PORT2
414         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
415         default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
416
417 config ETRAX_SER2_CD_ON_PB_BIT
418         int "Ser2 CD  on PB bit (-1 = not used)" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
419         depends on ETRAX_SERIAL_PORT2
420         default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
421         default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
422
423 config ETRAX_SERIAL_PORT3
424         bool "Serial port 3 enabled"
425         depends on ETRAX_SERIAL
426         help
427           Enables the ETRAX 100 serial driver for ser3 (ttyS3).
428
429 choice
430         prompt "Ser3 DMA out assignment"
431         depends on ETRAX_SERIAL_PORT3
432         default ETRAX_SERIAL_PORT3_DMA4_OUT
433
434 config ETRAX_SERIAL_PORT3_NO_DMA_OUT
435         bool "No DMA out"
436
437 config ETRAX_SERIAL_PORT3_DMA4_OUT
438         bool "DMA 4"
439
440 endchoice
441
442 choice
443         prompt "Ser3 DMA in assignment"
444         depends on ETRAX_SERIAL_PORT3
445         default ETRAX_SERIAL_PORT3_DMA5_IN
446
447 config ETRAX_SERIAL_PORT3_NO_DMA_IN
448         bool "No DMA in"
449
450 config ETRAX_SERIAL_PORT3_DMA5_IN
451         bool "DMA 5"
452
453 endchoice
454
455 choice
456         prompt "Ser3 DTR, RI, DSR and CD assignment"
457         depends on ETRAX_SERIAL_PORT3
458         default ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE
459
460 config ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE
461         bool "No_DTR_RI_DSR_CD"
462
463 config ETRAX_SER3_DTR_RI_DSR_CD_ON_PA
464         bool "DTR_RI_DSR_CD_on_PA"
465
466 config ETRAX_SER3_DTR_RI_DSR_CD_ON_PB
467         bool "DTR_RI_DSR_CD_on_PB"
468
469 config ETRAX_SER3_DTR_RI_DSR_CD_MIXED
470         bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
471
472 endchoice
473
474 config ETRAX_SER3_DTR_ON_PA_BIT
475         int "Ser3 DTR on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
476         depends on ETRAX_SERIAL_PORT3
477         default "-1"
478
479 config ETRAX_SER3_RI_ON_PA_BIT
480         int "Ser3 RI  on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
481         depends on ETRAX_SERIAL_PORT3
482         default "-1"
483
484 config ETRAX_SER3_DSR_ON_PA_BIT
485         int "Ser3 DSR on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
486         depends on ETRAX_SERIAL_PORT3
487         default "-1"
488
489 config ETRAX_SER3_CD_ON_PA_BIT
490         int "Ser3 CD  on PA bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PA || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
491         depends on ETRAX_SERIAL_PORT3
492         default "-1"
493
494 config ETRAX_SER3_DTR_ON_PB_BIT
495         int "Ser3 DTR on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
496         depends on ETRAX_SERIAL_PORT3
497         default "-1"
498
499 config ETRAX_SER3_RI_ON_PB_BIT
500         int "Ser3 RI  on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
501         depends on ETRAX_SERIAL_PORT3
502         default "-1"
503
504 config ETRAX_SER3_DSR_ON_PB_BIT
505         int "Ser3 DSR on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
506         depends on ETRAX_SERIAL_PORT3
507         default "-1"
508
509 config ETRAX_SER3_CD_ON_PB_BIT
510         int "Ser3 CD  on PB bit (-1 = not used)" if ETRAX_SER3_DTR_RI_DSR_CD_ON_PB || ETRAX_SER3_DTR_RI_DSR_CD_MIXED
511         depends on ETRAX_SERIAL_PORT3
512         default "-1"
513
514 config ETRAX_RS485
515         bool "RS-485 support"
516         depends on ETRAX_SERIAL
517         help
518           Enables support for RS-485 serial communication.  For a primer on
519           RS-485, see <http://www.hw.cz/english/docs/rs485/rs485.html>.
520
521 config ETRAX_RS485_ON_PA
522         bool "RS-485 mode on PA"
523         depends on ETRAX_RS485
524         help
525           Control Driver Output Enable on RS485 transceiver using a pin on PA
526           port:
527           Axis 2400/2401 uses PA 3.
528
529 config ETRAX_RS485_ON_PA_BIT
530         int "RS-485 mode on PA bit"
531         depends on ETRAX_RS485_ON_PA
532         default "3"
533         help
534           Control Driver Output Enable on RS485 transceiver using a this bit
535           on PA port.
536
537 config ETRAX_RS485_DISABLE_RECEIVER
538         bool "Disable serial receiver"
539         depends on ETRAX_RS485
540         help
541           It's necessary to disable the serial receiver to avoid serial
542           loopback.  Not all products are able to do this in software only.
543           Axis 2400/2401 must disable receiver.
544
545 config ETRAX_USB_HOST
546         bool "USB host"
547         select USB
548         help
549            This option enables the host functionality of the ETRAX 100LX
550            built-in USB controller. In host mode the controller is designed
551            for CTRL and BULK traffic only, INTR traffic may work as well
552            however (depending on the requirements of timeliness).
553
554 config ETRAX_USB_HOST_PORT1
555         bool "USB port 1 enabled"
556         depends on ETRAX_USB_HOST
557         default n
558
559 config ETRAX_USB_HOST_PORT2
560         bool "USB port 2 enabled"
561         depends on ETRAX_USB_HOST
562         default n
563
564 config ETRAX_AXISFLASHMAP
565         bool "Axis flash-map support"
566         depends on ETRAX_ARCH_V10
567         select MTD
568         select MTD_CFI
569         select MTD_CFI_AMDSTD
570         select MTD_CHAR
571         select MTD_BLOCK
572         select MTD_PARTITIONS
573         select MTD_CONCAT
574         select MTD_COMPLEX_MAPPINGS
575         help
576           This option enables MTD mapping of flash devices.  Needed to use
577           flash memories.  If unsure, say Y.
578
579 config ETRAX_PTABLE_SECTOR
580         int "Byte-offset of partition table sector"
581         depends on ETRAX_AXISFLASHMAP
582         default "65536"
583         help
584           Byte-offset of the partition table in the first flash chip.
585           The default value is 64kB and should not be changed unless
586           you know exactly what you are doing. The only valid reason
587           for changing this is when the flash block size is bigger
588           than 64kB (e.g. when using two parallel 16 bit flashes).
589
590 config ETRAX_I2C
591         bool "I2C support"
592         depends on ETRAX_ARCH_V10
593         help
594           Enables an I2C driver on ETRAX100.
595           EXAMPLE usage:
596           i2c_arg = I2C_WRITEARG(STA013_WRITE_ADDR, reg, val);
597           ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_WRITEREG), i2c_arg);
598           i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
599           val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
600
601 # this is true for most products since PB-I2C seems to be somewhat
602 # flawed..
603 config ETRAX_I2C_USES_PB_NOT_PB_I2C
604         bool "I2C uses PB not PB-I2C"
605         depends on ETRAX_I2C
606         help
607           Select whether to use the special I2C mode in the PB I/O register or
608           not.  This option needs to be selected in order to use some drivers
609           that access the I2C I/O pins directly instead of going through the
610           I2C driver, like the DS1302 realtime-clock driver.  If you are
611           uncertain, choose Y here.
612
613 config ETRAX_I2C_DATA_PORT
614         int "I2C SDA bit number"
615         depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
616         default "0"
617         help
618           Selects the pin on Port B where the data pin is connected
619
620 config ETRAX_I2C_CLK_PORT
621         int "I2C SCL bit number"
622         depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
623         default "1"
624         help
625           Select the pin on Port B where the clock pin is connected
626
627 config ETRAX_I2C_EEPROM
628         bool "I2C EEPROM (non-volatile RAM) support"
629         depends on ETRAX_I2C
630         help
631           Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
632           driver.  Select size option: Probed, 2k, 8k, 16k.
633           (Probing works for 2k and 8k but not that well for 16k)
634
635 choice
636         prompt "EEPROM size"
637         depends on ETRAX_I2C_EEPROM
638         default ETRAX_I2C_EEPROM_PROBE
639
640 config ETRAX_I2C_EEPROM_PROBE
641         bool "Probed"
642         help
643           Specifies size or auto probe of the EEPROM size.
644           Options: Probed, 2k, 8k, 16k.
645           (Probing works for 2k and 8k but not that well for 16k)
646
647 config ETRAX_I2C_EEPROM_2KB
648         bool "2kB"
649         help
650           Use a 2kB EEPROM.
651
652 config ETRAX_I2C_EEPROM_8KB
653         bool "8kB"
654         help
655           Use a 8kB EEPROM.
656
657 config ETRAX_I2C_EEPROM_16KB
658         bool "16kB"
659         help
660           Use a 16kB EEPROM.
661
662 endchoice
663
664 config ETRAX_GPIO
665         bool "GPIO support"
666         depends on ETRAX_ARCH_V10
667         ---help---
668           Enables the ETRAX general port device (major 120, minors 0 and 1).
669           You can use this driver to access the general port bits. It supports
670           these ioctl's:
671           #include <linux/etraxgpio.h>
672           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
673           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
674           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
675           val = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READBITS), NULL);
676           Remember that you need to setup the port directions appropriately in
677           the General configuration.
678
679 config ETRAX_PA_BUTTON_BITMASK
680         hex "PA-buttons bitmask"
681         depends on ETRAX_GPIO
682         default "02"
683         help
684           This is a bitmask with information about what bits on PA that
685           are used for buttons.
686           Most products has a so called TEST button on PA1, if that's true
687           use 02 here.
688           Use 00 if there are no buttons on PA.
689           If the bitmask is <> 00 a button driver will be included in the gpio
690           driver. ETRAX general I/O support must be enabled.
691
692 config ETRAX_PA_CHANGEABLE_DIR
693         hex "PA user changeable dir mask"
694         depends on ETRAX_GPIO
695         default "00"
696         help
697           This is a bitmask with information of what bits in PA that a user
698           can change direction on using ioctl's.
699           Bit set = changeable.
700           You probably want 00 here.
701
702 config ETRAX_PA_CHANGEABLE_BITS
703         hex "PA user changeable bits mask"
704         depends on ETRAX_GPIO
705         default "FF"
706         help
707           This is a bitmask with information of what bits in PA that a user
708           can change the value on using ioctl's.
709           Bit set = changeable.
710           You probably want 00 here.
711
712 config ETRAX_PB_CHANGEABLE_DIR
713         hex "PB user changeable dir mask"
714         depends on ETRAX_GPIO
715         default "00"
716         help
717           This is a bitmask with information of what bits in PB that a user
718           can change direction on using ioctl's.
719           Bit set = changeable.
720           You probably want 00 here.
721
722 config ETRAX_PB_CHANGEABLE_BITS
723         hex "PB user changeable bits mask"
724         depends on ETRAX_GPIO
725         default "FF"
726         help
727           This is a bitmask with information of what bits in PB that a user
728           can change the value on using ioctl's.
729           Bit set = changeable.
730           You probably want 00 here.
731
732 config ETRAX_RTC
733         bool "Real Time Clock support"
734         depends on ETRAX_ARCH_V10
735         help
736           Enables drivers for the Real-Time Clock battery-backed chips on
737           some products. The kernel reads the time when booting, and
738           the date can be set using ioctl(fd, RTC_SET_TIME, &rt) with rt a
739           rtc_time struct (see <file:include/asm-cris/rtc.h>) on the /dev/rtc
740           device, major 121.  You can check the time with cat /proc/rtc, but
741           normal time reading should be done using libc function time and
742           friends.
743
744 choice
745         prompt "RTC chip"
746         depends on ETRAX_RTC
747         default ETRAX_DS1302
748
749 config ETRAX_DS1302
750         bool "DS1302"
751         help
752           Enables the driver for the DS1302 Real-Time Clock battery-backed
753           chip on some products.
754
755 config ETRAX_PCF8563
756         bool "PCF8563"
757         help
758           Enables the driver for the PCF8563 Real-Time Clock battery-backed
759           chip on some products.
760
761 endchoice
762
763 config ETRAX_DS1302_RST_ON_GENERIC_PORT
764         bool "DS1302 RST on Generic Port"
765         depends on ETRAX_DS1302
766         help
767           If your product has the RST signal line for the DS1302 RTC on the
768           Generic Port then say Y here, otherwise leave it as N in which
769           case the RST signal line is assumed to be connected to Port PB
770           (just like the SCL and SDA lines).
771
772 config ETRAX_DS1302_RSTBIT
773         int "DS1302 RST bit number"
774         depends on ETRAX_DS1302
775         default "2"
776         help
777           This is the bit number for the RST signal line of the DS1302 RTC on
778           the selected port. If you have selected the generic port then it
779           should be bit 27, otherwise your best bet is bit 5.
780
781 config ETRAX_DS1302_SCLBIT
782         int "DS1302 SCL bit number"
783         depends on ETRAX_DS1302
784         default "1"
785         help
786           This is the bit number for the SCL signal line of the DS1302 RTC on
787           Port PB. This is probably best left at 3.
788
789 config ETRAX_DS1302_SDABIT
790         int "DS1302 SDA bit number"
791         depends on ETRAX_DS1302
792         default "0"
793         help
794           This is the bit number for the SDA signal line of the DS1302 RTC on
795           Port PB. This is probably best left at 2.
796
797 config ETRAX_DS1302_TRICKLE_CHARGE
798         int "DS1302 Trickle charger value"
799         depends on ETRAX_DS1302
800         default "0"
801         help
802           This controls the initial value of the trickle charge register.
803           0 = disabled (use this if you are unsure or have a non rechargeable battery)
804           Otherwise the following values can be OR:ed together to control the
805           charge current:
806           1 = 2kohm, 2 = 4kohm, 3 = 4kohm
807           4 = 1 diode, 8 = 2 diodes
808           Allowed values are (increasing current): 0, 11, 10, 9, 7, 6, 5