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