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

