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