aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/cris/Kconfig483
-rw-r--r--arch/cris/arch-v10/Kconfig67
-rw-r--r--arch/cris/arch-v10/drivers/Kconfig154
-rw-r--r--arch/cris/arch-v32/Kconfig127
-rw-r--r--arch/cris/arch-v32/drivers/Kconfig693
5 files changed, 988 insertions, 536 deletions
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 27b082ac7f11..0e9926d71a31 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -13,10 +13,6 @@ config ZONE_DMA
13 bool 13 bool
14 default y 14 default y
15 15
16config NO_DMA
17 bool
18 default y
19
20config RWSEM_GENERIC_SPINLOCK 16config RWSEM_GENERIC_SPINLOCK
21 bool 17 bool
22 default y 18 default y
@@ -24,6 +20,10 @@ config RWSEM_GENERIC_SPINLOCK
24config RWSEM_XCHGADD_ALGORITHM 20config RWSEM_XCHGADD_ALGORITHM
25 bool 21 bool
26 22
23config GENERIC_IOMAP
24 bool
25 default y
26
27config ARCH_HAS_ILOG2_U32 27config ARCH_HAS_ILOG2_U32
28 bool 28 bool
29 default n 29 default n
@@ -44,13 +44,16 @@ config GENERIC_CALIBRATE_DELAY
44 bool 44 bool
45 default y 45 default y
46 46
47config IRQ_PER_CPU
48 bool
49 default y
50
51config NO_IOPORT 47config NO_IOPORT
52 def_bool y 48 def_bool y
53 49
50config NO_IOMEM
51 def_bool y
52
53config FORCE_MAX_ZONEORDER
54 int
55 default 6
56
54config CRIS 57config CRIS
55 bool 58 bool
56 default y 59 default y
@@ -93,17 +96,15 @@ config ETRAX_FAST_TIMER
93 timers). 96 timers).
94 This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled. 97 This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled.
95 98
96config PREEMPT 99config ETRAX_KMALLOCED_MODULES
97 bool "Preemptible Kernel" 100 bool "Enable module allocation with kmalloc"
98 help 101 help
99 This option reduces the latency of the kernel when reacting to 102 Enable module allocation with kmalloc instead of vmalloc.
100 real-time or interactive events by allowing a low priority process to 103
101 be preempted even if it is in kernel mode executing a system call. 104config OOM_REBOOT
102 This allows applications to run more reliably even when the system is 105 bool "Enable reboot at out of memory"
103 under load.
104 106
105 Say Y here if you are building a kernel for a desktop, embedded 107source "kernel/Kconfig.preempt"
106 or real-time system. Say N if you are unsure.
107 108
108source mm/Kconfig 109source mm/Kconfig
109 110
@@ -130,24 +131,124 @@ config SVINTO_SIM
130 help 131 help
131 Support the xsim ETRAX Simulator. 132 Support the xsim ETRAX Simulator.
132 133
134config ETRAXFS
135 bool "ETRAX-FS-V32"
136 help
137 Support CRIS V32.
138
139config CRIS_MACH_ARTPEC3
140 bool "ARTPEC-3"
141 help
142 Support Axis ARTPEC-3.
143
133endchoice 144endchoice
134 145
146config ETRAX_VCS_SIM
147 bool "VCS Simulator"
148 help
149 Setup hardware to be run in the VCS simulator.
150
135config ETRAX_ARCH_V10 151config ETRAX_ARCH_V10
136 bool 152 bool
137 default y if ETRAX100LX || ETRAX100LX_V2 153 default y if ETRAX100LX || ETRAX100LX_V2
138 default n if !(ETRAX100LX || ETRAX100LX_V2) 154 default n if !(ETRAX100LX || ETRAX100LX_V2)
139 155
156config ETRAX_ARCH_V32
157 bool
158 default y if (ETRAXFS || CRIS_MACH_ARTPEC3)
159 default n if !(ETRAXFS || CRIS_MACH_ARTPEC3)
160
140config ETRAX_DRAM_SIZE 161config ETRAX_DRAM_SIZE
141 int "DRAM size (dec, in MB)" 162 int "DRAM size (dec, in MB)"
142 default "8" 163 default "8"
143 help 164 help
144 Size of DRAM (decimal in MB) typically 2, 8 or 16. 165 Size of DRAM (decimal in MB) typically 2, 8 or 16.
145 166
167config ETRAX_VMEM_SIZE
168 int "Video memory size (dec, in MB)"
169 depends on ETRAX_ARCH_V32 && !ETRAXFS
170 default 8 if !ETRAXFS
171 help
172 Size of Video accessible memory (decimal, in MB).
173
146config ETRAX_FLASH_BUSWIDTH 174config ETRAX_FLASH_BUSWIDTH
147 int "Buswidth of flash in bytes" 175 int "Buswidth of NOR flash in bytes"
148 default "2" 176 default "2"
149 help 177 help
150 Width in bytes of the Flash bus (1, 2 or 4). Is usually 2. 178 Width in bytes of the NOR Flash bus (1, 2 or 4). Is usually 2.
179
180config ETRAX_NANDFLASH_BUSWIDTH
181 int "Buswidth of NAND flash in bytes"
182 default "1"
183 help
184 Width in bytes of the NAND flash (1 or 2).
185
186config ETRAX_FLASH1_SIZE
187 int "FLASH1 size (dec, in MB. 0 = Unknown)"
188 default "0"
189
190choice
191 prompt "Product debug-port"
192 default ETRAX_DEBUG_PORT0
193
194config ETRAX_DEBUG_PORT0
195 bool "Serial-0"
196 help
197 Choose a serial port for the ETRAX debug console. Default to
198 port 0.
199
200config ETRAX_DEBUG_PORT1
201 bool "Serial-1"
202 help
203 Use serial port 1 for the console.
204
205config ETRAX_DEBUG_PORT2
206 bool "Serial-2"
207 help
208 Use serial port 2 for the console.
209
210config ETRAX_DEBUG_PORT3
211 bool "Serial-3"
212 help
213 Use serial port 3 for the console.
214
215config ETRAX_DEBUG_PORT_NULL
216 bool "disabled"
217 help
218 Disable serial-port debugging.
219
220endchoice
221
222choice
223 prompt "Kernel GDB port"
224 depends on ETRAX_KGDB
225 default ETRAX_KGDB_PORT0
226 help
227 Choose a serial port for kernel debugging. NOTE: This port should
228 not be enabled under Drivers for built-in interfaces (as it has its
229 own initialization code) and should not be the same as the debug port.
230
231config ETRAX_KGDB_PORT0
232 bool "Serial-0"
233 help
234 Use serial port 0 for kernel debugging.
235
236config ETRAX_KGDB_PORT1
237 bool "Serial-1"
238 help
239 Use serial port 1 for kernel debugging.
240
241config ETRAX_KGDB_PORT2
242 bool "Serial-2"
243 help
244 Use serial port 2 for kernel debugging.
245
246config ETRAX_KGDB_PORT3
247 bool "Serial-3"
248 help
249 Use serial port 3 for kernel debugging.
250
251endchoice
151 252
152source arch/cris/arch-v10/Kconfig 253source arch/cris/arch-v10/Kconfig
153source arch/cris/arch-v32/Kconfig 254source arch/cris/arch-v32/Kconfig
@@ -161,6 +262,329 @@ menu "Drivers for built-in interfaces"
161source arch/cris/arch-v10/drivers/Kconfig 262source arch/cris/arch-v10/drivers/Kconfig
162source arch/cris/arch-v32/drivers/Kconfig 263source arch/cris/arch-v32/drivers/Kconfig
163 264
265choice
266 prompt "RTC chip"
267 depends on ETRAX_RTC
268 default ETRAX_PCF8563 if ETRAX_ARCH_V32
269 default ETRAX_DS1302 if ETRAX_ARCH_V10
270
271config ETRAX_DS1302
272 depends on ETRAX_ARCH_V10
273 bool "DS1302"
274 help
275 Enables the driver for the DS1302 Real-Time Clock battery-backed
276 chip on some products.
277
278config ETRAX_PCF8563
279 bool "PCF8563"
280 help
281 Enables the driver for the PCF8563 Real-Time Clock battery-backed
282 chip on some products.
283
284endchoice
285
286choice
287 prompt "Network LED behavior"
288 depends on ETRAX_ETHERNET
289 default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
290
291config ETRAX_NETWORK_LED_ON_WHEN_LINK
292 bool "LED_on_when_link"
293 help
294 Selecting LED_on_when_link will light the LED when there is a
295 connection and will flash off when there is activity.
296
297 Selecting LED_on_when_activity will light the LED only when
298 there is activity.
299
300 This setting will also affect the behaviour of other activity LEDs
301 e.g. Bluetooth.
302
303config ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
304 bool "LED_on_when_activity"
305 help
306 Selecting LED_on_when_link will light the LED when there is a
307 connection and will flash off when there is activity.
308
309 Selecting LED_on_when_activity will light the LED only when
310 there is activity.
311
312 This setting will also affect the behaviour of other activity LEDs
313 e.g. Bluetooth.
314
315endchoice
316
317choice
318 prompt "Ser0 DMA out channel"
319 depends on ETRAX_SERIAL_PORT0
320 default ETRAX_SERIAL_PORT0_DMA6_OUT if ETRAX_ARCH_V32
321 default ETRAX_SERIAL_PORT0_NO_DMA_OUT if ETRAX_ARCH_V10
322
323config ETRAX_SERIAL_PORT0_NO_DMA_OUT
324 bool "Ser0 uses no DMA for output"
325 help
326 Do not use DMA for ser0 output.
327
328config ETRAX_SERIAL_PORT0_DMA6_OUT
329 bool "Ser0 uses DMA6 for output"
330 depends on ETRAXFS
331 help
332 Enables the DMA6 output channel for ser0 (ttyS0).
333 If you do not enable DMA, an interrupt for each character will be
334 used when transmitting data.
335 Normally you want to use DMA, unless you use the DMA channel for
336 something else.
337
338config ETRAX_SERIAL_PORT0_DMA0_OUT
339 bool "Ser0 uses DMA0 for output"
340 depends on CRIS_MACH_ARTPEC3
341 help
342 Enables the DMA0 output channel for ser0 (ttyS0).
343 If you do not enable DMA, an interrupt for each character will be
344 used when transmitting data.
345 Normally you want to use DMA, unless you use the DMA channel for
346 something else.
347
348endchoice
349
350choice
351 prompt "Ser0 DMA in channel "
352 depends on ETRAX_SERIAL_PORT0
353 default ETRAX_SERIAL_PORT0_NO_DMA_IN if ETRAX_ARCH_V32
354 default ETRAX_SERIAL_PORT0_DMA7_IN if ETRAX_ARCH_V10
355 help
356 What DMA channel to use for ser0.
357
358config ETRAX_SERIAL_PORT0_NO_DMA_IN
359 bool "Ser0 uses no DMA for input"
360 help
361 Do not use DMA for ser0 input.
362
363config ETRAX_SERIAL_PORT0_DMA7_IN
364 bool "Ser0 uses DMA7 for input"
365 depends on ETRAXFS
366 help
367 Enables the DMA7 input channel for ser0 (ttyS0).
368 If you do not enable DMA, an interrupt for each character will be
369 used when receiving data.
370 Normally you want to use DMA, unless you use the DMA channel for
371 something else.
372
373config ETRAX_SERIAL_PORT0_DMA1_IN
374 bool "Ser0 uses DMA1 for input"
375 depends on CRIS_MACH_ARTPEC3
376 help
377 Enables the DMA1 input channel for ser0 (ttyS0).
378 If you do not enable DMA, an interrupt for each character will be
379 used when receiveing data.
380 Normally you want to use DMA, unless you use the DMA channel for
381 something else.
382
383endchoice
384
385choice
386 prompt "Ser1 DMA in channel "
387 depends on ETRAX_SERIAL_PORT1
388 default ETRAX_SERIAL_PORT1_NO_DMA_IN if ETRAX_ARCH_V32
389 default ETRAX_SERIAL_PORT1_DMA9_IN if ETRAX_ARCH_V10
390 help
391 What DMA channel to use for ser1.
392
393config ETRAX_SERIAL_PORT1_NO_DMA_IN
394 bool "Ser1 uses no DMA for input"
395 help
396 Do not use DMA for ser1 input.
397
398config ETRAX_SERIAL_PORT1_DMA5_IN
399 bool "Ser1 uses DMA5 for input"
400 depends on ETRAX_ARCH_V32
401 help
402 Enables the DMA5 input channel for ser1 (ttyS1).
403 If you do not enable DMA, an interrupt for each character will be
404 used when receiving data.
405 Normally you want this on, unless you use the DMA channel for
406 something else.
407
408config ETRAX_SERIAL_PORT1_DMA9_IN
409 depends on ETRAX_ARCH_V10
410 bool "Ser1 uses DMA9 for input"
411
412endchoice
413
414
415choice
416 prompt "Ser1 DMA out channel"
417 depends on ETRAX_SERIAL_PORT1
418 default ETRAX_SERIAL_PORT1_NO_DMA_OUT if ETRAX_ARCH_V32
419 default ETRAX_SERIAL_PORT1_DMA8_OUT if ETRAX_ARCH_V10
420 help
421 What DMA channel to use for ser1.
422
423config ETRAX_SERIAL_PORT1_NO_DMA_OUT
424 bool "Ser1 uses no DMA for output"
425 help
426 Do not use DMA for ser1 output.
427
428config ETRAX_SERIAL_PORT1_DMA8_OUT
429 depends on ETRAX_ARCH_V10
430 bool "Ser1 uses DMA8 for output"
431
432config ETRAX_SERIAL_PORT1_DMA4_OUT
433 depends on ETRAX_ARCH_V32
434 bool "Ser1 uses DMA4 for output"
435 help
436 Enables the DMA4 output channel for ser1 (ttyS1).
437 If you do not enable DMA, an interrupt for each character will be
438 used when transmitting data.
439 Normally you want this on, unless you use the DMA channel for
440 something else.
441
442endchoice
443
444choice
445 prompt "Ser2 DMA out channel"
446 depends on ETRAX_SERIAL_PORT2
447 default ETRAX_SERIAL_PORT2_NO_DMA_OUT if ETRAX_ARCH_V32
448 default ETRAX_SERIAL_PORT2_DMA2_OUT if ETRAX_ARCH_V10
449
450config ETRAX_SERIAL_PORT2_NO_DMA_OUT
451 bool "Ser2 uses no DMA for output"
452 help
453 Do not use DMA for ser2 output.
454
455config ETRAX_SERIAL_PORT2_DMA2_OUT
456 bool "Ser2 uses DMA2 for output"
457 depends on ETRAXFS || ETRAX_ARCH_V10
458 help
459 Enables the DMA2 output channel for ser2 (ttyS2).
460 If you do not enable DMA, an interrupt for each character will be
461 used when transmitting data.
462 Normally you want to use DMA, unless you use the DMA channel for
463 something else.
464
465config ETRAX_SERIAL_PORT2_DMA6_OUT
466 bool "Ser2 uses DMA6 for output"
467 depends on CRIS_MACH_ARTPEC3
468 help
469 Enables the DMA6 output channel for ser2 (ttyS2).
470 If you do not enable DMA, an interrupt for each character will be
471 used when transmitting data.
472 Normally you want to use DMA, unless you use the DMA channel for
473 something else.
474
475endchoice
476
477choice
478 prompt "Ser2 DMA in channel"
479 depends on ETRAX_SERIAL_PORT2
480 default ETRAX_SERIAL_PORT2_NO_DMA_IN if ETRAX_ARCH_V32
481 default ETRAX_SERIAL_PORT2_DMA3_IN if ETRAX_ARCH_V10
482 help
483 What DMA channel to use for ser2.
484
485config ETRAX_SERIAL_PORT2_NO_DMA_IN
486 bool "Ser2 uses no DMA for input"
487 help
488 Do not use DMA for ser2 input.
489
490config ETRAX_SERIAL_PORT2_DMA3_IN
491 bool "Ser2 uses DMA3 for input"
492 depends on ETRAXFS || ETRAX_ARCH_V10
493 help
494 Enables the DMA3 input channel for ser2 (ttyS2).
495 If you do not enable DMA, an interrupt for each character will be
496 used when receiving data.
497 Normally you want to use DMA, unless you use the DMA channel for
498 something else.
499
500config ETRAX_SERIAL_PORT2_DMA7_IN
501 bool "Ser2 uses DMA7 for input"
502 depends on CRIS_MACH_ARTPEC3
503 help
504 Enables the DMA7 input channel for ser2 (ttyS2).
505 If you do not enable DMA, an interrupt for each character will be
506 used when receiveing data.
507 Normally you want to use DMA, unless you use the DMA channel for
508 something else.
509
510endchoice
511
512choice
513 prompt "Ser3 DMA in channel"
514 depends on ETRAX_SERIAL_PORT3
515 default ETRAX_SERIAL_PORT3_NO_DMA_IN if ETRAX_ARCH_V32
516 default ETRAX_SERIAL_PORT3_DMA5_IN if ETRAX_ARCH_V10
517 help
518 What DMA channel to use for ser3.
519
520config ETRAX_SERIAL_PORT3_NO_DMA_IN
521 bool "Ser3 uses no DMA for input"
522 help
523 Do not use DMA for ser3 input.
524
525config ETRAX_SERIAL_PORT3_DMA5_IN
526 depends on ETRAX_ARCH_V10
527 bool "DMA 5"
528
529config ETRAX_SERIAL_PORT3_DMA9_IN
530 bool "Ser3 uses DMA9 for input"
531 depends on ETRAXFS
532 help
533 Enables the DMA9 input channel for ser3 (ttyS3).
534 If you do not enable DMA, an interrupt for each character will be
535 used when receiving data.
536 Normally you want to use DMA, unless you use the DMA channel for
537 something else.
538
539config ETRAX_SERIAL_PORT3_DMA3_IN
540 bool "Ser3 uses DMA3 for input"
541 depends on CRIS_MACH_ARTPEC3
542 help
543 Enables the DMA3 input channel for ser3 (ttyS3).
544 If you do not enable DMA, an interrupt for each character will be
545 used when receiveing data.
546 Normally you want to use DMA, unless you use the DMA channel for
547 something else.
548
549endchoice
550
551choice
552 prompt "Ser3 DMA out channel"
553 depends on ETRAX_SERIAL_PORT3
554 default ETRAX_SERIAL_PORT3_NO_DMA_OUT if ETRAX_ARCH_V32
555 default ETRAX_SERIAL_PORT3_DMA4_OUT if ETRAX_ARCH_V10
556
557config ETRAX_SERIAL_PORT3_NO_DMA_OUT
558 bool "Ser3 uses no DMA for output"
559 help
560 Do not use DMA for ser3 output.
561
562config ETRAX_SERIAL_PORT3_DMA4_OUT
563 depends on ETRAX_ARCH_V10
564 bool "DMA 4"
565
566config ETRAX_SERIAL_PORT3_DMA8_OUT
567 bool "Ser3 uses DMA8 for output"
568 depends on ETRAXFS
569 help
570 Enables the DMA8 output channel for ser3 (ttyS3).
571 If you do not enable DMA, an interrupt for each character will be
572 used when transmitting data.
573 Normally you want to use DMA, unless you use the DMA channel for
574 something else.
575
576config ETRAX_SERIAL_PORT3_DMA2_OUT
577 bool "Ser3 uses DMA2 for output"
578 depends on CRIS_MACH_ARTPEC3
579 help
580 Enables the DMA2 output channel for ser3 (ttyS3).
581 If you do not enable DMA, an interrupt for each character will be
582 used when transmitting data.
583 Normally you want to use DMA, unless you use the DMA channel for
584 something else.
585
586endchoice
587
164endmenu 588endmenu
165 589
166source "drivers/base/Kconfig" 590source "drivers/base/Kconfig"
@@ -174,22 +598,10 @@ source "drivers/pnp/Kconfig"
174 598
175source "drivers/block/Kconfig" 599source "drivers/block/Kconfig"
176 600
177source "drivers/md/Kconfig"
178
179source "drivers/ide/Kconfig" 601source "drivers/ide/Kconfig"
180 602
181source "drivers/scsi/Kconfig"
182
183source "drivers/ieee1394/Kconfig"
184
185source "drivers/message/i2o/Kconfig"
186
187source "drivers/net/Kconfig" 603source "drivers/net/Kconfig"
188 604
189source "drivers/isdn/Kconfig"
190
191source "drivers/telephony/Kconfig"
192
193source "drivers/i2c/Kconfig" 605source "drivers/i2c/Kconfig"
194 606
195source "drivers/rtc/Kconfig" 607source "drivers/rtc/Kconfig"
@@ -201,17 +613,8 @@ source "drivers/input/Kconfig"
201 613
202source "drivers/char/Kconfig" 614source "drivers/char/Kconfig"
203 615
204#source drivers/misc/Config.in
205source "drivers/media/Kconfig"
206
207source "fs/Kconfig" 616source "fs/Kconfig"
208 617
209source "sound/Kconfig"
210
211source "drivers/pcmcia/Kconfig"
212
213source "drivers/pci/Kconfig"
214
215source "drivers/usb/Kconfig" 618source "drivers/usb/Kconfig"
216 619
217source "arch/cris/Kconfig.debug" 620source "arch/cris/Kconfig.debug"
diff --git a/arch/cris/arch-v10/Kconfig b/arch/cris/arch-v10/Kconfig
index 1d61faec77cd..adc164e99339 100644
--- a/arch/cris/arch-v10/Kconfig
+++ b/arch/cris/arch-v10/Kconfig
@@ -1,5 +1,7 @@
1if ETRAX_ARCH_V10 1if ETRAX_ARCH_V10
2 2
3menu "CRIS v10 options"
4
3# ETRAX 100LX v1 has a MMU "feature" requiring a low mapping 5# ETRAX 100LX v1 has a MMU "feature" requiring a low mapping
4config CRIS_LOW_MAP 6config CRIS_LOW_MAP
5 bool 7 bool
@@ -228,69 +230,6 @@ config ETRAX_LED12R
228 For products with only one or two controllable LEDs, 230 For products with only one or two controllable LEDs,
229 set this to same as CONFIG_ETRAX_LED1G (normally 2). 231 set this to same as CONFIG_ETRAX_LED1G (normally 2).
230 232
231choice
232 prompt "Product debug-port"
233 depends on ETRAX_ARCH_V10
234 default ETRAX_DEBUG_PORT0
235
236config ETRAX_DEBUG_PORT0
237 bool "Serial-0"
238 help
239 Choose a serial port for the ETRAX debug console. Default to
240 port 0.
241
242config ETRAX_DEBUG_PORT1
243 bool "Serial-1"
244 help
245 Use serial port 1 for the console.
246
247config ETRAX_DEBUG_PORT2
248 bool "Serial-2"
249 help
250 Use serial port 2 for the console.
251
252config ETRAX_DEBUG_PORT3
253 bool "Serial-3"
254 help
255 Use serial port 3 for the console.
256
257config ETRAX_DEBUG_PORT_NULL
258 bool "disabled"
259 help
260 Disable serial-port debugging.
261
262endchoice
263
264choice
265 prompt "Kernel GDB port"
266 depends on ETRAX_KGDB
267 default ETRAX_KGDB_PORT0
268 help
269 Choose a serial port for kernel debugging. NOTE: This port should
270 not be enabled under Drivers for built-in interfaces (as it has its
271 own initialization code) and should not be the same as the debug port.
272
273config ETRAX_KGDB_PORT0
274 bool "Serial-0"
275 help
276 Use serial port 0 for kernel debugging.
277
278config ETRAX_KGDB_PORT1
279 bool "Serial-1"
280 help
281 Use serial port 1 for kernel debugging.
282
283config ETRAX_KGDB_PORT2
284 bool "Serial-2"
285 help
286 Use serial port 2 for kernel debugging.
287
288config ETRAX_KGDB_PORT3
289 bool "Serial-3"
290 help
291 Use serial port 3 for kernel debugging.
292
293endchoice
294 233
295choice 234choice
296 prompt "Product rescue-port" 235 prompt "Product rescue-port"
@@ -454,4 +393,6 @@ config ETRAX_POWERBUTTON_BIT
454 help 393 help
455 Configure where power button is connected. 394 Configure where power button is connected.
456 395
396endmenu
397
457endif 398endif
diff --git a/arch/cris/arch-v10/drivers/Kconfig b/arch/cris/arch-v10/drivers/Kconfig
index 96740ef497d4..10e9b507c1b3 100644
--- a/arch/cris/arch-v10/drivers/Kconfig
+++ b/arch/cris/arch-v10/drivers/Kconfig
@@ -9,37 +9,6 @@ config ETRAX_ETHERNET
9 This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet 9 This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet
10 controller. 10 controller.
11 11
12choice
13 prompt "Network LED behavior"
14 depends on ETRAX_ETHERNET
15 default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
16
17config 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
29config 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
41endchoice
42
43config ETRAX_SERIAL 12config ETRAX_SERIAL
44 bool "Serial-port support" 13 bool "Serial-port support"
45 depends on ETRAX_ARCH_V10 14 depends on ETRAX_ARCH_V10
@@ -84,32 +53,6 @@ config ETRAX_SERIAL_PORT0
84 the same DMA channels. 53 the same DMA channels.
85 54
86choice 55choice
87 prompt "Ser0 DMA out assignment"
88 depends on ETRAX_SERIAL_PORT0
89 default ETRAX_SERIAL_PORT0_DMA6_OUT
90
91config ETRAX_SERIAL_PORT0_NO_DMA_OUT
92 bool "No DMA out"
93
94config ETRAX_SERIAL_PORT0_DMA6_OUT
95 bool "DMA 6"
96
97endchoice
98
99choice
100 prompt "Ser0 DMA in assignment"
101 depends on ETRAX_SERIAL_PORT0
102 default ETRAX_SERIAL_PORT0_DMA7_IN
103
104config ETRAX_SERIAL_PORT0_NO_DMA_IN
105 bool "No DMA in"
106
107config ETRAX_SERIAL_PORT0_DMA7_IN
108 bool "DMA 7"
109
110endchoice
111
112choice
113 prompt "Ser0 DTR, RI, DSR and CD assignment" 56 prompt "Ser0 DTR, RI, DSR and CD assignment"
114 depends on ETRAX_SERIAL_PORT0 57 depends on ETRAX_SERIAL_PORT0
115 default ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE 58 default ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE
@@ -198,32 +141,6 @@ config ETRAX_SERIAL_PORT1
198 Enables the ETRAX 100 serial driver for ser1 (ttyS1). 141 Enables the ETRAX 100 serial driver for ser1 (ttyS1).
199 142
200choice 143choice
201 prompt "Ser1 DMA out assignment"
202 depends on ETRAX_SERIAL_PORT1
203 default ETRAX_SERIAL_PORT1_DMA8_OUT
204
205config ETRAX_SERIAL_PORT1_NO_DMA_OUT
206 bool "No DMA out"
207
208config ETRAX_SERIAL_PORT1_DMA8_OUT
209 bool "DMA 8"
210
211endchoice
212
213choice
214 prompt "Ser1 DMA in assignment"
215 depends on ETRAX_SERIAL_PORT1
216 default ETRAX_SERIAL_PORT1_DMA9_IN
217
218config ETRAX_SERIAL_PORT1_NO_DMA_IN
219 bool "No DMA in"
220
221config ETRAX_SERIAL_PORT1_DMA9_IN
222 bool "DMA 9"
223
224endchoice
225
226choice
227 prompt "Ser1 DTR, RI, DSR and CD assignment" 144 prompt "Ser1 DTR, RI, DSR and CD assignment"
228 depends on ETRAX_SERIAL_PORT1 145 depends on ETRAX_SERIAL_PORT1
229 default ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE 146 default ETRAX_SER1_DTR_RI_DSR_CD_ON_NONE
@@ -315,32 +232,6 @@ config ETRAX_SERIAL_PORT2
315 Enables the ETRAX 100 serial driver for ser2 (ttyS2). 232 Enables the ETRAX 100 serial driver for ser2 (ttyS2).
316 233
317choice 234choice
318 prompt "Ser2 DMA out assignment"
319 depends on ETRAX_SERIAL_PORT2
320 default ETRAX_SERIAL_PORT2_DMA2_OUT
321
322config ETRAX_SERIAL_PORT2_NO_DMA_OUT
323 bool "No DMA out"
324
325config ETRAX_SERIAL_PORT2_DMA2_OUT
326 bool "DMA 2"
327
328endchoice
329
330choice
331 prompt "Ser2 DMA in assignment"
332 depends on ETRAX_SERIAL_PORT2
333 default ETRAX_SERIAL_PORT2_DMA3_IN
334
335config ETRAX_SERIAL_PORT2_NO_DMA_IN
336 bool "No DMA in"
337
338config ETRAX_SERIAL_PORT2_DMA3_IN
339 bool "DMA 3"
340
341endchoice
342
343choice
344 prompt "Ser2 DTR, RI, DSR and CD assignment" 235 prompt "Ser2 DTR, RI, DSR and CD assignment"
345 depends on ETRAX_SERIAL_PORT2 236 depends on ETRAX_SERIAL_PORT2
346 default ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE 237 default ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE
@@ -429,32 +320,6 @@ config ETRAX_SERIAL_PORT3
429 Enables the ETRAX 100 serial driver for ser3 (ttyS3). 320 Enables the ETRAX 100 serial driver for ser3 (ttyS3).
430 321
431choice 322choice
432 prompt "Ser3 DMA out assignment"
433 depends on ETRAX_SERIAL_PORT3
434 default ETRAX_SERIAL_PORT3_DMA4_OUT
435
436config ETRAX_SERIAL_PORT3_NO_DMA_OUT
437 bool "No DMA out"
438
439config ETRAX_SERIAL_PORT3_DMA4_OUT
440 bool "DMA 4"
441
442endchoice
443
444choice
445 prompt "Ser3 DMA in assignment"
446 depends on ETRAX_SERIAL_PORT3
447 default ETRAX_SERIAL_PORT3_DMA5_IN
448
449config ETRAX_SERIAL_PORT3_NO_DMA_IN
450 bool "No DMA in"
451
452config ETRAX_SERIAL_PORT3_DMA5_IN
453 bool "DMA 5"
454
455endchoice
456
457choice
458 prompt "Ser3 DTR, RI, DSR and CD assignment" 323 prompt "Ser3 DTR, RI, DSR and CD assignment"
459 depends on ETRAX_SERIAL_PORT3 324 depends on ETRAX_SERIAL_PORT3
460 default ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE 325 default ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE
@@ -743,25 +608,6 @@ config ETRAX_RTC
743 normal time reading should be done using libc function time and 608 normal time reading should be done using libc function time and
744 friends. 609 friends.
745 610
746choice
747 prompt "RTC chip"
748 depends on ETRAX_RTC
749 default ETRAX_DS1302
750
751config 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
757config 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
763endchoice
764
765config ETRAX_DS1302_RST_ON_GENERIC_PORT 611config ETRAX_DS1302_RST_ON_GENERIC_PORT
766 bool "DS1302 RST on Generic Port" 612 bool "DS1302 RST on Generic Port"
767 depends on ETRAX_DS1302 613 depends on ETRAX_DS1302
diff --git a/arch/cris/arch-v32/Kconfig b/arch/cris/arch-v32/Kconfig
index d8acaa920e1c..005ed2b3f7f4 100644
--- a/arch/cris/arch-v32/Kconfig
+++ b/arch/cris/arch-v32/Kconfig
@@ -1,27 +1,73 @@
1if ETRAX_ARCH_V32 1if ETRAX_ARCH_V32
2 2
3source arch/cris/arch-v32/mach-fs/Kconfig
4source arch/cris/arch-v32/mach-a3/Kconfig
5
6source drivers/cpufreq/Kconfig
7
3config ETRAX_DRAM_VIRTUAL_BASE 8config ETRAX_DRAM_VIRTUAL_BASE
4 hex 9 hex
5 depends on ETRAX_ARCH_V32 10 depends on ETRAX_ARCH_V32
6 default "c0000000" 11 default "c0000000"
7 12
8config ETRAX_LED1G 13choice
9 string "First green LED bit" 14 prompt "Nbr of Ethernet LED groups"
10 depends on ETRAX_ARCH_V32 15 depends on ETRAX_ARCH_V32
16 default ETRAX_NBR_LED_GRP_ONE
17 help
18 Select how many Ethernet LED groups that can be used. Usually one per Ethernet
19 interface is a good choice.
20
21config ETRAX_NBR_LED_GRP_ZERO
22 bool "Use zero LED groups"
23 help
24 Select this if you do not want any Ethernet LEDs.
25
26config ETRAX_NBR_LED_GRP_ONE
27 bool "Use one LED group"
28 help
29 Select this if you want one Ethernet LED group. This LED group
30 can be used for one or more Ethernet interfaces. However, it is
31 recomended that each Ethernet interface use a dedicated LED group.
32
33config ETRAX_NBR_LED_GRP_TWO
34 bool "Use two LED groups"
35 help
36 Select this if you want two Ethernet LED groups. This is the
37 best choice if you have more than one Ethernet interface and
38 would like to have separate LEDs for the interfaces.
39
40endchoice
41
42config ETRAX_LED_G_NET0
43 string "Ethernet LED group 0 green LED bit"
44 depends on ETRAX_ARCH_V32 && (ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO)
11 default "PA3" 45 default "PA3"
12 help 46 help
13 Bit to use for the first green LED (network LED). 47 Bit to use for the green LED in Ethernet LED group 0.
14 Most Axis products use bit A3 here.
15 48
16config ETRAX_LED1R 49config ETRAX_LED_R_NET0
17 string "First red LED bit" 50 string "Ethernet LED group 0 red LED bit"
18 depends on ETRAX_ARCH_V32 51 depends on ETRAX_ARCH_V32 && (ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO)
19 default "PA4" 52 default "PA4"
20 help 53 help
21 Bit to use for the first red LED (network LED). 54 Bit to use for the red LED in Ethernet LED group 0.
22 Most Axis products use bit A4 here.
23 55
24config ETRAX_LED2G 56config ETRAX_LED_G_NET1
57 string "Ethernet group 1 green LED bit"
58 depends on ETRAX_ARCH_V32 && ETRAX_NBR_LED_GRP_TWO
59 default ""
60 help
61 Bit to use for the green LED in Ethernet LED group 1.
62
63config ETRAX_LED_R_NET1
64 string "Ethernet group 1 red LED bit"
65 depends on ETRAX_ARCH_V32 && ETRAX_NBR_LED_GRP_TWO
66 default ""
67 help
68 Bit to use for the red LED in Ethernet LED group 1.
69
70config ETRAX_V32_LED2G
25 string "Second green LED bit" 71 string "Second green LED bit"
26 depends on ETRAX_ARCH_V32 72 depends on ETRAX_ARCH_V32
27 default "PA5" 73 default "PA5"
@@ -29,7 +75,7 @@ config ETRAX_LED2G
29 Bit to use for the first green LED (status LED). 75 Bit to use for the first green LED (status LED).
30 Most Axis products use bit A5 here. 76 Most Axis products use bit A5 here.
31 77
32config ETRAX_LED2R 78config ETRAX_V32_LED2R
33 string "Second red LED bit" 79 string "Second red LED bit"
34 depends on ETRAX_ARCH_V32 80 depends on ETRAX_ARCH_V32
35 default "PA6" 81 default "PA6"
@@ -37,7 +83,7 @@ config ETRAX_LED2R
37 Bit to use for the first red LED (network LED). 83 Bit to use for the first red LED (network LED).
38 Most Axis products use bit A6 here. 84 Most Axis products use bit A6 here.
39 85
40config ETRAX_LED3G 86config ETRAX_V32_LED3G
41 string "Third green LED bit" 87 string "Third green LED bit"
42 depends on ETRAX_ARCH_V32 88 depends on ETRAX_ARCH_V32
43 default "PA7" 89 default "PA7"
@@ -45,7 +91,7 @@ config ETRAX_LED3G
45 Bit to use for the first green LED (drive/power LED). 91 Bit to use for the first green LED (drive/power LED).
46 Most Axis products use bit A7 here. 92 Most Axis products use bit A7 here.
47 93
48config ETRAX_LED3R 94config ETRAX_V32_LED3R
49 string "Third red LED bit" 95 string "Third red LED bit"
50 depends on ETRAX_ARCH_V32 96 depends on ETRAX_ARCH_V32
51 default "PA7" 97 default "PA7"
@@ -54,39 +100,6 @@ config ETRAX_LED3R
54 Most Axis products use bit A7 here. 100 Most Axis products use bit A7 here.
55 101
56choice 102choice
57 prompt "Product debug-port"
58 depends on ETRAX_ARCH_V32
59 default ETRAX_DEBUG_PORT0
60
61config ETRAX_DEBUG_PORT0
62 bool "Serial-0"
63 help
64 Choose a serial port for the ETRAX debug console. Default to
65 port 0.
66
67config ETRAX_DEBUG_PORT1
68 bool "Serial-1"
69 help
70 Use serial port 1 for the console.
71
72config ETRAX_DEBUG_PORT2
73 bool "Serial-2"
74 help
75 Use serial port 2 for the console.
76
77config ETRAX_DEBUG_PORT3
78 bool "Serial-3"
79 help
80 Use serial port 3 for the console.
81
82config ETRAX_DEBUG_PORT_NULL
83 bool "disabled"
84 help
85 Disable serial-port debugging.
86
87endchoice
88
89choice
90 prompt "Kernel GDB port" 103 prompt "Kernel GDB port"
91 depends on ETRAX_KGDB 104 depends on ETRAX_KGDB
92 default ETRAX_KGDB_PORT0 105 default ETRAX_KGDB_PORT0
@@ -95,25 +108,11 @@ choice
95 not be enabled under Drivers for built-in interfaces (as it has its 108 not be enabled under Drivers for built-in interfaces (as it has its
96 own initialization code) and should not be the same as the debug port. 109 own initialization code) and should not be the same as the debug port.
97 110
98config ETRAX_KGDB_PORT0 111config ETRAX_KGDB_PORT4
99 bool "Serial-0" 112 bool "Serial-4"
100 help 113 depends on ETRAX_SERIAL_PORTS = 5
101 Use serial port 0 for kernel debugging.
102
103config ETRAX_KGDB_PORT1
104 bool "Serial-1"
105 help
106 Use serial port 1 for kernel debugging.
107
108config ETRAX_KGDB_PORT2
109 bool "Serial-2"
110 help
111 Use serial port 2 for kernel debugging.
112
113config ETRAX_KGDB_PORT3
114 bool "Serial-3"
115 help 114 help
116 Use serial port 3 for kernel debugging. 115 Use serial port 4 for kernel debugging.
117 116
118endchoice 117endchoice
119 118
diff --git a/arch/cris/arch-v32/drivers/Kconfig b/arch/cris/arch-v32/drivers/Kconfig
index c329cce2a0c3..471c203f861c 100644
--- a/arch/cris/arch-v32/drivers/Kconfig
+++ b/arch/cris/arch-v32/drivers/Kconfig
@@ -4,64 +4,102 @@ config ETRAX_ETHERNET
4 bool "Ethernet support" 4 bool "Ethernet support"
5 depends on ETRAX_ARCH_V32 5 depends on ETRAX_ARCH_V32
6 select NET_ETHERNET 6 select NET_ETHERNET
7 select MII
7 help 8 help
8 This option enables the ETRAX FS built-in 10/100Mbit Ethernet 9 This option enables the ETRAX FS built-in 10/100Mbit Ethernet
9 controller. 10 controller.
10 11
11config ETRAX_ETHERNET_HW_CSUM 12config ETRAX_NO_PHY
12 bool "Hardware accelerated ethernet checksum and scatter/gather" 13 bool "PHY not present"
13 depends on ETRAX_ETHERNET 14 depends on ETRAX_ETHERNET
14 depends on ETRAX_STREAMCOPROC 15 default N
15 default y
16 help 16 help
17 Hardware acceleration of checksumming and scatter/gather 17 This option disables all MDIO communication with an ethernet
18 transceiver connected to the MII interface. This option shall
19 typically be enabled if the MII interface is connected to a
20 switch. This option should normally be disabled. If enabled,
21 speed and duplex will be locked to 100 Mbit and full duplex.
18 22
19config ETRAX_ETHERNET_IFACE0 23config ETRAX_ETHERNET_IFACE0
20 depends on ETRAX_ETHERNET 24 depends on ETRAX_ETHERNET
21 bool "Enable network interface 0" 25 bool "Enable network interface 0"
22 26
23config ETRAX_ETHERNET_IFACE1 27config ETRAX_ETHERNET_IFACE1
24 depends on ETRAX_ETHERNET 28 depends on (ETRAX_ETHERNET && ETRAXFS)
25 bool "Enable network interface 1 (uses DMA6 and DMA7)" 29 bool "Enable network interface 1 (uses DMA6 and DMA7)"
26 30
31config ETRAX_ETHERNET_GBIT
32 depends on (ETRAX_ETHERNET && CRIS_MACH_ARTPEC3)
33 bool "Enable gigabit Ethernet support"
34
27choice 35choice
28 prompt "Network LED behavior" 36 prompt "Eth0 led group"
29 depends on ETRAX_ETHERNET 37 depends on ETRAX_ETHERNET_IFACE0
30 default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY 38 default ETRAX_ETH0_USE_LEDGRP0
31 39
32config ETRAX_NETWORK_LED_ON_WHEN_LINK 40config ETRAX_ETH0_USE_LEDGRP0
33 bool "LED_on_when_link" 41 bool "Use LED grp 0"
42 depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO
34 help 43 help
35 Selecting LED_on_when_link will light the LED when there is a 44 Use LED grp 0 for eth0
36 connection and will flash off when there is activity.
37
38 Selecting LED_on_when_activity will light the LED only when
39 there is activity.
40 45
41 This setting will also affect the behaviour of other activity LEDs 46config ETRAX_ETH0_USE_LEDGRP1
42 e.g. Bluetooth. 47 bool "Use LED grp 1"
48 depends on ETRAX_NBR_LED_GRP_TWO
49 help
50 Use LED grp 1 for eth0
43 51
44config ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY 52config ETRAX_ETH0_USE_LEDGRPNULL
45 bool "LED_on_when_activity" 53 bool "Use no LEDs for eth0"
46 help 54 help
47 Selecting LED_on_when_link will light the LED when there is a 55 Use no LEDs for eth0
48 connection and will flash off when there is activity. 56endchoice
57
58choice
59 prompt "Eth1 led group"
60 depends on ETRAX_ETHERNET_IFACE1
61 default ETRAX_ETH1_USE_LEDGRP1
49 62
50 Selecting LED_on_when_activity will light the LED only when 63config ETRAX_ETH1_USE_LEDGRP0
51 there is activity. 64 bool "Use LED grp 0"
65 depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO
66 help
67 Use LED grp 0 for eth1
52 68
53 This setting will also affect the behaviour of other activity LEDs 69config ETRAX_ETH1_USE_LEDGRP1
54 e.g. Bluetooth. 70 bool "Use LED grp 1"
71 depends on ETRAX_NBR_LED_GRP_TWO
72 help
73 Use LED grp 1 for eth1
55 74
75config ETRAX_ETH1_USE_LEDGRPNULL
76 bool "Use no LEDs for eth1"
77 help
78 Use no LEDs for eth1
56endchoice 79endchoice
57 80
58config ETRAXFS_SERIAL 81config ETRAXFS_SERIAL
59 bool "Serial-port support" 82 bool "Serial-port support"
60 depends on ETRAX_ARCH_V32 83 depends on ETRAX_ARCH_V32
84 select SERIAL_CORE
85 select SERIAL_CORE_CONSOLE
61 help 86 help
62 Enables the ETRAX FS serial driver for ser0 (ttyS0) 87 Enables the ETRAX FS serial driver for ser0 (ttyS0)
63 You probably want this enabled. 88 You probably want this enabled.
64 89
90config ETRAX_RS485
91 bool "RS-485 support"
92 depends on ETRAXFS_SERIAL
93 help
94 Enables support for RS-485 serial communication.
95
96config ETRAX_RS485_DISABLE_RECEIVER
97 bool "Disable serial receiver"
98 depends on ETRAX_RS485
99 help
100 It is necessary to disable the serial receiver to avoid serial
101 loopback. Not all products are able to do this in software only.
102
65config ETRAX_SERIAL_PORT0 103config ETRAX_SERIAL_PORT0
66 bool "Serial port 0 enabled" 104 bool "Serial port 0 enabled"
67 depends on ETRAXFS_SERIAL 105 depends on ETRAXFS_SERIAL
@@ -72,50 +110,28 @@ config ETRAX_SERIAL_PORT0
72 ser0 can use dma4 or dma6 for output and dma5 or dma7 for input. 110 ser0 can use dma4 or dma6 for output and dma5 or dma7 for input.
73 111
74choice 112choice
75 prompt "Ser0 DMA in channel " 113 prompt "Ser0 default port type "
76 depends on ETRAX_SERIAL_PORT0 114 depends on ETRAX_SERIAL_PORT0
77 default ETRAX_SERIAL_PORT0_NO_DMA_IN 115 default ETRAX_SERIAL_PORT0_TYPE_232
78 help 116 help
79 What DMA channel to use for ser0. 117 Type of serial port.
80 118
81 119config ETRAX_SERIAL_PORT0_TYPE_232
82config ETRAX_SERIAL_PORT0_NO_DMA_IN 120 bool "Ser0 is a RS-232 port"
83 bool "Ser0 uses no DMA for input"
84 help
85 Do not use DMA for ser0 input.
86
87config ETRAX_SERIAL_PORT0_DMA7_IN
88 bool "Ser0 uses DMA7 for input"
89 depends on ETRAX_SERIAL_PORT0
90 help 121 help
91 Enables the DMA7 input channel for ser0 (ttyS0). 122 Configure serial port 0 to be a RS-232 port.
92 If you do not enable DMA, an interrupt for each character will be
93 used when receiving data.
94 Normally you want to use DMA, unless you use the DMA channel for
95 something else.
96
97endchoice
98
99choice
100 prompt "Ser0 DMA out channel"
101 depends on ETRAX_SERIAL_PORT0
102 default ETRAX_SERIAL_PORT0_NO_DMA_OUT
103 123
104config ETRAX_SERIAL_PORT0_NO_DMA_OUT 124config ETRAX_SERIAL_PORT0_TYPE_485HD
105 bool "Ser0 uses no DMA for output" 125 bool "Ser0 is a half duplex RS-485 port"
126 depends on ETRAX_RS485
106 help 127 help
107 Do not use DMA for ser0 output. 128 Configure serial port 0 to be a half duplex (two wires) RS-485 port.
108 129
109config ETRAX_SERIAL_PORT0_DMA6_OUT 130config ETRAX_SERIAL_PORT0_TYPE_485FD
110 bool "Ser0 uses DMA6 for output" 131 bool "Ser0 is a full duplex RS-485 port"
111 depends on ETRAX_SERIAL_PORT0 132 depends on ETRAX_RS485
112 help 133 help
113 Enables the DMA6 output channel for ser0 (ttyS0). 134 Configure serial port 0 to be a full duplex (four wires) RS-485 port.
114 If you do not enable DMA, an interrupt for each character will be
115 used when transmitting data.
116 Normally you want to use DMA, unless you use the DMA channel for
117 something else.
118
119endchoice 135endchoice
120 136
121config ETRAX_SER0_DTR_BIT 137config ETRAX_SER0_DTR_BIT
@@ -141,52 +157,28 @@ config ETRAX_SERIAL_PORT1
141 Enables the ETRAX FS serial driver for ser1 (ttyS1). 157 Enables the ETRAX FS serial driver for ser1 (ttyS1).
142 158
143choice 159choice
144 prompt "Ser1 DMA in channel " 160 prompt "Ser1 default port type"
145 depends on ETRAX_SERIAL_PORT1 161 depends on ETRAX_SERIAL_PORT1
146 default ETRAX_SERIAL_PORT1_NO_DMA_IN 162 default ETRAX_SERIAL_PORT1_TYPE_232
147 help 163 help
148 What DMA channel to use for ser1. 164 Type of serial port.
149
150 165
151config ETRAX_SERIAL_PORT1_NO_DMA_IN 166config ETRAX_SERIAL_PORT1_TYPE_232
152 bool "Ser1 uses no DMA for input" 167 bool "Ser1 is a RS-232 port"
153 help 168 help
154 Do not use DMA for ser1 input. 169 Configure serial port 1 to be a RS-232 port.
155 170
156config ETRAX_SERIAL_PORT1_DMA5_IN 171config ETRAX_SERIAL_PORT1_TYPE_485HD
157 bool "Ser1 uses DMA5 for input" 172 bool "Ser1 is a half duplex RS-485 port"
158 depends on ETRAX_SERIAL_PORT1 173 depends on ETRAX_RS485
159 help
160 Enables the DMA5 input channel for ser1 (ttyS1).
161 If you do not enable DMA, an interrupt for each character will be
162 used when receiving data.
163 Normally you want this on, unless you use the DMA channel for
164 something else.
165
166endchoice
167
168choice
169 prompt "Ser1 DMA out channel "
170 depends on ETRAX_SERIAL_PORT1
171 default ETRAX_SERIAL_PORT1_NO_DMA_OUT
172 help
173 What DMA channel to use for ser1.
174
175config ETRAX_SERIAL_PORT1_NO_DMA_OUT
176 bool "Ser1 uses no DMA for output"
177 help 174 help
178 Do not use DMA for ser1 output. 175 Configure serial port 1 to be a half duplex (two wires) RS-485 port.
179 176
180config ETRAX_SERIAL_PORT1_DMA4_OUT 177config ETRAX_SERIAL_PORT1_TYPE_485FD
181 bool "Ser1 uses DMA4 for output" 178 bool "Ser1 is a full duplex RS-485 port"
182 depends on ETRAX_SERIAL_PORT1 179 depends on ETRAX_RS485
183 help 180 help
184 Enables the DMA4 output channel for ser1 (ttyS1). 181 Configure serial port 1 to be a full duplex (four wires) RS-485 port.
185 If you do not enable DMA, an interrupt for each character will be
186 used when transmitting data.
187 Normally you want this on, unless you use the DMA channel for
188 something else.
189
190endchoice 182endchoice
191 183
192config ETRAX_SER1_DTR_BIT 184config ETRAX_SER1_DTR_BIT
@@ -212,52 +204,31 @@ config ETRAX_SERIAL_PORT2
212 Enables the ETRAX FS serial driver for ser2 (ttyS2). 204 Enables the ETRAX FS serial driver for ser2 (ttyS2).
213 205
214choice 206choice
215 prompt "Ser2 DMA in channel " 207 prompt "Ser2 default port type"
216 depends on ETRAX_SERIAL_PORT2 208 depends on ETRAX_SERIAL_PORT2
217 default ETRAX_SERIAL_PORT2_NO_DMA_IN 209 default ETRAX_SERIAL_PORT2_TYPE_232
218 help
219 What DMA channel to use for ser2.
220
221
222config ETRAX_SERIAL_PORT2_NO_DMA_IN
223 bool "Ser2 uses no DMA for input"
224 help 210 help
225 Do not use DMA for ser2 input. 211 What DMA channel to use for ser2
226 212
227config ETRAX_SERIAL_PORT2_DMA3_IN 213config ETRAX_SERIAL_PORT2_TYPE_232
228 bool "Ser2 uses DMA3 for input" 214 bool "Ser2 is a RS-232 port"
229 depends on ETRAX_SERIAL_PORT2
230 help 215 help
231 Enables the DMA3 input channel for ser2 (ttyS2). 216 Configure serial port 2 to be a RS-232 port.
232 If you do not enable DMA, an interrupt for each character will be
233 used when receiving data.
234 Normally you want to use DMA, unless you use the DMA channel for
235 something else.
236
237endchoice
238 217
239choice 218config ETRAX_SERIAL_PORT2_TYPE_485HD
240 prompt "Ser2 DMA out channel" 219 bool "Ser2 is a half duplex RS-485 port"
241 depends on ETRAX_SERIAL_PORT2 220 depends on ETRAX_RS485
242 default ETRAX_SERIAL_PORT2_NO_DMA_OUT
243
244config ETRAX_SERIAL_PORT2_NO_DMA_OUT
245 bool "Ser2 uses no DMA for output"
246 help 221 help
247 Do not use DMA for ser2 output. 222 Configure serial port 2 to be a half duplex (two wires) RS-485 port.
248 223
249config ETRAX_SERIAL_PORT2_DMA2_OUT 224config ETRAX_SERIAL_PORT2_TYPE_485FD
250 bool "Ser2 uses DMA2 for output" 225 bool "Ser2 is a full duplex RS-485 port"
251 depends on ETRAX_SERIAL_PORT2 226 depends on ETRAX_RS485
252 help 227 help
253 Enables the DMA2 output channel for ser2 (ttyS2). 228 Configure serial port 2 to be a full duplex (four wires) RS-485 port.
254 If you do not enable DMA, an interrupt for each character will be
255 used when transmitting data.
256 Normally you want to use DMA, unless you use the DMA channel for
257 something else.
258
259endchoice 229endchoice
260 230
231
261config ETRAX_SER2_DTR_BIT 232config ETRAX_SER2_DTR_BIT
262 string "Ser 2 DTR bit (empty = not used)" 233 string "Ser 2 DTR bit (empty = not used)"
263 depends on ETRAX_SERIAL_PORT2 234 depends on ETRAX_SERIAL_PORT2
@@ -281,71 +252,121 @@ config ETRAX_SERIAL_PORT3
281 Enables the ETRAX FS serial driver for ser3 (ttyS3). 252 Enables the ETRAX FS serial driver for ser3 (ttyS3).
282 253
283choice 254choice
284 prompt "Ser3 DMA in channel " 255 prompt "Ser3 default port type"
285 depends on ETRAX_SERIAL_PORT3 256 depends on ETRAX_SERIAL_PORT3
286 default ETRAX_SERIAL_PORT3_NO_DMA_IN 257 default ETRAX_SERIAL_PORT3_TYPE_232
287 help 258 help
288 What DMA channel to use for ser3. 259 What DMA channel to use for ser3.
289 260
261config ETRAX_SERIAL_PORT3_TYPE_232
262 bool "Ser3 is a RS-232 port"
263 help
264 Configure serial port 3 to be a RS-232 port.
290 265
291config ETRAX_SERIAL_PORT3_NO_DMA_IN 266config ETRAX_SERIAL_PORT3_TYPE_485HD
292 bool "Ser3 uses no DMA for input" 267 bool "Ser3 is a half duplex RS-485 port"
268 depends on ETRAX_RS485
269 help
270 Configure serial port 3 to be a half duplex (two wires) RS-485 port.
271
272config ETRAX_SERIAL_PORT3_TYPE_485FD
273 bool "Ser3 is a full duplex RS-485 port"
274 depends on ETRAX_RS485
293 help 275 help
294 Do not use DMA for ser3 input. 276 Configure serial port 3 to be a full duplex (four wires) RS-485 port.
277endchoice
295 278
296config ETRAX_SERIAL_PORT3_DMA9_IN 279config ETRAX_SER3_DTR_BIT
297 bool "Ser3 uses DMA9 for input" 280 string "Ser 3 DTR bit (empty = not used)"
281 depends on ETRAX_SERIAL_PORT3
282
283config ETRAX_SER3_RI_BIT
284 string "Ser 3 RI bit (empty = not used)"
298 depends on ETRAX_SERIAL_PORT3 285 depends on ETRAX_SERIAL_PORT3
286
287config ETRAX_SER3_DSR_BIT
288 string "Ser 3 DSR bit (empty = not used)"
289 depends on ETRAX_SERIAL_PORT3
290
291config ETRAX_SER3_CD_BIT
292 string "Ser 3 CD bit (empty = not used)"
293 depends on ETRAX_SERIAL_PORT3
294
295config ETRAX_SERIAL_PORT4
296 bool "Serial port 4 enabled"
297 depends on ETRAXFS_SERIAL && CRIS_MACH_ARTPEC3
299 help 298 help
300 Enables the DMA9 input channel for ser3 (ttyS3). 299 Enables the ETRAX FS serial driver for ser4 (ttyS4).
301 If you do not enable DMA, an interrupt for each character will be
302 used when receiving data.
303 Normally you want to use DMA, unless you use the DMA channel for
304 something else.
305 300
301choice
302 prompt "Ser4 default port type"
303 depends on ETRAX_SERIAL_PORT4
304 default ETRAX_SERIAL_PORT4_TYPE_232
305 help
306 What DMA channel to use for ser4.
307
308config ETRAX_SERIAL_PORT4_TYPE_232
309 bool "Ser4 is a RS-232 port"
310 help
311 Configure serial port 4 to be a RS-232 port.
312
313config ETRAX_SERIAL_PORT4_TYPE_485HD
314 bool "Ser4 is a half duplex RS-485 port"
315 depends on ETRAX_RS485
316 help
317 Configure serial port 4 to be a half duplex (two wires) RS-485 port.
318
319config ETRAX_SERIAL_PORT4_TYPE_485FD
320 bool "Ser4 is a full duplex RS-485 port"
321 depends on ETRAX_RS485
322 help
323 Configure serial port 4 to be a full duplex (four wires) RS-485 port.
306endchoice 324endchoice
307 325
308choice 326choice
309 prompt "Ser3 DMA out channel" 327 prompt "Ser4 DMA in channel "
310 depends on ETRAX_SERIAL_PORT3 328 depends on ETRAX_SERIAL_PORT4
311 default ETRAX_SERIAL_PORT3_NO_DMA_OUT 329 default ETRAX_SERIAL_PORT4_NO_DMA_IN
330 help
331 What DMA channel to use for ser4.
332
312 333
313config ETRAX_SERIAL_PORT3_NO_DMA_OUT 334config ETRAX_SERIAL_PORT4_NO_DMA_IN
314 bool "Ser3 uses no DMA for output" 335 bool "Ser4 uses no DMA for input"
315 help 336 help
316 Do not use DMA for ser3 output. 337 Do not use DMA for ser4 input.
317 338
318config ETRAX_SERIAL_PORT3_DMA8_OUT 339config ETRAX_SERIAL_PORT4_DMA9_IN
319 bool "Ser3 uses DMA8 for output" 340 bool "Ser4 uses DMA9 for input"
320 depends on ETRAX_SERIAL_PORT3 341 depends on ETRAX_SERIAL_PORT4
321 help 342 help
322 Enables the DMA8 output channel for ser3 (ttyS3). 343 Enables the DMA9 input channel for ser4 (ttyS4).
323 If you do not enable DMA, an interrupt for each character will be 344 If you do not enable DMA, an interrupt for each character will be
324 used when transmitting data. 345 used when receiveing data.
325 Normally you want to use DMA, unless you use the DMA channel for 346 Normally you want to use DMA, unless you use the DMA channel for
326 something else. 347 something else.
327 348
328endchoice 349endchoice
329 350
330config ETRAX_SER3_DTR_BIT 351config ETRAX_SER4_DTR_BIT
331 string "Ser 3 DTR bit (empty = not used)" 352 string "Ser 4 DTR bit (empty = not used)"
332 depends on ETRAX_SERIAL_PORT3 353 depends on ETRAX_SERIAL_PORT4
333 354
334config ETRAX_SER3_RI_BIT 355config ETRAX_SER4_RI_BIT
335 string "Ser 3 RI bit (empty = not used)" 356 string "Ser 4 RI bit (empty = not used)"
336 depends on ETRAX_SERIAL_PORT3 357 depends on ETRAX_SERIAL_PORT4
337 358
338config ETRAX_SER3_DSR_BIT 359config ETRAX_SER4_DSR_BIT
339 string "Ser 3 DSR bit (empty = not used)" 360 string "Ser 4 DSR bit (empty = not used)"
340 depends on ETRAX_SERIAL_PORT3 361 depends on ETRAX_SERIAL_PORT4
341 362
342config ETRAX_SER3_CD_BIT 363config ETRAX_SER3_CD_BIT
343 string "Ser 3 CD bit (empty = not used)" 364 string "Ser 4 CD bit (empty = not used)"
344 depends on ETRAX_SERIAL_PORT3 365 depends on ETRAX_SERIAL_PORT4
345 366
346config ETRAX_RS485 367config ETRAX_RS485
347 bool "RS-485 support" 368 bool "RS-485 support"
348 depends on ETRAX_SERIAL 369 depends on ETRAXFS_SERIAL
349 help 370 help
350 Enables support for RS-485 serial communication. For a primer on 371 Enables support for RS-485 serial communication. For a primer on
351 RS-485, see <http://www.hw.cz/english/docs/rs485/rs485.html>. 372 RS-485, see <http://www.hw.cz/english/docs/rs485/rs485.html>.
@@ -356,7 +377,6 @@ config ETRAX_RS485_DISABLE_RECEIVER
356 help 377 help
357 It is necessary to disable the serial receiver to avoid serial 378 It is necessary to disable the serial receiver to avoid serial
358 loopback. Not all products are able to do this in software only. 379 loopback. Not all products are able to do this in software only.
359 Axis 2400/2401 must disable receiver.
360 380
361config ETRAX_AXISFLASHMAP 381config ETRAX_AXISFLASHMAP
362 bool "Axis flash-map support" 382 bool "Axis flash-map support"
@@ -364,6 +384,7 @@ config ETRAX_AXISFLASHMAP
364 select MTD 384 select MTD
365 select MTD_CFI 385 select MTD_CFI
366 select MTD_CFI_AMDSTD 386 select MTD_CFI_AMDSTD
387 select MTD_JEDECPROBE
367 select MTD_CHAR 388 select MTD_CHAR
368 select MTD_BLOCK 389 select MTD_BLOCK
369 select MTD_PARTITIONS 390 select MTD_PARTITIONS
@@ -394,7 +415,7 @@ config ETRAX_SYNCHRONOUS_SERIAL0_DMA
394 415
395config ETRAX_SYNCHRONOUS_SERIAL_PORT1 416config ETRAX_SYNCHRONOUS_SERIAL_PORT1
396 bool "Synchronous serial port 1 enabled" 417 bool "Synchronous serial port 1 enabled"
397 depends on ETRAX_SYNCHRONOUS_SERIAL 418 depends on ETRAX_SYNCHRONOUS_SERIAL && ETRAXFS
398 help 419 help
399 Enabled synchronous serial port 1. 420 Enabled synchronous serial port 1.
400 421
@@ -405,6 +426,31 @@ config ETRAX_SYNCHRONOUS_SERIAL1_DMA
405 A synchronous serial port can run in manual or DMA mode. 426 A synchronous serial port can run in manual or DMA mode.
406 Selecting this option will make it run in DMA mode. 427 Selecting this option will make it run in DMA mode.
407 428
429config ETRAX_AXISFLASHMAP
430 bool "Axis flash-map support"
431 depends on ETRAX_ARCH_V32
432 select MTD
433 select MTD_CFI
434 select MTD_CFI_AMDSTD
435 select MTD_JEDECPROBE
436 select MTD_CHAR
437 select MTD_BLOCK
438 select MTD_PARTITIONS
439 select MTD_CONCAT
440 select MTD_COMPLEX_MAPPINGS
441 help
442 This option enables MTD mapping of flash devices. Needed to use
443 flash memories. If unsure, say Y.
444
445config ETRAX_AXISFLASHMAP_MTD0WHOLE
446 bool "MTD0 is whole boot flash device"
447 depends on ETRAX_AXISFLASHMAP
448 default N
449 help
450 When this option is not set, mtd0 refers to the first partition
451 on the boot flash device. When set, mtd0 refers to the whole
452 device, with mtd1 referring to the first partition etc.
453
408config ETRAX_PTABLE_SECTOR 454config ETRAX_PTABLE_SECTOR
409 int "Byte-offset of partition table sector" 455 int "Byte-offset of partition table sector"
410 depends on ETRAX_AXISFLASHMAP 456 depends on ETRAX_AXISFLASHMAP
@@ -425,19 +471,27 @@ config ETRAX_NANDFLASH
425 This option enables MTD mapping of NAND flash devices. Needed to use 471 This option enables MTD mapping of NAND flash devices. Needed to use
426 NAND flash memories. If unsure, say Y. 472 NAND flash memories. If unsure, say Y.
427 473
474config ETRAX_NANDBOOT
475 bool "Boot from NAND flash"
476 depends on ETRAX_NANDFLASH
477 help
478 This options enables booting from NAND flash devices.
479 Say Y if your boot code, kernel and root file system is in
480 NAND flash. Say N if they are in NOR flash.
481
428config ETRAX_I2C 482config ETRAX_I2C
429 bool "I2C driver" 483 bool "I2C driver"
430 depends on ETRAX_ARCH_V32 484 depends on ETRAX_ARCH_V32
431 help 485 help
432 This option enabled the I2C driver used by e.g. the RTC driver. 486 This option enables the I2C driver used by e.g. the RTC driver.
433 487
434config ETRAX_I2C_DATA_PORT 488config ETRAX_V32_I2C_DATA_PORT
435 string "I2C data pin" 489 string "I2C data pin"
436 depends on ETRAX_I2C 490 depends on ETRAX_I2C
437 help 491 help
438 The pin to use for I2C data. 492 The pin to use for I2C data.
439 493
440config ETRAX_I2C_CLK_PORT 494config ETRAX_V32_I2C_CLK_PORT
441 string "I2C clock pin" 495 string "I2C clock pin"
442 depends on ETRAX_I2C 496 depends on ETRAX_I2C
443 help 497 help
@@ -445,22 +499,10 @@ config ETRAX_I2C_CLK_PORT
445 499
446config ETRAX_RTC 500config ETRAX_RTC
447 bool "Real Time Clock support" 501 bool "Real Time Clock support"
448 depends on ETRAX_ARCH_V32 502 depends on ETRAX_ARCH_V32 && ETRAX_I2C
449 help 503 help
450 Enabled RTC support. 504 Enabled RTC support.
451 505
452choice
453 prompt "RTC chip"
454 depends on ETRAX_RTC
455 default ETRAX_PCF8563
456
457config ETRAX_PCF8563
458 bool "PCF8563"
459 help
460 Philips PCF8563 RTC
461
462endchoice
463
464config ETRAX_GPIO 506config ETRAX_GPIO
465 bool "GPIO support" 507 bool "GPIO support"
466 depends on ETRAX_ARCH_V32 508 depends on ETRAX_ARCH_V32
@@ -476,33 +518,36 @@ config ETRAX_GPIO
476 Remember that you need to setup the port directions appropriately in 518 Remember that you need to setup the port directions appropriately in
477 the General configuration. 519 the General configuration.
478 520
479config ETRAX_PA_BUTTON_BITMASK 521config ETRAX_VIRTUAL_GPIO
480 hex "PA-buttons bitmask" 522 bool "Virtual GPIO support"
481 depends on ETRAX_GPIO 523 depends on ETRAX_GPIO
482 default "0x02"
483 help 524 help
484 This is a bitmask (8 bits) with information about what bits on PA 525 Enables the virtual Etrax general port device (major 120, minor 6).
485 that are used for buttons. 526 It uses an I/O expander for the I2C-bus.
486 Most products has a so called TEST button on PA1, if that is true 527
487 use 0x02 here. 528config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN
488 Use 00 if there are no buttons on PA. 529 int "Virtual GPIO interrupt pin on PA pin"
489 If the bitmask is <> 00 a button driver will be included in the gpio 530 range 0 7
490 driver. ETRAX general I/O support must be enabled. 531 depends on ETRAX_VIRTUAL_GPIO
532 help
533 The pin to use on PA for virtual gpio interrupt.
491 534
492config ETRAX_PA_CHANGEABLE_DIR 535config ETRAX_PA_CHANGEABLE_DIR
493 hex "PA user changeable dir mask" 536 hex "PA user changeable dir mask"
494 depends on ETRAX_GPIO 537 depends on ETRAX_GPIO
495 default "0x00" 538 default "0x00" if ETRAXFS
539 default "0x00000000" if !ETRAXFS
496 help 540 help
497 This is a bitmask (8 bits) with information of what bits in PA that a 541 This is a bitmask (8 bits) with information of what bits in PA that a
498 user can change direction on using ioctl's. 542 user can change direction on using ioctl's.
499 Bit set = changeable. 543 Bit set = changeable.
500 You probably want 0x00 here, but it depends on your hardware. 544 You probably want 0 here, but it depends on your hardware.
501 545
502config ETRAX_PA_CHANGEABLE_BITS 546config ETRAX_PA_CHANGEABLE_BITS
503 hex "PA user changeable bits mask" 547 hex "PA user changeable bits mask"
504 depends on ETRAX_GPIO 548 depends on ETRAX_GPIO
505 default "0x00" 549 default "0x00" if ETRAXFS
550 default "0x00000000" if !ETRAXFS
506 help 551 help
507 This is a bitmask (8 bits) with information of what bits in PA 552 This is a bitmask (8 bits) with information of what bits in PA
508 that a user can change the value on using ioctl's. 553 that a user can change the value on using ioctl's.
@@ -511,17 +556,19 @@ config ETRAX_PA_CHANGEABLE_BITS
511config ETRAX_PB_CHANGEABLE_DIR 556config ETRAX_PB_CHANGEABLE_DIR
512 hex "PB user changeable dir mask" 557 hex "PB user changeable dir mask"
513 depends on ETRAX_GPIO 558 depends on ETRAX_GPIO
514 default "0x00000" 559 default "0x00000" if ETRAXFS
560 default "0x00000000" if !ETRAXFS
515 help 561 help
516 This is a bitmask (18 bits) with information of what bits in PB 562 This is a bitmask (18 bits) with information of what bits in PB
517 that a user can change direction on using ioctl's. 563 that a user can change direction on using ioctl's.
518 Bit set = changeable. 564 Bit set = changeable.
519 You probably want 0x00000 here, but it depends on your hardware. 565 You probably want 0 here, but it depends on your hardware.
520 566
521config ETRAX_PB_CHANGEABLE_BITS 567config ETRAX_PB_CHANGEABLE_BITS
522 hex "PB user changeable bits mask" 568 hex "PB user changeable bits mask"
523 depends on ETRAX_GPIO 569 depends on ETRAX_GPIO
524 default "0x00000" 570 default "0x00000" if ETRAXFS
571 default "0x00000000" if !ETRAXFS
525 help 572 help
526 This is a bitmask (18 bits) with information of what bits in PB 573 This is a bitmask (18 bits) with information of what bits in PB
527 that a user can change the value on using ioctl's. 574 that a user can change the value on using ioctl's.
@@ -530,17 +577,19 @@ config ETRAX_PB_CHANGEABLE_BITS
530config ETRAX_PC_CHANGEABLE_DIR 577config ETRAX_PC_CHANGEABLE_DIR
531 hex "PC user changeable dir mask" 578 hex "PC user changeable dir mask"
532 depends on ETRAX_GPIO 579 depends on ETRAX_GPIO
533 default "0x00000" 580 default "0x00000" if ETRAXFS
581 default "0x00000000" if !ETRAXFS
534 help 582 help
535 This is a bitmask (18 bits) with information of what bits in PC 583 This is a bitmask (18 bits) with information of what bits in PC
536 that a user can change direction on using ioctl's. 584 that a user can change direction on using ioctl's.
537 Bit set = changeable. 585 Bit set = changeable.
538 You probably want 0x00000 here, but it depends on your hardware. 586 You probably want 0 here, but it depends on your hardware.
539 587
540config ETRAX_PC_CHANGEABLE_BITS 588config ETRAX_PC_CHANGEABLE_BITS
541 hex "PC user changeable bits mask" 589 hex "PC user changeable bits mask"
542 depends on ETRAX_GPIO 590 depends on ETRAX_GPIO
543 default "0x00000" 591 default "0x00000" if ETRAXFS
592 default "0x00000000" if ETRAXFS
544 help 593 help
545 This is a bitmask (18 bits) with information of what bits in PC 594 This is a bitmask (18 bits) with information of what bits in PC
546 that a user can change the value on using ioctl's. 595 that a user can change the value on using ioctl's.
@@ -548,7 +597,7 @@ config ETRAX_PC_CHANGEABLE_BITS
548 597
549config ETRAX_PD_CHANGEABLE_DIR 598config ETRAX_PD_CHANGEABLE_DIR
550 hex "PD user changeable dir mask" 599 hex "PD user changeable dir mask"
551 depends on ETRAX_GPIO 600 depends on ETRAX_GPIO && ETRAXFS
552 default "0x00000" 601 default "0x00000"
553 help 602 help
554 This is a bitmask (18 bits) with information of what bits in PD 603 This is a bitmask (18 bits) with information of what bits in PD
@@ -558,7 +607,7 @@ config ETRAX_PD_CHANGEABLE_DIR
558 607
559config ETRAX_PD_CHANGEABLE_BITS 608config ETRAX_PD_CHANGEABLE_BITS
560 hex "PD user changeable bits mask" 609 hex "PD user changeable bits mask"
561 depends on ETRAX_GPIO 610 depends on ETRAX_GPIO && ETRAXFS
562 default "0x00000" 611 default "0x00000"
563 help 612 help
564 This is a bitmask (18 bits) with information of what bits in PD 613 This is a bitmask (18 bits) with information of what bits in PD
@@ -567,7 +616,7 @@ config ETRAX_PD_CHANGEABLE_BITS
567 616
568config ETRAX_PE_CHANGEABLE_DIR 617config ETRAX_PE_CHANGEABLE_DIR
569 hex "PE user changeable dir mask" 618 hex "PE user changeable dir mask"
570 depends on ETRAX_GPIO 619 depends on ETRAX_GPIO && ETRAXFS
571 default "0x00000" 620 default "0x00000"
572 help 621 help
573 This is a bitmask (18 bits) with information of what bits in PE 622 This is a bitmask (18 bits) with information of what bits in PE
@@ -577,20 +626,36 @@ config ETRAX_PE_CHANGEABLE_DIR
577 626
578config ETRAX_PE_CHANGEABLE_BITS 627config ETRAX_PE_CHANGEABLE_BITS
579 hex "PE user changeable bits mask" 628 hex "PE user changeable bits mask"
580 depends on ETRAX_GPIO 629 depends on ETRAX_GPIO && ETRAXFS
581 default "0x00000" 630 default "0x00000"
582 help 631 help
583 This is a bitmask (18 bits) with information of what bits in PE 632 This is a bitmask (18 bits) with information of what bits in PE
584 that a user can change the value on using ioctl's. 633 that a user can change the value on using ioctl's.
585 Bit set = changeable. 634 Bit set = changeable.
586 635
636config ETRAX_PV_CHANGEABLE_DIR
637 hex "PV user changeable dir mask"
638 depends on ETRAX_VIRTUAL_GPIO
639 default "0x0000"
640 help
641 This is a bitmask (16 bits) with information of what bits in PV
642 that a user can change direction on using ioctl's.
643 Bit set = changeable.
644 You probably want 0x0000 here, but it depends on your hardware.
645
646config ETRAX_PV_CHANGEABLE_BITS
647 hex "PV user changeable bits mask"
648 depends on ETRAX_VIRTUAL_GPIO
649 default "0x0000"
650 help
651 This is a bitmask (16 bits) with information of what bits in PV
652 that a user can change the value on using ioctl's.
653 Bit set = changeable.
654
587config ETRAX_CARDBUS 655config ETRAX_CARDBUS
588 bool "Cardbus support" 656 bool "Cardbus support"
589 depends on ETRAX_ARCH_V32 657 depends on ETRAX_ARCH_V32
590 select PCCARD
591 select CARDBUS
592 select HOTPLUG 658 select HOTPLUG
593 select PCCARD_NONSTATIC
594 help 659 help
595 Enabled the ETRAX Cardbus driver. 660 Enabled the ETRAX Cardbus driver.
596 661
@@ -613,4 +678,202 @@ config ETRAX_STREAMCOPROC
613 This option enables a driver for the stream co-processor 678 This option enables a driver for the stream co-processor
614 for cryptographic operations. 679 for cryptographic operations.
615 680
681source drivers/mmc/Kconfig
682
683config ETRAX_MMC_IOP
684 tristate "MMC/SD host driver using IO-processor"
685 depends on ETRAX_ARCH_V32 && MMC
686 help
687 This option enables the SD/MMC host controller interface.
688 The host controller is implemented using the built in
689 IO-Processor. Only the SPU is used in this implementation.
690
691config ETRAX_SPI_MMC
692# Make this one of several "choices" (possible simultaneously but
693# suggested uniquely) when an IOP driver emerges for "real" MMC/SD
694# protocol support.
695 tristate
696 depends on !ETRAX_MMC_IOP
697 default MMC
698 select SPI
699 select MMC_SPI
700 select ETRAX_SPI_MMC_BOARD
701
702# For the parts that can't be a module (due to restrictions in
703# framework elsewhere).
704config ETRAX_SPI_MMC_BOARD
705 boolean
706 default n
707
708# While the board info is MMC_SPI only, the drivers are written to be
709# independent of MMC_SPI, so we'll keep SPI non-dependent on the
710# MMC_SPI config choices (well, except for a single depends-on-line
711# for the board-info file until a separate non-MMC SPI board file
712# emerges).
713# FIXME: When that happens, we'll need to be able to ask for and
714# configure non-MMC SPI ports together with MMC_SPI ports (if multiple
715# SPI ports are enabled).
716
717config SPI_ETRAX_SSER
718 tristate
719 depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
720 select SPI_BITBANG
721 help
722 This enables using an synchronous serial (sser) port as a
723 SPI master controller on Axis ETRAX FS and later. The
724 driver can be configured to use any sser port.
725
726config SPI_ETRAX_GPIO
727 tristate
728 depends on SPI_MASTER && ETRAX_ARCH_V32 && EXPERIMENTAL
729 select SPI_BITBANG
730 help
731 This enables using GPIO pins port as a SPI master controller
732 on Axis ETRAX FS and later. The driver can be configured to
733 use any GPIO pins.
734
735config ETRAX_SPI_SSER0
736 tristate "SPI using synchronous serial port 0 (sser0)"
737 depends on ETRAX_SPI_MMC
738 default m if MMC_SPI=m
739 default y if MMC_SPI=y
740 default y if MMC_SPI=n
741 select SPI_ETRAX_SSER
742 help
743 Say Y for an MMC/SD socket connected to synchronous serial port 0,
744 or for devices using the SPI protocol on that port. Say m if you
745 want to build it as a module, which will be named spi_crisv32_sser.
746 (You need to select MMC separately.)
747
748config ETRAX_SPI_SSER0_DMA
749 bool "DMA for SPI on sser0 enabled"
750 depends on ETRAX_SPI_SSER0
751 depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN
752 default y
753 help
754 Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0.
755
756config ETRAX_SPI_MMC_CD_SSER0_PIN
757 string "MMC/SD card detect pin for SPI on sser0"
758 depends on ETRAX_SPI_SSER0 && MMC_SPI
759 default "pd11"
760 help
761 The pin to use for SD/MMC card detect. This pin should be pulled up
762 and grounded when a card is present. If defined as " " (space), no
763 pin is selected. A card must then always be inserted for proper
764 action.
765
766config ETRAX_SPI_MMC_WP_SSER0_PIN
767 string "MMC/SD card write-protect pin for SPI on sser0"
768 depends on ETRAX_SPI_SSER0 && MMC_SPI
769 default "pd10"
770 help
771 The pin to use for the SD/MMC write-protect signal for a memory
772 card. If defined as " " (space), the card is considered writable.
773
774config ETRAX_SPI_SSER1
775 tristate "SPI using synchronous serial port 1 (sser1)"
776 depends on ETRAX_SPI_MMC
777 default m if MMC_SPI=m && ETRAX_SPI_SSER0=n
778 default y if MMC_SPI=y && ETRAX_SPI_SSER0=n
779 default y if MMC_SPI=n && ETRAX_SPI_SSER0=n
780 select SPI_ETRAX_SSER
781 help
782 Say Y for an MMC/SD socket connected to synchronous serial port 1,
783 or for devices using the SPI protocol on that port. Say m if you
784 want to build it as a module, which will be named spi_crisv32_sser.
785 (You need to select MMC separately.)
786
787config ETRAX_SPI_SSER1_DMA
788 bool "DMA for SPI on sser1 enabled"
789 depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1
790 depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN
791 default y
792 help
793 Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1.
794
795config ETRAX_SPI_MMC_CD_SSER1_PIN
796 string "MMC/SD card detect pin for SPI on sser1"
797 depends on ETRAX_SPI_SSER1 && MMC_SPI
798 default "pd12"
799 help
800 The pin to use for SD/MMC card detect. This pin should be pulled up
801 and grounded when a card is present. If defined as " " (space), no
802 pin is selected. A card must then always be inserted for proper
803 action.
804
805config ETRAX_SPI_MMC_WP_SSER1_PIN
806 string "MMC/SD card write-protect pin for SPI on sser1"
807 depends on ETRAX_SPI_SSER1 && MMC_SPI
808 default "pd9"
809 help
810 The pin to use for the SD/MMC write-protect signal for a memory
811 card. If defined as " " (space), the card is considered writable.
812
813config ETRAX_SPI_GPIO
814 tristate "Bitbanged SPI using gpio pins"
815 depends on ETRAX_SPI_MMC
816 select SPI_ETRAX_GPIO
817 default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
818 default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
819 default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n
820 help
821 Say Y for an MMC/SD socket connected to general I/O pins (but not
822 a complete synchronous serial ports), or for devices using the SPI
823 protocol on general I/O pins. Slow and slows down the system.
824 Say m to build it as a module, which will be called spi_crisv32_gpio.
825 (You need to select MMC separately.)
826
827# The default match that of sser0, only because that's how it was tested.
828config ETRAX_SPI_CS_PIN
829 string "SPI chip select pin"
830 depends on ETRAX_SPI_GPIO
831 default "pc3"
832 help
833 The pin to use for SPI chip select.
834
835config ETRAX_SPI_CLK_PIN
836 string "SPI clock pin"
837 depends on ETRAX_SPI_GPIO
838 default "pc1"
839 help
840 The pin to use for the SPI clock.
841
842config ETRAX_SPI_DATAIN_PIN
843 string "SPI MISO (data in) pin"
844 depends on ETRAX_SPI_GPIO
845 default "pc16"
846 help
847 The pin to use for SPI data in from the device.
848
849config ETRAX_SPI_DATAOUT_PIN
850 string "SPI MOSI (data out) pin"
851 depends on ETRAX_SPI_GPIO
852 default "pc0"
853 help
854 The pin to use for SPI data out to the device.
855
856config ETRAX_SPI_MMC_CD_GPIO_PIN
857 string "MMC/SD card detect pin for SPI using gpio (space for none)"
858 depends on ETRAX_SPI_GPIO && MMC_SPI
859 default "pd11"
860 help
861 The pin to use for SD/MMC card detect. This pin should be pulled up
862 and grounded when a card is present. If defined as " " (space), no
863 pin is selected. A card must then always be inserted for proper
864 action.
865
866config ETRAX_SPI_MMC_WP_GPIO_PIN
867 string "MMC/SD card write-protect pin for SPI using gpio (space for none)"
868 depends on ETRAX_SPI_GPIO && MMC_SPI
869 default "pd10"
870 help
871 The pin to use for the SD/MMC write-protect signal for a memory
872 card. If defined as " " (space), the card is considered writable.
873
874# Avoid choices causing non-working configs by conditionalizing the inclusion.
875if ETRAX_SPI_MMC
876source drivers/spi/Kconfig
877endif
878
616endif 879endif