arm: ep93xx: Add basic interrupt info
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / mn10300 / Kconfig
blob10971be4306156a5eddc22746246c7a80dd83ea7
1 config MN10300
2         def_bool y
3         select HAVE_OPROFILE
4         select HAVE_GENERIC_HARDIRQS
5         select GENERIC_HARDIRQS_NO_DEPRECATED
7 config AM33_2
8         def_bool n
10 config AM33_3
11         def_bool n
13 config AM34_2
14         def_bool n
15         select MN10300_HAS_ATOMIC_OPS_UNIT
16         select MN10300_HAS_CACHE_SNOOP
18 config ERRATUM_NEED_TO_RELOAD_MMUCTR
19         def_bool y if AM33_3 || AM34_2
21 config MMU
22         def_bool y
24 config HIGHMEM
25         def_bool n
27 config NUMA
28         def_bool n
30 config UID16
31         def_bool y
33 config RWSEM_GENERIC_SPINLOCK
34         def_bool y
36 config RWSEM_XCHGADD_ALGORITHM
37         bool
39 config GENERIC_CALIBRATE_DELAY
40         def_bool y
42 config GENERIC_CMOS_UPDATE
43         def_bool n
45 config GENERIC_FIND_NEXT_BIT
46         def_bool y
48 config GENERIC_HWEIGHT
49         def_bool y
51 config GENERIC_TIME
52         def_bool y
54 config GENERIC_CLOCKEVENTS
55         def_bool y
57 config GENERIC_BUG
58         def_bool y
60 config QUICKLIST
61         def_bool y
63 config ARCH_HAS_ILOG2_U32
64         def_bool y
66 config HOTPLUG_CPU
67         def_bool n
69 source "init/Kconfig"
71 source "kernel/Kconfig.freezer"
74 menu "Panasonic MN10300 system setup"
76 choice
77         prompt "Unit type"
78         default MN10300_UNIT_ASB2303
79         help
80           This option specifies board for which the kernel will be
81           compiled. It affects the external peripherals catered for.
83 config MN10300_UNIT_ASB2303
84         bool "ASB2303"
86 config MN10300_UNIT_ASB2305
87         bool "ASB2305"
89 config MN10300_UNIT_ASB2364
90         bool "ASB2364"
91         select SMSC911X_ARCH_HOOKS if SMSC911X
93 endchoice
95 choice
96         prompt "Processor support"
97         default MN10300_PROC_MN103E010
98         help
99           This option specifies the processor for which the kernel will be
100           compiled. It affects the on-chip peripherals catered for.
102 config MN10300_PROC_MN103E010
103         bool "MN103E010"
104         depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
105         select AM33_2
106         select MN10300_PROC_HAS_TTYSM0
107         select MN10300_PROC_HAS_TTYSM1
108         select MN10300_PROC_HAS_TTYSM2
110 config MN10300_PROC_MN2WS0050
111         bool "MN2WS0050"
112         depends on MN10300_UNIT_ASB2364
113         select AM34_2
114         select MN10300_PROC_HAS_TTYSM0
115         select MN10300_PROC_HAS_TTYSM1
116         select MN10300_PROC_HAS_TTYSM2
118 endchoice
120 config MN10300_HAS_ATOMIC_OPS_UNIT
121         def_bool n
122         help
123           This should be enabled if the processor has an atomic ops unit
124           capable of doing LL/SC equivalent operations.
126 config FPU
127         bool "FPU present"
128         default y
129         depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
131 config LAZY_SAVE_FPU
132         bool "Save FPU state lazily"
133         default y
134         depends on FPU && !SMP
135         help
136           Enable this to be lazy in the saving of the FPU state to the owning
137           task's thread struct.  This is useful if most tasks on the system
138           don't use the FPU as only those tasks that use it will pass it
139           between them, and the state needn't be saved for a task that isn't
140           using it.
142           This can't be so easily used on SMP as the process that owns the FPU
143           state on a CPU may be currently running on another CPU, so for the
144           moment, it is disabled.
146 source "arch/mn10300/mm/Kconfig.cache"
148 config MN10300_TLB_USE_PIDR
149         def_bool y
151 menu "Memory layout options"
153 config KERNEL_RAM_BASE_ADDRESS
154         hex "Base address of kernel RAM"
155         default "0x90000000"
157 config INTERRUPT_VECTOR_BASE
158         hex "Base address of vector table"
159         default "0x90000000"
160         help
161           The base address of the vector table will be programmed into
162           the TBR register. It must be on 16MiB address boundary.
164 config KERNEL_TEXT_ADDRESS
165         hex "Base address of kernel"
166         default "0x90001000"
168 config KERNEL_ZIMAGE_BASE_ADDRESS
169         hex "Base address of compressed vmlinux image"
170         default "0x50700000"
172 config BOOT_STACK_OFFSET
173         hex
174         default "0xF00" if SMP
175         default "0xFF0" if !SMP
177 config BOOT_STACK_SIZE
178         hex
179         depends on SMP
180         default "0x100"
181 endmenu
183 config SMP
184         bool "Symmetric multi-processing support"
185         default y
186         select USE_GENERIC_SMP_HELPERS
187         depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
188         ---help---
189           This enables support for systems with more than one CPU. If you have
190           a system with only one CPU, like most personal computers, say N. If
191           you have a system with more than one CPU, say Y.
193           If you say N here, the kernel will run on single and multiprocessor
194           machines, but will use only one CPU of a multiprocessor machine. If
195           you say Y here, the kernel will run on many, but not all,
196           singleprocessor machines. On a singleprocessor machine, the kernel
197           will run faster if you say N here.
199           See also <file:Documentation/i386/IO-APIC.txt>,
200           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
201           <http://www.tldp.org/docs.html#howto>.
203           If you don't know what to do here, say N.
205 config NR_CPUS
206         int
207         depends on SMP
208         default "2"
210 source "kernel/Kconfig.preempt"
212 config MN10300_CURRENT_IN_E2
213         bool "Hold current task address in E2 register"
214         depends on !SMP
215         default y
216         help
217           This option removes the E2/R2 register from the set available to gcc
218           for normal use and instead uses it to store the address of the
219           current process's task_struct whilst in the kernel.
221           This means the kernel doesn't need to calculate the address each time
222           "current" is used (take SP, AND with mask and dereference pointer
223           just to get the address), and instead can just use E2+offset
224           addressing each time.
226           This has no effect on userspace.
228 config MN10300_USING_JTAG
229         bool "Using JTAG to debug kernel"
230         default y
231         help
232           This options indicates that JTAG will be used to debug the kernel. It
233           suppresses the use of certain hardware debugging features, such as
234           single-stepping, which are taken over completely by the JTAG unit.
236 source "kernel/Kconfig.hz"
237 source "kernel/time/Kconfig"
239 config MN10300_RTC
240         bool "Using MN10300 RTC"
241         depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
242         select GENERIC_CMOS_UPDATE
243         default n
244         help
245           This option enables support for the RTC, thus enabling time to be
246           tracked, even when system is powered down. This is available on-chip
247           on the MN103E010.
249 config MN10300_WD_TIMER
250         bool "Using MN10300 watchdog timer"
251         default y
252         help
253           This options indicates that the watchdog timer will be used.
255 config PCI
256         bool "Use PCI"
257         depends on MN10300_UNIT_ASB2305
258         default y
259         help
260           Some systems (such as the ASB2305) have PCI onboard. If you have one
261           of these boards and you wish to use the PCI facilities, say Y here.
263           The PCI-HOWTO, available from
264           <http://www.tldp.org/docs.html#howto>, contains valuable
265           information about which PCI hardware does work under Linux and which
266           doesn't.
268 source "drivers/pci/Kconfig"
270 source "drivers/pcmcia/Kconfig"
272 menu "MN10300 internal serial options"
274 config MN10300_PROC_HAS_TTYSM0
275         bool
276         default n
278 config MN10300_PROC_HAS_TTYSM1
279         bool
280         default n
282 config MN10300_PROC_HAS_TTYSM2
283         bool
284         default n
286 config MN10300_TTYSM
287         bool "Support for ttySM serial ports"
288         depends on MN10300
289         default y
290         select SERIAL_CORE
291         help
292           This option enables support for the on-chip serial ports that the
293           MN10300 has available.
295 config MN10300_TTYSM_CONSOLE
296         bool "Support for console on ttySM serial ports"
297         depends on MN10300_TTYSM
298         select SERIAL_CORE_CONSOLE
299         help
300           This option enables support for a console on the on-chip serial ports
301           that the MN10300 has available.
304 # /dev/ttySM0
306 config MN10300_TTYSM0
307         bool "Enable SIF0 (/dev/ttySM0)"
308         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
309         help
310           Enable access to SIF0 through /dev/ttySM0 or gdb-stub
312 choice
313         prompt "Select the timer to supply the clock for SIF0"
314         default MN10300_TTYSM0_TIMER8
315         depends on MN10300_TTYSM0
317 config MN10300_TTYSM0_TIMER8
318         bool "Use timer 8 (16-bit)"
320 config MN10300_TTYSM0_TIMER2
321         bool "Use timer 2 (8-bit)"
323 endchoice
326 # /dev/ttySM1
328 config MN10300_TTYSM1
329         bool "Enable SIF1 (/dev/ttySM1)"
330         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
331         help
332           Enable access to SIF1 through /dev/ttySM1 or gdb-stub
334 choice
335         prompt "Select the timer to supply the clock for SIF1"
336         default MN10300_TTYSM1_TIMER12 \
337                 if !(AM33_2 || AM33_3)
338         default MN10300_TTYSM1_TIMER9 \
339                 if AM33_2 || AM33_3
340         depends on MN10300_TTYSM1
342 config MN10300_TTYSM1_TIMER12
343         bool "Use timer 12 (16-bit)"
344         depends on !(AM33_2 || AM33_3)
346 config MN10300_TTYSM1_TIMER9
347         bool "Use timer 9 (16-bit)"
348         depends on AM33_2 || AM33_3
350 config MN10300_TTYSM1_TIMER3
351         bool "Use timer 3 (8-bit)"
352         depends on AM33_2 || AM33_3
354 endchoice
357 # /dev/ttySM2
359 config MN10300_TTYSM2
360         bool "Enable SIF2 (/dev/ttySM2)"
361         depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
362         help
363           Enable access to SIF2 through /dev/ttySM2 or gdb-stub
365 choice
366         prompt "Select the timer to supply the clock for SIF2"
367         default MN10300_TTYSM2_TIMER3 \
368                 if !(AM33_2 || AM33_3)
369         default MN10300_TTYSM2_TIMER10 \
370                 if AM33_2 || AM33_3
371         depends on MN10300_TTYSM2
373 config MN10300_TTYSM2_TIMER9
374         bool "Use timer 9 (16-bit)"
375         depends on !(AM33_2 || AM33_3)
377 config MN10300_TTYSM2_TIMER1
378         bool "Use timer 1 (8-bit)"
379         depends on !(AM33_2 || AM33_3)
381 config MN10300_TTYSM2_TIMER3
382         bool "Use timer 3 (8-bit)"
383         depends on !(AM33_2 || AM33_3)
385 config MN10300_TTYSM2_TIMER10
386         bool "Use timer 10 (16-bit)"
387         depends on AM33_2 || AM33_3
389 endchoice
391 config MN10300_TTYSM2_CTS
392         bool "Enable the use of the CTS line /dev/ttySM2"
393         depends on MN10300_TTYSM2 && AM33_2
395 endmenu
397 menu "Interrupt request priority options"
399 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
401 comment "____Non-maskable interrupt levels____"
402 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
404 config GDBSTUB_IRQ_LEVEL
405         int "GDBSTUB interrupt priority"
406         depends on GDBSTUB
407         range 0 1 if LINUX_CLI_LEVEL = 2
408         range 0 2 if LINUX_CLI_LEVEL = 3
409         range 0 3 if LINUX_CLI_LEVEL = 4
410         range 0 4 if LINUX_CLI_LEVEL = 5
411         range 0 5 if LINUX_CLI_LEVEL = 6
412         default 0
414 comment "The following must be set to a higher priority than local_irq_disable()"
416 config MN10300_SERIAL_IRQ_LEVEL
417         int "MN10300 on-chip serial interrupt priority"
418         depends on MN10300_TTYSM
419         range 1 1 if LINUX_CLI_LEVEL = 2
420         range 1 2 if LINUX_CLI_LEVEL = 3
421         range 1 3 if LINUX_CLI_LEVEL = 4
422         range 1 4 if LINUX_CLI_LEVEL = 5
423         range 1 5 if LINUX_CLI_LEVEL = 6
424         default 1
426 comment "-"
427 comment "____Maskable interrupt levels____"
429 config LINUX_CLI_LEVEL
430         int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
431         range 2 6
432         default 2
433         help
434           local_irq_disable() doesn't actually disable maskable interrupts -
435           what it does is restrict the levels of interrupt which are permitted
436           (a lower level indicates a higher priority) by lowering the value in
437           EPSW.IM from 7.  Any interrupt is permitted for which the level is
438           lower than EPSW.IM.
440           Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
441           serial DMA interrupts are allowed to interrupt normal disabled
442           sections.
444 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
446 config TIMER_IRQ_LEVEL
447         int "Kernel timer interrupt priority"
448         range LINUX_CLI_LEVEL 6
449         default 4
451 config PCI_IRQ_LEVEL
452         int "PCI interrupt priority"
453         depends on PCI
454         range LINUX_CLI_LEVEL 6
455         default 5
457 config ETHERNET_IRQ_LEVEL
458         int "Ethernet interrupt priority"
459         depends on SMC91X || SMC911X || SMSC911X
460         range LINUX_CLI_LEVEL 6
461         default 6
463 config EXT_SERIAL_IRQ_LEVEL
464         int "External serial port interrupt priority"
465         depends on SERIAL_8250
466         range LINUX_CLI_LEVEL 6
467         default 6
469 endmenu
471 source "mm/Kconfig"
473 menu "Power management options"
474 source kernel/power/Kconfig
475 endmenu
477 endmenu
480 menu "Executable formats"
482 source "fs/Kconfig.binfmt"
484 endmenu
486 source "net/Kconfig"
488 source "drivers/Kconfig"
490 source "fs/Kconfig"
492 source "arch/mn10300/Kconfig.debug"
494 source "security/Kconfig"
496 source "crypto/Kconfig"
498 source "lib/Kconfig"