1if ETRAX_ARCH_V10
2
3config ETRAX_ETHERNET
4	bool "Ethernet support"
5	depends on ETRAX_ARCH_V10 && NETDEVICES
6	select MII
7	help
8	  This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet
9	  controller.
10
11config ETRAX_SERIAL
12	bool "Serial-port support"
13	depends on ETRAX_ARCH_V10
14	help
15	  Enables the ETRAX 100 serial driver for ser0 (ttyS0)
16	  You probably want this enabled.
17
18config ETRAX_SERIAL_FAST_TIMER
19	bool "Use fast timers for serial DMA flush (experimental)"
20	depends on ETRAX_SERIAL
21	help
22	  Select this to have the serial DMAs flushed at a higher rate than
23	  normally, possible by using the fast timer API, the timeout is
24	  approx. 4 character times.
25	  If unsure, say N.
26
27config ETRAX_SERIAL_FLUSH_DMA_FAST
28	bool "Fast serial port DMA flush"
29	depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER
30	help
31	  Select this to have the serial DMAs flushed at a higher rate than
32	  normally possible through a fast timer interrupt (currently at
33	  15360 Hz).
34	  If unsure, say N.
35
36config ETRAX_SERIAL_RX_TIMEOUT_TICKS
37	int "Receive flush timeout (ticks) "
38	depends on ETRAX_SERIAL && !ETRAX_SERIAL_FAST_TIMER && !ETRAX_SERIAL_FLUSH_DMA_FAST
39	default "5"
40	help
41	  Number of timer ticks between flush of receive fifo (1 tick = 10ms).
42	  Try 0-3 for low latency applications.  Approx 5 for high load
43	  applications (e.g. PPP).  Maybe this should be more adaptive some
44	  day...
45
46config ETRAX_SERIAL_PORT0
47	bool "Serial port 0 enabled"
48	depends on ETRAX_SERIAL
49	help
50	  Enables the ETRAX 100 serial driver for ser0 (ttyS0)
51	  Normally you want this on, unless you use external DMA 1 that uses
52	  the same DMA channels.
53
54choice
55	prompt "Ser0 DTR, RI, DSR and CD assignment"
56	depends on ETRAX_SERIAL_PORT0
57	default ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE
58
59config ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE
60	bool "No_DTR_RI_DSR_CD"
61
62config ETRAX_SER0_DTR_RI_DSR_CD_ON_PA
63	bool "DTR_RI_DSR_CD_on_PA"
64
65config ETRAX_SER0_DTR_RI_DSR_CD_ON_PB
66	bool "DTR_RI_DSR_CD_on_PB"
67	help
68	  Enables the status and control signals DTR, RI, DSR and CD on PB for
69	  ser0.
70
71config ETRAX_SER0_DTR_RI_DSR_CD_MIXED
72	bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
73
74endchoice
75
76config ETRAX_SER0_DTR_ON_PA_BIT
77	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
78	depends on ETRAX_SERIAL_PORT0
79	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
80	default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
81
82config ETRAX_SER0_RI_ON_PA_BIT
83	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
84	depends on ETRAX_SERIAL_PORT0
85	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
86	default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
87
88config ETRAX_SER0_DSR_ON_PA_BIT
89	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
90	depends on ETRAX_SERIAL_PORT0
91	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
92	default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
93
94config ETRAX_SER0_CD_ON_PA_BIT
95	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
96	depends on ETRAX_SERIAL_PORT0
97	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
98	default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PA || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
99
100config ETRAX_SER0_DTR_ON_PB_BIT
101	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
102	depends on ETRAX_SERIAL_PORT0
103	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
104	default "4" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
105	help
106	  Specify the pin of the PB port to carry the DTR signal for serial
107	  port 0.
108
109config ETRAX_SER0_RI_ON_PB_BIT
110	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
111	depends on ETRAX_SERIAL_PORT0
112	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
113	default "5" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
114	help
115	  Specify the pin of the PB port to carry the RI signal for serial
116	  port 0.
117
118config ETRAX_SER0_DSR_ON_PB_BIT
119	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
120	depends on ETRAX_SERIAL_PORT0
121	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
122	default "6" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
123	help
124	  Specify the pin of the PB port to carry the DSR signal for serial
125	  port 0.
126
127config ETRAX_SER0_CD_ON_PB_BIT
128	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
129	depends on ETRAX_SERIAL_PORT0
130	default "-1" if !ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER0_DTR_RI_DSR_CD_MIXED
131	default "7" if ETRAX_SER0_DTR_RI_DSR_CD_ON_PB || ETRAX_SER0_DTR_RI_DSR_CD_MIXED
132	help
133	  Specify the pin of the PB port to carry the CD signal for serial
134	  port 0.
135
136config ETRAX_SERIAL_PORT1
137	bool "Serial port 1 enabled"
138	depends on ETRAX_SERIAL
139	help
140	  Enables the ETRAX 100 serial driver for ser1 (ttyS1).
141
142choice
143	prompt "Ser1 DTR, RI, DSR and CD assignment"
144	depends on ETRAX_SERIAL_PORT1
145	default ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE
146
147config ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE
148	bool "No_DTR_RI_DSR_CD"
149
150config ETRAX_SER1_DTR_RI_DSR_CD_ON_PA
151	bool "DTR_RI_DSR_CD_on_PA"
152
153config ETRAX_SER1_DTR_RI_DSR_CD_ON_PB
154	bool "DTR_RI_DSR_CD_on_PB"
155	help
156	  Enables the status and control signals DTR, RI, DSR and CD on PB for
157	  ser1.
158
159config ETRAX_SER1_DTR_RI_DSR_CD_MIXED
160	bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
161
162endchoice
163
164config ETRAX_SER1_DTR_ON_PA_BIT
165	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
166	depends on ETRAX_SERIAL_PORT1
167	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
168	default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
169
170config ETRAX_SER1_RI_ON_PA_BIT
171	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
172	depends on ETRAX_SERIAL_PORT1
173	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
174	default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
175
176config ETRAX_SER1_DSR_ON_PA_BIT
177	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
178	depends on ETRAX_SERIAL_PORT1
179	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
180	default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
181
182config ETRAX_SER1_CD_ON_PA_BIT
183	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
184	depends on ETRAX_SERIAL_PORT1
185	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
186	default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PA || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
187
188config ETRAX_SER1_DTR_ON_PB_BIT
189	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
190	depends on ETRAX_SERIAL_PORT1
191	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
192	default "4" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
193	help
194	  Specify the pin of the PB port to carry the DTR signal for serial
195	  port 1.
196
197config ETRAX_SER1_RI_ON_PB_BIT
198	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
199	depends on ETRAX_SERIAL_PORT1
200	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
201	default "5" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
202	help
203	  Specify the pin of the PB port to carry the RI signal for serial
204	  port 1.
205
206config ETRAX_SER1_DSR_ON_PB_BIT
207	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
208	depends on ETRAX_SERIAL_PORT1
209	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
210	default "6" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
211	help
212	  Specify the pin of the PB port to carry the DSR signal for serial
213	  port 1.
214
215config ETRAX_SER1_CD_ON_PB_BIT
216	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
217	depends on ETRAX_SERIAL_PORT1
218	default "-1" if !ETRAX_SER1_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER1_DTR_RI_DSR_CD_MIXED
219	default "7" if ETRAX_SER1_DTR_RI_DSR_CD_ON_PB || ETRAX_SER1_DTR_RI_DSR_CD_MIXED
220	help
221	  Specify the pin of the PB port to carry the CD signal for serial
222	  port 1.
223
224comment "Make sure you do not have the same PB bits more than once!"
225	depends on ETRAX_SERIAL && ETRAX_SER0_DTR_RI_DSR_CD_ON_PB && ETRAX_SER1_DTR_RI_DSR_CD_ON_PB
226
227config ETRAX_SERIAL_PORT2
228	bool "Serial port 2 enabled"
229	depends on ETRAX_SERIAL
230	help
231	  Enables the ETRAX 100 serial driver for ser2 (ttyS2).
232
233choice
234	prompt "Ser2 DTR, RI, DSR and CD assignment"
235	depends on ETRAX_SERIAL_PORT2
236	default ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE
237
238config ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE
239	bool "No_DTR_RI_DSR_CD"
240
241config ETRAX_SER2_DTR_RI_DSR_CD_ON_PA
242	bool "DTR_RI_DSR_CD_on_PA"
243	help
244	  Enables the status and control signals DTR, RI, DSR and CD on PA for
245	  ser2.
246
247config ETRAX_SER2_DTR_RI_DSR_CD_ON_PB
248	bool "DTR_RI_DSR_CD_on_PB"
249
250config ETRAX_SER2_DTR_RI_DSR_CD_MIXED
251	bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
252
253endchoice
254
255config ETRAX_SER2_DTR_ON_PA_BIT
256	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
257	depends on ETRAX_SERIAL_PORT2
258	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
259	default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
260	help
261	  Specify the pin of the PA port to carry the DTR signal for serial
262	  port 2.
263
264config ETRAX_SER2_RI_ON_PA_BIT
265	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
266	depends on ETRAX_SERIAL_PORT2
267	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
268	default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
269	help
270	  Specify the pin of the PA port to carry the RI signal for serial
271	  port 2.
272
273config ETRAX_SER2_DSR_ON_PA_BIT
274	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
275	depends on ETRAX_SERIAL_PORT2
276	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
277	default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
278	help
279	  Specify the pin of the PA port to carry the DTR signal for serial
280	  port 2.
281
282config ETRAX_SER2_CD_ON_PA_BIT
283	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
284	depends on ETRAX_SERIAL_PORT2
285	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PA && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
286	default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PA || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
287	help
288	  Specify the pin of the PA port to carry the CD signal for serial
289	  port 2.
290
291config ETRAX_SER2_DTR_ON_PB_BIT
292	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
293	depends on ETRAX_SERIAL_PORT2
294	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
295	default "4" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
296
297config ETRAX_SER2_RI_ON_PB_BIT
298	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
299	depends on ETRAX_SERIAL_PORT2
300	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
301	default "5" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
302
303config ETRAX_SER2_DSR_ON_PB_BIT
304	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
305	depends on ETRAX_SERIAL_PORT2
306	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
307	default "6" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
308
309config ETRAX_SER2_CD_ON_PB_BIT
310	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
311	depends on ETRAX_SERIAL_PORT2
312	default "-1" if !ETRAX_SER2_DTR_RI_DSR_CD_ON_PB && !ETRAX_SER2_DTR_RI_DSR_CD_MIXED
313	default "7" if ETRAX_SER2_DTR_RI_DSR_CD_ON_PB || ETRAX_SER2_DTR_RI_DSR_CD_MIXED
314
315config ETRAX_SERIAL_PORT3
316	bool "Serial port 3 enabled"
317	depends on ETRAX_SERIAL
318	help
319	  Enables the ETRAX 100 serial driver for ser3 (ttyS3).
320
321choice
322	prompt "Ser3 DTR, RI, DSR and CD assignment"
323	depends on ETRAX_SERIAL_PORT3
324	default ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE
325
326config ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE
327	bool "No_DTR_RI_DSR_CD"
328
329config ETRAX_SER3_DTR_RI_DSR_CD_ON_PA
330	bool "DTR_RI_DSR_CD_on_PA"
331
332config ETRAX_SER3_DTR_RI_DSR_CD_ON_PB
333	bool "DTR_RI_DSR_CD_on_PB"
334
335config ETRAX_SER3_DTR_RI_DSR_CD_MIXED
336	bool "DTR_RI_DSR_CD_mixed_on_PA_and_PB"
337
338endchoice
339
340config ETRAX_SER3_DTR_ON_PA_BIT
341	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
342	depends on ETRAX_SERIAL_PORT3
343	default "-1"
344
345config ETRAX_SER3_RI_ON_PA_BIT
346	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
347	depends on ETRAX_SERIAL_PORT3
348	default "-1"
349
350config ETRAX_SER3_DSR_ON_PA_BIT
351	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
352	depends on ETRAX_SERIAL_PORT3
353	default "-1"
354
355config ETRAX_SER3_CD_ON_PA_BIT
356	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
357	depends on ETRAX_SERIAL_PORT3
358	default "-1"
359
360config ETRAX_SER3_DTR_ON_PB_BIT
361	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
362	depends on ETRAX_SERIAL_PORT3
363	default "-1"
364
365config ETRAX_SER3_RI_ON_PB_BIT
366	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
367	depends on ETRAX_SERIAL_PORT3
368	default "-1"
369
370config ETRAX_SER3_DSR_ON_PB_BIT
371	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
372	depends on ETRAX_SERIAL_PORT3
373	default "-1"
374
375config ETRAX_SER3_CD_ON_PB_BIT
376	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
377	depends on ETRAX_SERIAL_PORT3
378	default "-1"
379
380config ETRAX_RS485
381	bool "RS-485 support"
382	depends on ETRAX_SERIAL
383	help
384	  Enables support for RS-485 serial communication.  For a primer on
385	  RS-485, see <http://en.wikipedia.org/wiki/Rs485>
386
387config ETRAX_RS485_ON_PA
388	bool "RS-485 mode on PA"
389	depends on ETRAX_RS485
390	help
391	  Control Driver Output Enable on RS485 transceiver using a pin on PA
392	  port:
393	  Axis 2400/2401 uses PA 3.
394
395config ETRAX_RS485_ON_PA_BIT
396	int "RS-485 mode on PA bit"
397	depends on ETRAX_RS485_ON_PA
398	default "3"
399	help
400	  Control Driver Output Enable on RS485 transceiver using a this bit
401	  on PA port.
402
403config ETRAX_RS485_DISABLE_RECEIVER
404	bool "Disable serial receiver"
405	depends on ETRAX_RS485
406	help
407	  It's necessary to disable the serial receiver to avoid serial
408	  loopback.  Not all products are able to do this in software only.
409	  Axis 2400/2401 must disable receiver.
410
411config ETRAX_USB_HOST
412	bool "USB host"
413	select USB
414	help
415	   This option enables the host functionality of the ETRAX 100LX
416	   built-in USB controller. In host mode the controller is designed
417	   for CTRL and BULK traffic only, INTR traffic may work as well
418	   however (depending on the requirements of timeliness).
419
420config ETRAX_PTABLE_SECTOR
421	int "Byte-offset of partition table sector"
422	depends on ETRAX_AXISFLASHMAP
423	default "65536"
424	help
425	  Byte-offset of the partition table in the first flash chip.
426	  The default value is 64kB and should not be changed unless
427	  you know exactly what you are doing. The only valid reason
428	  for changing this is when the flash block size is bigger
429	  than 64kB (e.g. when using two parallel 16 bit flashes).
430
431config ETRAX_I2C
432	bool "I2C support"
433	depends on ETRAX_ARCH_V10
434	help
435	  Enables an I2C driver on ETRAX100.
436	  EXAMPLE usage:
437	  i2c_arg = I2C_WRITEARG(STA013_WRITE_ADDR, reg, val);
438	  ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_WRITEREG), i2c_arg);
439	  i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
440	  val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
441
442# this is true for most products since PB-I2C seems to be somewhat
443# flawed..
444config ETRAX_I2C_USES_PB_NOT_PB_I2C
445	bool "I2C uses PB not PB-I2C"
446	depends on ETRAX_I2C
447	help
448	  Select whether to use the special I2C mode in the PB I/O register or
449	  not.  This option needs to be selected in order to use some drivers
450	  that access the I2C I/O pins directly instead of going through the
451	  I2C driver, like the DS1302 realtime-clock driver.  If you are
452	  uncertain, choose Y here.
453
454config ETRAX_I2C_DATA_PORT
455	int "I2C SDA bit number"
456	depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
457	default "0"
458	help
459	  Selects the pin on Port B where the data pin is connected
460
461config ETRAX_I2C_CLK_PORT
462	int "I2C SCL bit number"
463	depends on ETRAX_I2C_USES_PB_NOT_PB_I2C
464	default "1"
465	help
466	  Select the pin on Port B where the clock pin is connected
467
468config ETRAX_I2C_EEPROM
469	bool "I2C EEPROM (non-volatile RAM) support"
470	depends on ETRAX_I2C
471	help
472	  Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
473	  driver.  Select size option: Probed, 2k, 8k, 16k.
474	  (Probing works for 2k and 8k but not that well for 16k)
475
476choice
477	prompt "EEPROM size"
478	depends on ETRAX_I2C_EEPROM
479	default ETRAX_I2C_EEPROM_PROBE
480
481config ETRAX_I2C_EEPROM_PROBE
482	bool "Probed"
483	help
484	  Specifies size or auto probe of the EEPROM size.
485	  Options: Probed, 2k, 8k, 16k.
486	  (Probing works for 2k and 8k but not that well for 16k)
487
488config ETRAX_I2C_EEPROM_2KB
489	bool "2kB"
490	help
491	  Use a 2kB EEPROM.
492
493config ETRAX_I2C_EEPROM_8KB
494	bool "8kB"
495	help
496	  Use a 8kB EEPROM.
497
498config ETRAX_I2C_EEPROM_16KB
499	bool "16kB"
500	help
501	  Use a 16kB EEPROM.
502
503endchoice
504
505config ETRAX_GPIO
506	bool "GPIO support"
507	depends on ETRAX_ARCH_V10
508	---help---
509	  Enables the ETRAX general port device (major 120, minors 0 and 1).
510	  You can use this driver to access the general port bits. It supports
511	  these ioctl's:
512	  #include <linux/etraxgpio.h>
513	  fd = open("/dev/gpioa", O_RDWR); // or /dev/gpiob
514	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_SETBITS), bits_to_set);
515	  ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_CLRBITS), bits_to_clear);
516	  val = ioctl(fd, _IO(ETRAXGPIO_IOCTYPE, IO_READBITS), NULL);
517	  Remember that you need to setup the port directions appropriately in
518	  the General configuration.
519
520config ETRAX_PA_CHANGEABLE_DIR
521	hex "PA user changeable dir mask"
522	depends on ETRAX_GPIO
523	default "00"
524	help
525	  This is a bitmask with information of what bits in PA that a user
526	  can change direction on using ioctl's.
527	  Bit set = changeable.
528	  You probably want 00 here.
529
530config ETRAX_PA_CHANGEABLE_BITS
531	hex "PA user changeable bits mask"
532	depends on ETRAX_GPIO
533	default "FF"
534	help
535	  This is a bitmask with information of what bits in PA that a user
536	  can change the value on using ioctl's.
537	  Bit set = changeable.
538	  You probably want 00 here.
539
540config ETRAX_PB_CHANGEABLE_DIR
541	hex "PB user changeable dir mask"
542	depends on ETRAX_GPIO
543	default "00"
544	help
545	  This is a bitmask with information of what bits in PB that a user
546	  can change direction on using ioctl's.
547	  Bit set = changeable.
548	  You probably want 00 here.
549
550config ETRAX_PB_CHANGEABLE_BITS
551	hex "PB user changeable bits mask"
552	depends on ETRAX_GPIO
553	default "FF"
554	help
555	  This is a bitmask with information of what bits in PB that a user
556	  can change the value on using ioctl's.
557	  Bit set = changeable.
558	  You probably want 00 here.
559
560endif
561