1config MN10300 2 def_bool y 3 select HAVE_EXIT_THREAD 4 select HAVE_OPROFILE 5 select HAVE_UID16 6 select GENERIC_IRQ_SHOW 7 select ARCH_WANT_IPC_PARSE_VERSION 8 select HAVE_ARCH_TRACEHOOK 9 select HAVE_ARCH_KGDB 10 select GENERIC_ATOMIC64 11 select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER 12 select VIRT_TO_BUS 13 select GENERIC_CLOCKEVENTS 14 select MODULES_USE_ELF_RELA 15 select OLD_SIGSUSPEND3 16 select OLD_SIGACTION 17 select HAVE_DEBUG_STACKOVERFLOW 18 select ARCH_NO_COHERENT_DMA_MMAP 19 20config AM33_2 21 def_bool n 22 23config AM33_3 24 def_bool n 25 26config AM34_2 27 def_bool n 28 select MN10300_HAS_ATOMIC_OPS_UNIT 29 select MN10300_HAS_CACHE_SNOOP 30 31config ERRATUM_NEED_TO_RELOAD_MMUCTR 32 def_bool y if AM33_3 || AM34_2 33 34config MMU 35 def_bool y 36 37config HIGHMEM 38 def_bool n 39 40config NUMA 41 def_bool n 42 43config RWSEM_GENERIC_SPINLOCK 44 def_bool y 45 46config RWSEM_XCHGADD_ALGORITHM 47 bool 48 49config GENERIC_CALIBRATE_DELAY 50 def_bool y 51 52config GENERIC_HWEIGHT 53 def_bool y 54 55config GENERIC_BUG 56 def_bool y 57 depends on BUG 58 59config QUICKLIST 60 def_bool y 61 62config ARCH_HAS_ILOG2_U32 63 def_bool y 64 65config HOTPLUG_CPU 66 def_bool n 67 68source "init/Kconfig" 69 70source "kernel/Kconfig.freezer" 71 72 73menu "Panasonic MN10300 system setup" 74 75choice 76 prompt "Unit type" 77 default MN10300_UNIT_ASB2303 78 help 79 This option specifies board for which the kernel will be 80 compiled. It affects the external peripherals catered for. 81 82config MN10300_UNIT_ASB2303 83 bool "ASB2303" 84 85config MN10300_UNIT_ASB2305 86 bool "ASB2305" 87 88config MN10300_UNIT_ASB2364 89 bool "ASB2364" 90 select SMSC911X_ARCH_HOOKS if SMSC911X 91 92endchoice 93 94choice 95 prompt "Processor support" 96 default MN10300_PROC_MN103E010 97 help 98 This option specifies the processor for which the kernel will be 99 compiled. It affects the on-chip peripherals catered for. 100 101config MN10300_PROC_MN103E010 102 bool "MN103E010" 103 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305 104 select AM33_2 105 select MN10300_PROC_HAS_TTYSM0 106 select MN10300_PROC_HAS_TTYSM1 107 select MN10300_PROC_HAS_TTYSM2 108 109config MN10300_PROC_MN2WS0050 110 bool "MN2WS0050" 111 depends on MN10300_UNIT_ASB2364 112 select AM34_2 113 select MN10300_PROC_HAS_TTYSM0 114 select MN10300_PROC_HAS_TTYSM1 115 select MN10300_PROC_HAS_TTYSM2 116 117endchoice 118 119config MN10300_HAS_ATOMIC_OPS_UNIT 120 def_bool n 121 help 122 This should be enabled if the processor has an atomic ops unit 123 capable of doing LL/SC equivalent operations. 124 125config FPU 126 bool "FPU present" 127 default y 128 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 129 130config LAZY_SAVE_FPU 131 bool "Save FPU state lazily" 132 default y 133 depends on FPU && !SMP 134 help 135 Enable this to be lazy in the saving of the FPU state to the owning 136 task's thread struct. This is useful if most tasks on the system 137 don't use the FPU as only those tasks that use it will pass it 138 between them, and the state needn't be saved for a task that isn't 139 using it. 140 141 This can't be so easily used on SMP as the process that owns the FPU 142 state on a CPU may be currently running on another CPU, so for the 143 moment, it is disabled. 144 145source "arch/mn10300/mm/Kconfig.cache" 146 147config MN10300_TLB_USE_PIDR 148 def_bool y 149 150menu "Memory layout options" 151 152config KERNEL_RAM_BASE_ADDRESS 153 hex "Base address of kernel RAM" 154 default "0x90000000" 155 156config INTERRUPT_VECTOR_BASE 157 hex "Base address of vector table" 158 default "0x90000000" 159 help 160 The base address of the vector table will be programmed into 161 the TBR register. It must be on 16MiB address boundary. 162 163config KERNEL_TEXT_ADDRESS 164 hex "Base address of kernel" 165 default "0x90001000" 166 167config KERNEL_ZIMAGE_BASE_ADDRESS 168 hex "Base address of compressed vmlinux image" 169 default "0x50700000" 170 171config BOOT_STACK_OFFSET 172 hex 173 default "0xF00" if SMP 174 default "0xFF0" if !SMP 175 176config BOOT_STACK_SIZE 177 hex 178 depends on SMP 179 default "0x100" 180endmenu 181 182config SMP 183 bool "Symmetric multi-processing support" 184 default y 185 depends on MN10300_PROC_MN2WS0050 186 ---help--- 187 This enables support for systems with more than one CPU. If you have 188 a system with only one CPU, say N. If you have a system with more 189 than one CPU, say Y. 190 191 If you say N here, the kernel will run on uni- and multiprocessor 192 machines, but will use only one CPU of a multiprocessor machine. If 193 you say Y here, the kernel will run on many, but not all, 194 uniprocessor machines. On a uniprocessor machine, the kernel 195 will run faster if you say N here. 196 197 See also <file:Documentation/x86/i386/IO-APIC.txt>, 198 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at 199 <http://www.tldp.org/docs.html#howto>. 200 201 If you don't know what to do here, say N. 202 203config NR_CPUS 204 int 205 depends on SMP 206 default "2" 207 208source "kernel/Kconfig.preempt" 209 210config MN10300_CURRENT_IN_E2 211 bool "Hold current task address in E2 register" 212 depends on !SMP 213 default y 214 help 215 This option removes the E2/R2 register from the set available to gcc 216 for normal use and instead uses it to store the address of the 217 current process's task_struct whilst in the kernel. 218 219 This means the kernel doesn't need to calculate the address each time 220 "current" is used (take SP, AND with mask and dereference pointer 221 just to get the address), and instead can just use E2+offset 222 addressing each time. 223 224 This has no effect on userspace. 225 226config MN10300_USING_JTAG 227 bool "Using JTAG to debug kernel" 228 default y 229 help 230 This options indicates that JTAG will be used to debug the kernel. It 231 suppresses the use of certain hardware debugging features, such as 232 single-stepping, which are taken over completely by the JTAG unit. 233 234source "kernel/Kconfig.hz" 235 236config MN10300_RTC 237 bool "Using MN10300 RTC" 238 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 239 select RTC_CLASS 240 select RTC_DRV_CMOS 241 select RTC_SYSTOHC 242 default n 243 help 244 This option enables support for the RTC, thus enabling time to be 245 tracked, even when system is powered down. This is available on-chip 246 on the MN103E010. 247 248config MN10300_WD_TIMER 249 bool "Using MN10300 watchdog timer" 250 default y 251 help 252 This options indicates that the watchdog timer will be used. 253 254config PCI 255 bool "Use PCI" 256 depends on MN10300_UNIT_ASB2305 257 default y 258 select GENERIC_PCI_IOMAP 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. 262 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. 267 268source "drivers/pci/Kconfig" 269 270source "drivers/pcmcia/Kconfig" 271 272menu "MN10300 internal serial options" 273 274config MN10300_PROC_HAS_TTYSM0 275 bool 276 default n 277 278config MN10300_PROC_HAS_TTYSM1 279 bool 280 default n 281 282config MN10300_PROC_HAS_TTYSM2 283 bool 284 default n 285 286config 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. 294 295config 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. 302 303# 304# /dev/ttySM0 305# 306config 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 311 312choice 313 prompt "Select the timer to supply the clock for SIF0" 314 default MN10300_TTYSM0_TIMER8 315 depends on MN10300_TTYSM0 316 317config MN10300_TTYSM0_TIMER8 318 bool "Use timer 8 (16-bit)" 319 320config MN10300_TTYSM0_TIMER2 321 bool "Use timer 2 (8-bit)" 322 323endchoice 324 325# 326# /dev/ttySM1 327# 328config 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 333 334choice 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 341 342config MN10300_TTYSM1_TIMER12 343 bool "Use timer 12 (16-bit)" 344 depends on !(AM33_2 || AM33_3) 345 346config MN10300_TTYSM1_TIMER9 347 bool "Use timer 9 (16-bit)" 348 depends on AM33_2 || AM33_3 349 350config MN10300_TTYSM1_TIMER3 351 bool "Use timer 3 (8-bit)" 352 depends on AM33_2 || AM33_3 353 354endchoice 355 356# 357# /dev/ttySM2 358# 359config 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 364 365choice 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 372 373config MN10300_TTYSM2_TIMER9 374 bool "Use timer 9 (16-bit)" 375 depends on !(AM33_2 || AM33_3) 376 377config MN10300_TTYSM2_TIMER1 378 bool "Use timer 1 (8-bit)" 379 depends on !(AM33_2 || AM33_3) 380 381config MN10300_TTYSM2_TIMER3 382 bool "Use timer 3 (8-bit)" 383 depends on !(AM33_2 || AM33_3) 384 385config MN10300_TTYSM2_TIMER10 386 bool "Use timer 10 (16-bit)" 387 depends on AM33_2 || AM33_3 388 389endchoice 390 391config MN10300_TTYSM2_CTS 392 bool "Enable the use of the CTS line /dev/ttySM2" 393 depends on MN10300_TTYSM2 && AM33_2 394 395endmenu 396 397menu "Interrupt request priority options" 398 399comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)" 400 401comment "____Non-maskable interrupt levels____" 402comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial" 403 404config DEBUGGER_IRQ_LEVEL 405 int "DEBUGGER interrupt priority" 406 depends on KERNEL_DEBUGGER 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 413 414comment "The following must be set to a higher priority than local_irq_disable()" 415 416config 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 425 426comment "-" 427comment "____Maskable interrupt levels____" 428 429config 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. 439 440 Certain interrupts, such as DEBUGGER and virtual MN10300 on-chip 441 serial DMA interrupts are allowed to interrupt normal disabled 442 sections. 443 444comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL" 445 446config TIMER_IRQ_LEVEL 447 int "Kernel timer interrupt priority" 448 range LINUX_CLI_LEVEL 6 449 default 4 450 451config PCI_IRQ_LEVEL 452 int "PCI interrupt priority" 453 depends on PCI 454 range LINUX_CLI_LEVEL 6 455 default 5 456 457config ETHERNET_IRQ_LEVEL 458 int "Ethernet interrupt priority" 459 depends on SMC91X || SMC911X || SMSC911X 460 range LINUX_CLI_LEVEL 6 461 default 6 462 463config 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 468 469endmenu 470 471source "mm/Kconfig" 472 473menu "Power management options" 474source kernel/power/Kconfig 475endmenu 476 477endmenu 478 479 480menu "Executable formats" 481 482source "fs/Kconfig.binfmt" 483 484endmenu 485 486source "net/Kconfig" 487 488source "drivers/Kconfig" 489 490source "fs/Kconfig" 491 492source "arch/mn10300/Kconfig.debug" 493 494source "security/Kconfig" 495 496source "crypto/Kconfig" 497 498source "lib/Kconfig" 499