2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
20 select MN10300_HAS_ATOMIC_OPS_UNIT
21 select MN10300_HAS_CACHE_SNOOP
23 config ERRATUM_NEED_TO_RELOAD_MMUCTR
24 def_bool y if AM33_3 || AM34_2
38 config RWSEM_GENERIC_SPINLOCK
41 config RWSEM_XCHGADD_ALGORITHM
44 config GENERIC_HARDIRQS_NO__DO_IRQ
47 config GENERIC_CALIBRATE_DELAY
50 config GENERIC_CMOS_UPDATE
53 config GENERIC_FIND_NEXT_BIT
56 config GENERIC_HWEIGHT
62 config GENERIC_CLOCKEVENTS
65 config GENERIC_CLOCKEVENTS_BUILD
67 depends on GENERIC_CLOCKEVENTS
69 config GENERIC_CLOCKEVENTS_BROADCAST
74 depends on GENERIC_CLOCKEVENTS
78 depends on GENERIC_TIME
86 config ARCH_HAS_ILOG2_U32
89 # Use the generic interrupt handling code in kernel/irq/
90 config GENERIC_HARDIRQS
96 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
100 source "kernel/Kconfig.freezer"
103 menu "Matsushita MN10300 system setup"
107 default MN10300_UNIT_ASB2303
109 This option specifies board for which the kernel will be
110 compiled. It affects the external peripherals catered for.
112 config MN10300_UNIT_ASB2303
115 config MN10300_UNIT_ASB2305
118 config MN10300_UNIT_ASB2364
120 select SMSC911X_ARCH_HOOKS if SMSC911X
125 prompt "Processor support"
126 default MN10300_PROC_MN103E010
128 This option specifies the processor for which the kernel will be
129 compiled. It affects the on-chip peripherals catered for.
131 config MN10300_PROC_MN103E010
133 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
135 select MN10300_PROC_HAS_TTYSM0
136 select MN10300_PROC_HAS_TTYSM1
137 select MN10300_PROC_HAS_TTYSM2
139 config MN10300_PROC_MN2WS0050
141 depends on MN10300_UNIT_ASB2364
143 select MN10300_PROC_HAS_TTYSM0
144 select MN10300_PROC_HAS_TTYSM1
145 select MN10300_PROC_HAS_TTYSM2
149 config MN10300_HAS_ATOMIC_OPS_UNIT
152 This should be enabled if the processor has an atomic ops unit
153 capable of doing LL/SC equivalent operations.
158 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
161 bool "Save FPU state lazily"
163 depends on FPU && !SMP
165 Enable this to be lazy in the saving of the FPU state to the owning
166 task's thread struct. This is useful if most tasks on the system
167 don't use the FPU as only those tasks that use it will pass it
168 between them, and the state needn't be saved for a task that isn't
171 This can't be so easily used on SMP as the process that owns the FPU
172 state on a CPU may be currently running on another CPU, so for the
173 moment, it is disabled.
175 source "arch/mn10300/mm/Kconfig.cache"
177 config MN10300_TLB_USE_PIDR
180 menu "Memory layout options"
182 config KERNEL_RAM_BASE_ADDRESS
183 hex "Base address of kernel RAM"
186 config INTERRUPT_VECTOR_BASE
187 hex "Base address of vector table"
190 The base address of the vector table will be programmed into
191 the TBR register. It must be on 16MiB address boundary.
193 config KERNEL_TEXT_ADDRESS
194 hex "Base address of kernel"
197 config KERNEL_ZIMAGE_BASE_ADDRESS
198 hex "Base address of compressed vmlinux image"
201 config BOOT_STACK_OFFSET
203 default "0xF00" if SMP
204 default "0xFF0" if !SMP
206 config BOOT_STACK_SIZE
213 bool "Symmetric multi-processing support"
215 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
217 This enables support for systems with more than one CPU. If you have
218 a system with only one CPU, like most personal computers, say N. If
219 you have a system with more than one CPU, say Y.
221 If you say N here, the kernel will run on single and multiprocessor
222 machines, but will use only one CPU of a multiprocessor machine. If
223 you say Y here, the kernel will run on many, but not all,
224 singleprocessor machines. On a singleprocessor machine, the kernel
225 will run faster if you say N here.
227 See also <file:Documentation/i386/IO-APIC.txt>,
228 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
229 <http://www.tldp.org/docs.html#howto>.
231 If you don't know what to do here, say N.
238 config USE_GENERIC_SMP_HELPERS
243 source "kernel/Kconfig.preempt"
245 config MN10300_CURRENT_IN_E2
246 bool "Hold current task address in E2 register"
250 This option removes the E2/R2 register from the set available to gcc
251 for normal use and instead uses it to store the address of the
252 current process's task_struct whilst in the kernel.
254 This means the kernel doesn't need to calculate the address each time
255 "current" is used (take SP, AND with mask and dereference pointer
256 just to get the address), and instead can just use E2+offset
257 addressing each time.
259 This has no effect on userspace.
261 config MN10300_USING_JTAG
262 bool "Using JTAG to debug kernel"
265 This options indicates that JTAG will be used to debug the kernel. It
266 suppresses the use of certain hardware debugging features, such as
267 single-stepping, which are taken over completely by the JTAG unit.
269 source "kernel/Kconfig.hz"
270 source "kernel/time/Kconfig"
273 bool "Using MN10300 RTC"
274 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
275 select GENERIC_CMOS_UPDATE
278 This option enables support for the RTC, thus enabling time to be
279 tracked, even when system is powered down. This is available on-chip
282 config MN10300_WD_TIMER
283 bool "Using MN10300 watchdog timer"
286 This options indicates that the watchdog timer will be used.
290 depends on MN10300_UNIT_ASB2305
293 Some systems (such as the ASB2305) have PCI onboard. If you have one
294 of these boards and you wish to use the PCI facilities, say Y here.
296 The PCI-HOWTO, available from
297 <http://www.tldp.org/docs.html#howto>, contains valuable
298 information about which PCI hardware does work under Linux and which
301 source "drivers/pci/Kconfig"
303 source "drivers/pcmcia/Kconfig"
305 menu "MN10300 internal serial options"
307 config MN10300_PROC_HAS_TTYSM0
311 config MN10300_PROC_HAS_TTYSM1
315 config MN10300_PROC_HAS_TTYSM2
320 bool "Support for ttySM serial ports"
325 This option enables support for the on-chip serial ports that the
326 MN10300 has available.
328 config MN10300_TTYSM_CONSOLE
329 bool "Support for console on ttySM serial ports"
330 depends on MN10300_TTYSM
331 select SERIAL_CORE_CONSOLE
333 This option enables support for a console on the on-chip serial ports
334 that the MN10300 has available.
339 config MN10300_TTYSM0
340 bool "Enable SIF0 (/dev/ttySM0)"
341 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
343 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
346 prompt "Select the timer to supply the clock for SIF0"
347 default MN10300_TTYSM0_TIMER8
348 depends on MN10300_TTYSM0
350 config MN10300_TTYSM0_TIMER8
351 bool "Use timer 8 (16-bit)"
353 config MN10300_TTYSM0_TIMER2
354 bool "Use timer 2 (8-bit)"
361 config MN10300_TTYSM1
362 bool "Enable SIF1 (/dev/ttySM1)"
363 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
365 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
368 prompt "Select the timer to supply the clock for SIF1"
369 default MN10300_TTYSM1_TIMER12 \
370 if !(AM33_2 || AM33_3)
371 default MN10300_TTYSM1_TIMER9 \
373 depends on MN10300_TTYSM1
375 config MN10300_TTYSM1_TIMER12
376 bool "Use timer 12 (16-bit)"
377 depends on !(AM33_2 || AM33_3)
379 config MN10300_TTYSM1_TIMER9
380 bool "Use timer 9 (16-bit)"
381 depends on AM33_2 || AM33_3
383 config MN10300_TTYSM1_TIMER3
384 bool "Use timer 3 (8-bit)"
385 depends on AM33_2 || AM33_3
392 config MN10300_TTYSM2
393 bool "Enable SIF2 (/dev/ttySM2)"
394 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
396 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
399 prompt "Select the timer to supply the clock for SIF2"
400 default MN10300_TTYSM2_TIMER3 \
401 if !(AM33_2 || AM33_3)
402 default MN10300_TTYSM2_TIMER10 \
404 depends on MN10300_TTYSM2
406 config MN10300_TTYSM2_TIMER9
407 bool "Use timer 9 (16-bit)"
408 depends on !(AM33_2 || AM33_3)
410 config MN10300_TTYSM2_TIMER1
411 bool "Use timer 1 (8-bit)"
412 depends on !(AM33_2 || AM33_3)
414 config MN10300_TTYSM2_TIMER3
415 bool "Use timer 3 (8-bit)"
416 depends on !(AM33_2 || AM33_3)
418 config MN10300_TTYSM2_TIMER10
419 bool "Use timer 10 (16-bit)"
420 depends on AM33_2 || AM33_3
424 config MN10300_TTYSM2_CTS
425 bool "Enable the use of the CTS line /dev/ttySM2"
426 depends on MN10300_TTYSM2 && AM33_2
430 menu "Interrupt request priority options"
432 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
434 comment "____Non-maskable interrupt levels____"
435 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
437 config GDBSTUB_IRQ_LEVEL
438 int "GDBSTUB interrupt priority"
440 range 0 1 if LINUX_CLI_LEVEL = 2
441 range 0 2 if LINUX_CLI_LEVEL = 3
442 range 0 3 if LINUX_CLI_LEVEL = 4
443 range 0 4 if LINUX_CLI_LEVEL = 5
444 range 0 5 if LINUX_CLI_LEVEL = 6
447 comment "The following must be set to a higher priority than local_irq_disable()"
449 config MN10300_SERIAL_IRQ_LEVEL
450 int "MN10300 on-chip serial interrupt priority"
451 depends on MN10300_TTYSM
452 range 1 1 if LINUX_CLI_LEVEL = 2
453 range 1 2 if LINUX_CLI_LEVEL = 3
454 range 1 3 if LINUX_CLI_LEVEL = 4
455 range 1 4 if LINUX_CLI_LEVEL = 5
456 range 1 5 if LINUX_CLI_LEVEL = 6
460 comment "____Maskable interrupt levels____"
462 config LINUX_CLI_LEVEL
463 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
467 local_irq_disable() doesn't actually disable maskable interrupts -
468 what it does is restrict the levels of interrupt which are permitted
469 (a lower level indicates a higher priority) by lowering the value in
470 EPSW.IM from 7. Any interrupt is permitted for which the level is
473 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
474 serial DMA interrupts are allowed to interrupt normal disabled
477 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
479 config TIMER_IRQ_LEVEL
480 int "Kernel timer interrupt priority"
481 range LINUX_CLI_LEVEL 6
485 int "PCI interrupt priority"
487 range LINUX_CLI_LEVEL 6
490 config ETHERNET_IRQ_LEVEL
491 int "Ethernet interrupt priority"
492 depends on SMC91X || SMC911X || SMSC911X
493 range LINUX_CLI_LEVEL 6
496 config EXT_SERIAL_IRQ_LEVEL
497 int "External serial port interrupt priority"
498 depends on SERIAL_8250
499 range LINUX_CLI_LEVEL 6
506 menu "Power management options"
507 source kernel/power/Kconfig
513 menu "Executable formats"
515 source "fs/Kconfig.binfmt"
521 source "drivers/Kconfig"
525 source "arch/mn10300/Kconfig.debug"
527 source "security/Kconfig"
529 source "crypto/Kconfig"