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