cris build fixes: corrected and improved NMI and IRQ handling
[linux-3.10.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_IDE
546         bool "ATA/IDE support"
547         select IDE
548         select BLK_DEV_IDE
549         select BLK_DEV_IDEDISK
550         select BLK_DEV_IDECD
551         select BLK_DEV_IDEDMA
552         select IDE_GENERIC
553         help
554           Enable this to get support for ATA/IDE.
555           You can't use parallel ports or SCSI ports
556           at the same time.
557
558
559 config ETRAX_IDE_DELAY
560         int "Delay for drives to regain consciousness"
561         depends on ETRAX_IDE
562         default 15
563         help
564           Number of seconds to wait for IDE drives to spin up after an IDE
565           reset.
566 choice
567         prompt "IDE reset pin"
568         depends on ETRAX_IDE
569         default ETRAX_IDE_PB7_RESET
570
571 config ETRAX_IDE_PB7_RESET
572         bool "Port_PB_Bit_7"
573         help
574           IDE reset on pin 7 on port B
575
576 config ETRAX_IDE_G27_RESET
577         bool "Port_G_Bit_27"
578         help
579           IDE reset on pin 27 on port G
580
581 endchoice
582
583
584 config ETRAX_USB_HOST
585         bool "USB host"
586         select USB
587         help
588            This option enables the host functionality of the ETRAX 100LX
589            built-in USB controller. In host mode the controller is designed
590            for CTRL and BULK traffic only, INTR traffic may work as well
591            however (depending on the requirements of timeliness).
592
593 config ETRAX_USB_HOST_PORT1
594         bool "USB port 1 enabled"
595         depends on ETRAX_USB_HOST
596         default n
597
598 config ETRAX_USB_HOST_PORT2
599         bool "USB port 2 enabled"
600         depends on ETRAX_USB_HOST
601         default n
602
603 config ETRAX_AXISFLASHMAP
604         bool "Axis flash-map support"
605         depends on ETRAX_ARCH_V10
606         select MTD
607         select MTD_CFI
608         select MTD_CFI_AMDSTD
609         select MTD_OBSOLETE_CHIPS
610         select MTD_AMDSTD
611         select MTD_CHAR
612         select MTD_BLOCK
613         select MTD_PARTITIONS
614         select MTD_CONCAT
615         select MTD_COMPLEX_MAPPINGS
616         help
617           This option enables MTD mapping of flash devices.  Needed to use
618           flash memories.  If unsure, say Y.
619
620 config ETRAX_PTABLE_SECTOR
621         int "Byte-offset of partition table sector"
622         depends on ETRAX_AXISFLASHMAP
623         default "65536"
624         help
625           Byte-offset of the partition table in the first flash chip.
626           The default value is 64kB and should not be changed unless
627           you know exactly what you are doing. The only valid reason
628           for changing this is when the flash block size is bigger
629           than 64kB (e.g. when using two parallel 16 bit flashes).
630
631 config ETRAX_I2C
632         bool "I2C support"
633         depends on ETRAX_ARCH_V10
634         help
635           Enables an I2C driver on ETRAX100.
636           EXAMPLE usage:
637           i2c_arg = I2C_WRITEARG(STA013_WRITE_ADDR, reg, val);
638           ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_WRITEREG), i2c_arg);
639           i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
640           val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
641
642 # this is true for most products since PB-I2C seems to be somewhat
643 # flawed..
644 config ETRAX_I2C_USES_PB_NOT_PB_I2C
645         bool "I2C uses PB not PB-I2C"
646         depends on ETRAX_I2C
647         help
648           Select whether to use the special I2C mode in the PB I/O register or
649           not.  This option needs to be selected in order to use some drivers
650           that access the I2C I/O pins directly instead of going through the
651           I2C driver, like the DS1302 realtime-clock driver.  If you are
652           uncertain, choose Y here.
653
654 config ETRAX_I2C_DATA_PORT
655         int "I2C SDA bit number"
656         depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
657         default "0"
658         help
659           Selects the pin on Port B where the data pin is connected
660
661 config ETRAX_I2C_CLK_PORT
662         int "I2C SCL bit number"
663         depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
664         default "1"
665         help
666           Select the pin on Port B where the clock pin is connected
667
668 config ETRAX_I2C_EEPROM
669         bool "I2C EEPROM (non-volatile RAM) support"
670         depends on ETRAX_I2C
671         help
672           Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
673           driver.  Select size option: Probed, 2k, 8k, 16k.
674           (Probing works for 2k and 8k but not that well for 16k)
675
676 choice
677         prompt "EEPROM size"
678         depends on ETRAX_I2C_EEPROM
679         default ETRAX_I2C_EEPROM_PROBE
680
681 config ETRAX_I2C_EEPROM_PROBE
682         bool "Probed"
683         help
684           Specifies size or auto probe of the EEPROM size.
685           Options: Probed, 2k, 8k, 16k.
686           (Probing works for 2k and 8k but not that well for 16k)
687
688 config ETRAX_I2C_EEPROM_2KB
689         bool "2kB"
690         help
691           Use a 2kB EEPROM.
692
693 config ETRAX_I2C_EEPROM_8KB
694         bool "8kB"
695         help
696           Use a 8kB EEPROM.
697
698 config ETRAX_I2C_EEPROM_16KB
699         bool "16kB"
700         help
701           Use a 16kB EEPROM.
702
703 endchoice
704
705 config ETRAX_GPIO
706         bool "GPIO support"
707         depends on ETRAX_ARCH_V10
708         ---help---
709           Enables the ETRAX general port device (major 120, minors 0 and 1).
710           You can use this driver to access the general port bits. It supports
711           these ioctl's:
712           #include <linux/etraxgpio.h>
713           fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
714           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
715           ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
716           val = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READBITS), NULL);
717           Remember that you need to setup the port directions appropriately in
718           the General configuration.
719
720 config ETRAX_PA_BUTTON_BITMASK
721         hex "PA-buttons bitmask"
722         depends on ETRAX_GPIO
723         default "02"
724         help
725           This is a bitmask with information about what bits on PA that
726           are used for buttons.
727           Most products has a so called TEST button on PA1, if that's true
728           use 02 here.
729           Use 00 if there are no buttons on PA.
730           If the bitmask is <> 00 a button driver will be included in the gpio
731           driver. ETRAX general I/O support must be enabled.
732
733 config ETRAX_PA_CHANGEABLE_DIR
734         hex "PA user changeable dir mask"
735         depends on ETRAX_GPIO
736         default "00"
737         help
738           This is a bitmask with information of what bits in PA that a user
739           can change direction on using ioctl's.
740           Bit set = changeable.
741           You probably want 00 here.
742
743 config ETRAX_PA_CHANGEABLE_BITS
744         hex "PA user changeable bits mask"
745         depends on ETRAX_GPIO
746         default "FF"
747         help
748           This is a bitmask with information of what bits in PA that a user
749           can change the value on using ioctl's.
750           Bit set = changeable.
751           You probably want 00 here.
752
753 config ETRAX_PB_CHANGEABLE_DIR
754         hex "PB user changeable dir mask"
755         depends on ETRAX_GPIO
756         default "00"
757         help
758           This is a bitmask with information of what bits in PB that a user
759           can change direction on using ioctl's.
760           Bit set = changeable.
761           You probably want 00 here.
762
763 config ETRAX_PB_CHANGEABLE_BITS
764         hex "PB user changeable bits mask"
765         depends on ETRAX_GPIO
766         default "FF"
767         help
768           This is a bitmask with information of what bits in PB that a user
769           can change the value on using ioctl's.
770           Bit set = changeable.
771           You probably want 00 here.
772
773 config ETRAX_RTC
774         bool "Real Time Clock support"
775         depends on ETRAX_ARCH_V10
776         help
777           Enables drivers for the Real-Time Clock battery-backed chips on
778           some products. The kernel reads the time when booting, and
779           the date can be set using ioctl(fd, RTC_SET_TIME, &rt) with rt a
780           rtc_time struct (see <file:include/asm-cris/rtc.h>) on the /dev/rtc
781           device, major 121.  You can check the time with cat /proc/rtc, but
782           normal time reading should be done using libc function time and
783           friends.
784
785 choice
786         prompt "RTC chip"
787         depends on ETRAX_RTC
788         default ETRAX_DS1302
789
790 config ETRAX_DS1302
791         bool "DS1302"
792         help
793           Enables the driver for the DS1302 Real-Time Clock battery-backed
794           chip on some products.
795
796 config ETRAX_PCF8563
797         bool "PCF8563"
798         help
799           Enables the driver for the PCF8563 Real-Time Clock battery-backed
800           chip on some products.
801
802 endchoice
803
804 config ETRAX_DS1302_RST_ON_GENERIC_PORT
805         bool "DS1302 RST on Generic Port"
806         depends on ETRAX_DS1302
807         help
808           If your product has the RST signal line for the DS1302 RTC on the
809           Generic Port then say Y here, otherwise leave it as N in which
810           case the RST signal line is assumed to be connected to Port PB
811           (just like the SCL and SDA lines).
812
813 config ETRAX_DS1302_RSTBIT
814         int "DS1302 RST bit number"
815         depends on ETRAX_DS1302
816         default "2"
817         help
818           This is the bit number for the RST signal line of the DS1302 RTC on
819           the selected port. If you have selected the generic port then it
820           should be bit 27, otherwise your best bet is bit 5.
821
822 config ETRAX_DS1302_SCLBIT
823         int "DS1302 SCL bit number"
824         depends on ETRAX_DS1302
825         default "1"
826         help
827           This is the bit number for the SCL signal line of the DS1302 RTC on
828           Port PB. This is probably best left at 3.
829
830 config ETRAX_DS1302_SDABIT
831         int "DS1302 SDA bit number"
832         depends on ETRAX_DS1302
833         default "0"
834         help
835           This is the bit number for the SDA signal line of the DS1302 RTC on
836           Port PB. This is probably best left at 2.
837
838 config ETRAX_DS1302_TRICKLE_CHARGE
839         int "DS1302 Trickle charger value"
840         depends on ETRAX_DS1302
841         default "0"
842         help
843           This controls the initial value of the trickle charge register.
844           0 = disabled (use this if you are unsure or have a non rechargeable battery)
845           Otherwise the following values can be OR:ed together to control the
846           charge current:
847           1 = 2kohm, 2 = 4kohm, 3 = 4kohm
848           4 = 1 diode, 8 = 2 diodes
849           Allowed values are (increasing current): 0, 11, 10, 9, 7, 6, 5