CRIS v10: Add synchronous serial port driver for CRIS v10.
[safe/jmp/linux-2.6] / arch / cris / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see the Configure script.
4 #
5
6 mainmenu "Linux/CRIS Kernel Configuration"
7
8 config MMU
9         bool
10         default y
11
12 config ZONE_DMA
13         bool
14         default y
15
16 config RWSEM_GENERIC_SPINLOCK
17         bool
18         default y
19
20 config RWSEM_XCHGADD_ALGORITHM
21         bool
22
23 config GENERIC_IOMAP
24        bool
25        default y
26
27 config ARCH_HAS_ILOG2_U32
28         bool
29         default n
30
31 config ARCH_HAS_ILOG2_U64
32         bool
33         default n
34
35 config GENERIC_FIND_NEXT_BIT
36         bool
37         default y
38
39 config GENERIC_HWEIGHT
40         bool
41         default y
42
43 config GENERIC_CALIBRATE_DELAY
44         bool
45         default y
46
47 config NO_IOPORT
48         def_bool y
49
50 config FORCE_MAX_ZONEORDER
51         int
52         default 6
53
54 config CRIS
55         bool
56         default y
57
58 source "init/Kconfig"
59
60 menu "General setup"
61
62 source "fs/Kconfig.binfmt"
63
64 config GENERIC_HARDIRQS
65         bool
66         default y
67
68 config ETRAX_CMDLINE
69         string "Kernel command line"
70         default "root=/dev/mtdblock3"
71         help
72           Pass additional commands to the kernel.
73
74 config ETRAX_WATCHDOG
75         bool "Enable ETRAX watchdog"
76         help
77           Enable the built-in watchdog timer support on ETRAX based embedded
78           network computers.
79
80 config ETRAX_WATCHDOG_NICE_DOGGY
81         bool "Disable watchdog during Oops printouts"
82         depends on ETRAX_WATCHDOG
83         help
84           By enabling this you make sure that the watchdog does not bite while
85           printing oopses. Recommended for development systems but not for
86           production releases.
87
88 config ETRAX_FAST_TIMER
89        bool "Enable ETRAX fast timer API"
90        help
91          This options enables the API to a fast timer implementation using
92          timer1 to get sub jiffie resolution timers (primarily one-shot
93          timers).
94          This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled.
95
96 config ETRAX_KMALLOCED_MODULES
97         bool "Enable module allocation with kmalloc"
98         help
99           Enable module allocation with kmalloc instead of vmalloc.
100
101 config OOM_REBOOT
102        bool "Enable reboot at out of memory"
103
104 source "kernel/Kconfig.preempt"
105
106 source mm/Kconfig
107
108 endmenu
109
110 menu "Hardware setup"
111
112 choice
113         prompt "Processor type"
114         default ETRAX100LX
115
116 config ETRAX100LX
117         bool "ETRAX-100LX-v1"
118         help
119           Support version 1 of the ETRAX 100LX.
120
121 config ETRAX100LX_V2
122         bool "ETRAX-100LX-v2"
123         help
124           Support version 2 of the ETRAX 100LX.
125
126 config SVINTO_SIM
127         bool "ETRAX-100LX-for-xsim-simulator"
128         help
129           Support the xsim ETRAX Simulator.
130
131 config ETRAXFS
132         bool "ETRAX-FS-V32"
133         help
134           Support CRIS V32.
135
136 config CRIS_MACH_ARTPEC3
137         bool "ARTPEC-3"
138         help
139           Support Axis ARTPEC-3.
140
141 endchoice
142
143 config ETRAX_VCS_SIM
144         bool "VCS Simulator"
145         help
146           Setup hardware to be run in the VCS simulator.
147
148 config ETRAX_ARCH_V10
149        bool
150        default y if ETRAX100LX || ETRAX100LX_V2
151        default n if !(ETRAX100LX || ETRAX100LX_V2)
152
153 config ETRAX_ARCH_V32
154        bool
155        default y if (ETRAXFS || CRIS_MACH_ARTPEC3)
156        default n if !(ETRAXFS || CRIS_MACH_ARTPEC3)
157
158 config ETRAX_DRAM_SIZE
159         int "DRAM size (dec, in MB)"
160         default "8"
161         help
162           Size of DRAM (decimal in MB) typically 2, 8 or 16.
163
164 config ETRAX_VMEM_SIZE
165        int "Video memory size (dec, in MB)"
166        depends on ETRAX_ARCH_V32 && !ETRAXFS
167        default 8 if !ETRAXFS
168        help
169         Size of Video accessible memory (decimal, in MB).
170
171 config ETRAX_FLASH_BUSWIDTH
172         int "Buswidth of NOR flash in bytes"
173         default "2"
174         help
175           Width in bytes of the NOR Flash bus (1, 2 or 4). Is usually 2.
176
177 config ETRAX_NANDFLASH_BUSWIDTH
178         int "Buswidth of NAND flash in bytes"
179         default "1"
180         help
181           Width in bytes of the NAND flash (1 or 2).
182
183 config ETRAX_FLASH1_SIZE
184        int "FLASH1 size (dec, in MB. 0 = Unknown)"
185        default "0"
186
187 choice
188         prompt "Product debug-port"
189         default ETRAX_DEBUG_PORT0
190
191 config ETRAX_DEBUG_PORT0
192         bool "Serial-0"
193         help
194           Choose a serial port for the ETRAX debug console.  Default to
195           port 0.
196
197 config ETRAX_DEBUG_PORT1
198         bool "Serial-1"
199         help
200           Use serial port 1 for the console.
201
202 config ETRAX_DEBUG_PORT2
203         bool "Serial-2"
204         help
205           Use serial port 2 for the console.
206
207 config ETRAX_DEBUG_PORT3
208         bool "Serial-3"
209         help
210           Use serial port 3 for the console.
211
212 config ETRAX_DEBUG_PORT_NULL
213         bool "disabled"
214         help
215           Disable serial-port debugging.
216
217 endchoice
218
219 choice
220         prompt "Kernel GDB port"
221         depends on ETRAX_KGDB
222         default ETRAX_KGDB_PORT0
223         help
224           Choose a serial port for kernel debugging.  NOTE: This port should
225           not be enabled under Drivers for built-in interfaces (as it has its
226           own initialization code) and should not be the same as the debug port.
227
228 config ETRAX_KGDB_PORT0
229         bool "Serial-0"
230         help
231           Use serial port 0 for kernel debugging.
232
233 config ETRAX_KGDB_PORT1
234         bool "Serial-1"
235         help
236           Use serial port 1 for kernel debugging.
237
238 config ETRAX_KGDB_PORT2
239         bool "Serial-2"
240         help
241           Use serial port 2 for kernel debugging.
242
243 config ETRAX_KGDB_PORT3
244         bool "Serial-3"
245         help
246           Use serial port 3 for kernel debugging.
247
248 endchoice
249
250 source arch/cris/arch-v10/Kconfig
251 source arch/cris/arch-v32/Kconfig
252
253 endmenu
254
255 source "net/Kconfig"
256
257 # bring in ETRAX built-in drivers
258 menu "Drivers for built-in interfaces"
259 source arch/cris/arch-v10/drivers/Kconfig
260 source arch/cris/arch-v32/drivers/Kconfig
261
262 config ETRAX_RTC
263         bool "Real Time Clock support"
264         depends on ETRAX_I2C
265         help
266           Enables drivers for the Real-Time Clock battery-backed chips on
267           some products. The kernel reads the time when booting, and
268           the date can be set using ioctl(fd, RTC_SET_TIME, &rt) with rt a
269           rtc_time struct (see <file:include/asm-cris/rtc.h>) on the /dev/rtc
270           device.  You can check the time with cat /proc/rtc, but
271           normal time reading should be done using libc function time and
272           friends.
273
274 choice
275         prompt "RTC chip"
276         depends on ETRAX_RTC
277         default ETRAX_PCF8563 if ETRAX_ARCH_V32
278         default ETRAX_DS1302 if ETRAX_ARCH_V10
279
280 config ETRAX_DS1302
281         depends on ETRAX_ARCH_V10
282         bool "DS1302"
283         help
284           Enables the driver for the DS1302 Real-Time Clock battery-backed
285           chip on some products.
286
287 config ETRAX_PCF8563
288         bool "PCF8563"
289         help
290           Enables the driver for the PCF8563 Real-Time Clock battery-backed
291           chip on some products.
292
293 endchoice
294
295 config ETRAX_SYNCHRONOUS_SERIAL
296         bool "Synchronous serial-port support"
297         help
298           Select this to enable the synchronous serial port driver.
299
300 config ETRAX_SYNCHRONOUS_SERIAL_PORT0
301         bool "Synchronous serial port 0 enabled"
302         depends on ETRAX_SYNCHRONOUS_SERIAL
303         help
304           Enabled synchronous serial port 0.
305
306 config ETRAX_SYNCHRONOUS_SERIAL0_DMA
307         bool "Enable DMA on synchronous serial port 0."
308         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0
309         help
310           A synchronous serial port can run in manual or DMA mode.
311           Selecting this option will make it run in DMA mode.
312
313 config ETRAX_SYNCHRONOUS_SERIAL_PORT1
314         bool "Synchronous serial port 1 enabled"
315         depends on ETRAX_SYNCHRONOUS_SERIAL && (ETRAXFS || ETRAX_ARCH_V10)
316         help
317           Enabled synchronous serial port 1.
318
319 config ETRAX_SYNCHRONOUS_SERIAL1_DMA
320         bool "Enable DMA on synchronous serial port 1."
321         depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1
322         help
323           A synchronous serial port can run in manual or DMA mode.
324           Selecting this option will make it run in DMA mode.
325
326 choice
327         prompt "Network LED behavior"
328         depends on ETRAX_ETHERNET
329         default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
330
331 config ETRAX_NETWORK_LED_ON_WHEN_LINK
332         bool "LED_on_when_link"
333         help
334           Selecting LED_on_when_link will light the LED when there is a
335           connection and will flash off when there is activity.
336
337           Selecting LED_on_when_activity will light the LED only when
338           there is activity.
339
340           This setting will also affect the behaviour of other activity LEDs
341           e.g. Bluetooth.
342
343 config ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY
344         bool "LED_on_when_activity"
345         help
346           Selecting LED_on_when_link will light the LED when there is a
347           connection and will flash off when there is activity.
348
349           Selecting LED_on_when_activity will light the LED only when
350           there is activity.
351
352           This setting will also affect the behaviour of other activity LEDs
353           e.g. Bluetooth.
354
355 endchoice
356
357 choice
358         prompt "Ser0 DMA out channel"
359         depends on ETRAX_SERIAL_PORT0
360         default ETRAX_SERIAL_PORT0_DMA6_OUT if ETRAX_ARCH_V32
361         default ETRAX_SERIAL_PORT0_NO_DMA_OUT if ETRAX_ARCH_V10
362
363 config ETRAX_SERIAL_PORT0_NO_DMA_OUT
364         bool "Ser0 uses no DMA for output"
365         help
366           Do not use DMA for ser0 output.
367
368 config ETRAX_SERIAL_PORT0_DMA6_OUT
369         bool "Ser0 uses DMA6 for output"
370         depends on ETRAXFS
371         help
372           Enables the DMA6 output channel for ser0 (ttyS0).
373           If you do not enable DMA, an interrupt for each character will be
374           used when transmitting data.
375           Normally you want to use DMA, unless you use the DMA channel for
376           something else.
377
378 config ETRAX_SERIAL_PORT0_DMA0_OUT
379         bool "Ser0 uses DMA0 for output"
380         depends on CRIS_MACH_ARTPEC3
381         help
382           Enables the DMA0 output channel for ser0 (ttyS0).
383           If you do not enable DMA, an interrupt for each character will be
384           used when transmitting data.
385           Normally you want to use DMA, unless you use the DMA channel for
386           something else.
387
388 endchoice
389
390 choice
391         prompt "Ser0 DMA in channel "
392         depends on ETRAX_SERIAL_PORT0
393         default ETRAX_SERIAL_PORT0_NO_DMA_IN if ETRAX_ARCH_V32
394         default ETRAX_SERIAL_PORT0_DMA7_IN if ETRAX_ARCH_V10
395         help
396           What DMA channel to use for ser0.
397
398 config ETRAX_SERIAL_PORT0_NO_DMA_IN
399         bool "Ser0 uses no DMA for input"
400         help
401           Do not use DMA for ser0 input.
402
403 config ETRAX_SERIAL_PORT0_DMA7_IN
404         bool "Ser0 uses DMA7 for input"
405         depends on ETRAXFS
406         help
407           Enables the DMA7 input channel for ser0 (ttyS0).
408           If you do not enable DMA, an interrupt for each character will be
409           used when receiving data.
410           Normally you want to use DMA, unless you use the DMA channel for
411           something else.
412
413 config ETRAX_SERIAL_PORT0_DMA1_IN
414         bool "Ser0 uses DMA1 for input"
415         depends on CRIS_MACH_ARTPEC3
416         help
417           Enables the DMA1 input channel for ser0 (ttyS0).
418           If you do not enable DMA, an interrupt for each character will be
419           used when receiveing data.
420           Normally you want to use DMA, unless you use the DMA channel for
421           something else.
422
423 endchoice
424
425 choice
426         prompt "Ser1 DMA in channel "
427         depends on ETRAX_SERIAL_PORT1
428         default ETRAX_SERIAL_PORT1_NO_DMA_IN if ETRAX_ARCH_V32
429         default ETRAX_SERIAL_PORT1_DMA9_IN if ETRAX_ARCH_V10
430         help
431           What DMA channel to use for ser1.
432
433 config ETRAX_SERIAL_PORT1_NO_DMA_IN
434         bool "Ser1 uses no DMA for input"
435         help
436           Do not use DMA for ser1 input.
437
438 config ETRAX_SERIAL_PORT1_DMA5_IN
439         bool "Ser1 uses DMA5 for input"
440         depends on ETRAX_ARCH_V32
441         help
442           Enables the DMA5 input channel for ser1 (ttyS1).
443           If you do not enable DMA, an interrupt for each character will be
444           used when receiving data.
445           Normally you want this on, unless you use the DMA channel for
446           something else.
447
448 config ETRAX_SERIAL_PORT1_DMA9_IN
449         depends on ETRAX_ARCH_V10
450         bool "Ser1 uses DMA9 for input"
451
452 endchoice
453
454
455 choice
456         prompt "Ser1 DMA out channel"
457         depends on ETRAX_SERIAL_PORT1
458         default ETRAX_SERIAL_PORT1_NO_DMA_OUT if ETRAX_ARCH_V32
459         default ETRAX_SERIAL_PORT1_DMA8_OUT if ETRAX_ARCH_V10
460         help
461           What DMA channel to use for ser1.
462
463 config ETRAX_SERIAL_PORT1_NO_DMA_OUT
464         bool "Ser1 uses no DMA for output"
465         help
466           Do not use DMA for ser1 output.
467
468 config ETRAX_SERIAL_PORT1_DMA8_OUT
469         depends on ETRAX_ARCH_V10
470         bool "Ser1 uses DMA8 for output"
471
472 config ETRAX_SERIAL_PORT1_DMA4_OUT
473         depends on ETRAX_ARCH_V32
474         bool "Ser1 uses DMA4 for output"
475         help
476           Enables the DMA4 output channel for ser1 (ttyS1).
477           If you do not enable DMA, an interrupt for each character will be
478           used when transmitting data.
479           Normally you want this on, unless you use the DMA channel for
480           something else.
481
482 endchoice
483
484 choice
485         prompt "Ser2 DMA out channel"
486         depends on ETRAX_SERIAL_PORT2
487         default ETRAX_SERIAL_PORT2_NO_DMA_OUT if ETRAX_ARCH_V32
488         default ETRAX_SERIAL_PORT2_DMA2_OUT if ETRAX_ARCH_V10
489
490 config ETRAX_SERIAL_PORT2_NO_DMA_OUT
491         bool "Ser2 uses no DMA for output"
492         help
493           Do not use DMA for ser2 output.
494
495 config ETRAX_SERIAL_PORT2_DMA2_OUT
496         bool "Ser2 uses DMA2 for output"
497         depends on ETRAXFS || ETRAX_ARCH_V10
498         help
499           Enables the DMA2 output channel for ser2 (ttyS2).
500           If you do not enable DMA, an interrupt for each character will be
501           used when transmitting data.
502           Normally you want to use DMA, unless you use the DMA channel for
503           something else.
504
505 config ETRAX_SERIAL_PORT2_DMA6_OUT
506         bool "Ser2 uses DMA6 for output"
507         depends on CRIS_MACH_ARTPEC3
508         help
509           Enables the DMA6 output channel for ser2 (ttyS2).
510           If you do not enable DMA, an interrupt for each character will be
511           used when transmitting data.
512           Normally you want to use DMA, unless you use the DMA channel for
513           something else.
514
515 endchoice
516
517 choice
518         prompt "Ser2 DMA in channel"
519         depends on ETRAX_SERIAL_PORT2
520         default ETRAX_SERIAL_PORT2_NO_DMA_IN if ETRAX_ARCH_V32
521         default ETRAX_SERIAL_PORT2_DMA3_IN if ETRAX_ARCH_V10
522         help
523           What DMA channel to use for ser2.
524
525 config ETRAX_SERIAL_PORT2_NO_DMA_IN
526         bool "Ser2 uses no DMA for input"
527         help
528           Do not use DMA for ser2 input.
529
530 config ETRAX_SERIAL_PORT2_DMA3_IN
531         bool "Ser2 uses DMA3 for input"
532         depends on ETRAXFS || ETRAX_ARCH_V10
533         help
534           Enables the DMA3 input channel for ser2 (ttyS2).
535           If you do not enable DMA, an interrupt for each character will be
536           used when receiving data.
537           Normally you want to use DMA, unless you use the DMA channel for
538           something else.
539
540 config ETRAX_SERIAL_PORT2_DMA7_IN
541         bool "Ser2 uses DMA7 for input"
542         depends on CRIS_MACH_ARTPEC3
543         help
544           Enables the DMA7 input channel for ser2 (ttyS2).
545           If you do not enable DMA, an interrupt for each character will be
546           used when receiveing data.
547           Normally you want to use DMA, unless you use the DMA channel for
548           something else.
549
550 endchoice
551
552 choice
553         prompt "Ser3 DMA in channel"
554         depends on ETRAX_SERIAL_PORT3
555         default ETRAX_SERIAL_PORT3_NO_DMA_IN if ETRAX_ARCH_V32
556         default ETRAX_SERIAL_PORT3_DMA5_IN if ETRAX_ARCH_V10
557         help
558           What DMA channel to use for ser3.
559
560 config ETRAX_SERIAL_PORT3_NO_DMA_IN
561         bool "Ser3 uses no DMA for input"
562         help
563           Do not use DMA for ser3 input.
564
565 config ETRAX_SERIAL_PORT3_DMA5_IN
566         depends on ETRAX_ARCH_V10
567         bool "DMA 5"
568
569 config ETRAX_SERIAL_PORT3_DMA9_IN
570         bool "Ser3 uses DMA9 for input"
571         depends on ETRAXFS
572         help
573           Enables the DMA9 input channel for ser3 (ttyS3).
574           If you do not enable DMA, an interrupt for each character will be
575           used when receiving data.
576           Normally you want to use DMA, unless you use the DMA channel for
577           something else.
578
579 config ETRAX_SERIAL_PORT3_DMA3_IN
580         bool "Ser3 uses DMA3 for input"
581         depends on CRIS_MACH_ARTPEC3
582         help
583           Enables the DMA3 input channel for ser3 (ttyS3).
584           If you do not enable DMA, an interrupt for each character will be
585           used when receiveing data.
586           Normally you want to use DMA, unless you use the DMA channel for
587           something else.
588
589 endchoice
590
591 choice
592         prompt "Ser3 DMA out channel"
593         depends on ETRAX_SERIAL_PORT3
594         default ETRAX_SERIAL_PORT3_NO_DMA_OUT if ETRAX_ARCH_V32
595         default ETRAX_SERIAL_PORT3_DMA4_OUT if ETRAX_ARCH_V10
596
597 config ETRAX_SERIAL_PORT3_NO_DMA_OUT
598         bool "Ser3 uses no DMA for output"
599         help
600           Do not use DMA for ser3 output.
601
602 config ETRAX_SERIAL_PORT3_DMA4_OUT
603         depends on ETRAX_ARCH_V10
604         bool "DMA 4"
605
606 config ETRAX_SERIAL_PORT3_DMA8_OUT
607         bool "Ser3 uses DMA8 for output"
608         depends on ETRAXFS
609         help
610           Enables the DMA8 output channel for ser3 (ttyS3).
611           If you do not enable DMA, an interrupt for each character will be
612           used when transmitting data.
613           Normally you want to use DMA, unless you use the DMA channel for
614           something else.
615
616 config ETRAX_SERIAL_PORT3_DMA2_OUT
617         bool "Ser3 uses DMA2 for output"
618         depends on CRIS_MACH_ARTPEC3
619         help
620           Enables the DMA2 output channel for ser3 (ttyS3).
621           If you do not enable DMA, an interrupt for each character will be
622           used when transmitting data.
623           Normally you want to use DMA, unless you use the DMA channel for
624           something else.
625
626 endchoice
627
628 endmenu
629
630 source "drivers/base/Kconfig"
631
632 # standard linux drivers
633 source "drivers/mtd/Kconfig"
634
635 source "drivers/parport/Kconfig"
636
637 source "drivers/pnp/Kconfig"
638
639 source "drivers/block/Kconfig"
640
641 source "drivers/ide/Kconfig"
642
643 source "drivers/net/Kconfig"
644
645 source "drivers/i2c/Kconfig"
646
647 source "drivers/rtc/Kconfig"
648
649 #
650 # input before char - char/joystick depends on it. As does USB.
651 #
652 source "drivers/input/Kconfig"
653
654 source "drivers/char/Kconfig"
655
656 source "fs/Kconfig"
657
658 source "drivers/usb/Kconfig"
659
660 source "arch/cris/Kconfig.debug"
661
662 source "security/Kconfig"
663
664 source "crypto/Kconfig"
665
666 source "lib/Kconfig"