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