1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5 6mainmenu "Linux/SuperH Kernel Configuration" 7 8config SUPERH 9 def_bool y 10 select EMBEDDED 11 select HAVE_CLK 12 select HAVE_IDE 13 select HAVE_OPROFILE 14 select HAVE_GENERIC_DMA_COHERENT 15 select HAVE_IOREMAP_PROT if MMU 16 select HAVE_ARCH_TRACEHOOK 17 help 18 The SuperH is a RISC processor targeted for use in embedded systems 19 and consumer electronics; it was also used in the Sega Dreamcast 20 gaming console. The SuperH port has a home page at 21 <http://www.linux-sh.org/>. 22 23config SUPERH32 24 def_bool !SUPERH64 25 select HAVE_KPROBES 26 select HAVE_KRETPROBES 27 select HAVE_FUNCTION_TRACER 28 select HAVE_FTRACE_MCOUNT_RECORD 29 select HAVE_DYNAMIC_FTRACE 30 select HAVE_ARCH_KGDB 31 32config SUPERH64 33 def_bool y if CPU_SH5 34 35config ARCH_DEFCONFIG 36 string 37 default "arch/sh/configs/shx3_defconfig" if SUPERH32 38 default "arch/sh/configs/cayman_defconfig" if SUPERH64 39 40config RWSEM_GENERIC_SPINLOCK 41 def_bool y 42 43config RWSEM_XCHGADD_ALGORITHM 44 bool 45 46config GENERIC_BUG 47 def_bool y 48 depends on BUG && SUPERH32 49 50config GENERIC_FIND_NEXT_BIT 51 def_bool y 52 53config GENERIC_HWEIGHT 54 def_bool y 55 56config GENERIC_HARDIRQS 57 def_bool y 58 59config GENERIC_HARDIRQS_NO__DO_IRQ 60 def_bool y 61 62config GENERIC_IRQ_PROBE 63 def_bool y 64 65config GENERIC_GPIO 66 def_bool n 67 68config GENERIC_CALIBRATE_DELAY 69 bool 70 71config GENERIC_IOMAP 72 bool 73 74config GENERIC_TIME 75 def_bool n 76 77config GENERIC_CLOCKEVENTS 78 def_bool n 79 80config GENERIC_CLOCKEVENTS_BROADCAST 81 bool 82 83config GENERIC_LOCKBREAK 84 def_bool y 85 depends on SMP && PREEMPT 86 87config SYS_SUPPORTS_PM 88 bool 89 depends on !SMP 90 91config ARCH_SUSPEND_POSSIBLE 92 def_bool n 93 94config ARCH_HIBERNATION_POSSIBLE 95 def_bool n 96 97config SYS_SUPPORTS_APM_EMULATION 98 bool 99 select ARCH_SUSPEND_POSSIBLE 100 101config SYS_SUPPORTS_SMP 102 bool 103 104config SYS_SUPPORTS_NUMA 105 bool 106 107config SYS_SUPPORTS_PCI 108 bool 109 110config STACKTRACE_SUPPORT 111 def_bool y 112 113config LOCKDEP_SUPPORT 114 def_bool y 115 116config HAVE_LATENCYTOP_SUPPORT 117 def_bool y 118 depends on !SMP 119 120config ARCH_HAS_ILOG2_U32 121 def_bool n 122 123config ARCH_HAS_ILOG2_U64 124 def_bool n 125 126config ARCH_NO_VIRT_TO_BUS 127 def_bool y 128 129config IO_TRAPPED 130 bool 131 132source "init/Kconfig" 133 134source "kernel/Kconfig.freezer" 135 136menu "System type" 137 138# 139# Processor families 140# 141config CPU_SH2 142 bool 143 144config CPU_SH2A 145 bool 146 select CPU_SH2 147 148config CPU_SH3 149 bool 150 select CPU_HAS_INTEVT 151 select CPU_HAS_SR_RB 152 153config CPU_SH4 154 bool 155 select CPU_HAS_INTEVT 156 select CPU_HAS_SR_RB 157 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2 158 select CPU_HAS_FPU if !CPU_SH4AL_DSP 159 160config CPU_SH4A 161 bool 162 select CPU_SH4 163 164config CPU_SH4AL_DSP 165 bool 166 select CPU_SH4A 167 select CPU_HAS_DSP 168 169config CPU_SH5 170 bool 171 select CPU_HAS_FPU 172 173config CPU_SHX2 174 bool 175 176config CPU_SHX3 177 bool 178 179choice 180 prompt "Processor sub-type selection" 181 182# 183# Processor subtypes 184# 185 186# SH-2 Processor Support 187 188config CPU_SUBTYPE_SH7619 189 bool "Support SH7619 processor" 190 select CPU_SH2 191 192# SH-2A Processor Support 193 194config CPU_SUBTYPE_SH7201 195 bool "Support SH7201 processor" 196 select CPU_SH2A 197 select CPU_HAS_FPU 198 199config CPU_SUBTYPE_SH7203 200 bool "Support SH7203 processor" 201 select CPU_SH2A 202 select CPU_HAS_FPU 203 204config CPU_SUBTYPE_SH7206 205 bool "Support SH7206 processor" 206 select CPU_SH2A 207 208config CPU_SUBTYPE_SH7263 209 bool "Support SH7263 processor" 210 select CPU_SH2A 211 select CPU_HAS_FPU 212 213config CPU_SUBTYPE_MXG 214 bool "Support MX-G processor" 215 select CPU_SH2A 216 help 217 Select MX-G if running on an R8A03022BG part. 218 219# SH-3 Processor Support 220 221config CPU_SUBTYPE_SH7705 222 bool "Support SH7705 processor" 223 select CPU_SH3 224 225config CPU_SUBTYPE_SH7706 226 bool "Support SH7706 processor" 227 select CPU_SH3 228 help 229 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU. 230 231config CPU_SUBTYPE_SH7707 232 bool "Support SH7707 processor" 233 select CPU_SH3 234 help 235 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU. 236 237config CPU_SUBTYPE_SH7708 238 bool "Support SH7708 processor" 239 select CPU_SH3 240 help 241 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or 242 if you have a 100 Mhz SH-3 HD6417708R CPU. 243 244config CPU_SUBTYPE_SH7709 245 bool "Support SH7709 processor" 246 select CPU_SH3 247 help 248 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU. 249 250config CPU_SUBTYPE_SH7710 251 bool "Support SH7710 processor" 252 select CPU_SH3 253 select CPU_HAS_DSP 254 help 255 Select SH7710 if you have a SH3-DSP SH7710 CPU. 256 257config CPU_SUBTYPE_SH7712 258 bool "Support SH7712 processor" 259 select CPU_SH3 260 select CPU_HAS_DSP 261 help 262 Select SH7712 if you have a SH3-DSP SH7712 CPU. 263 264config CPU_SUBTYPE_SH7720 265 bool "Support SH7720 processor" 266 select CPU_SH3 267 select CPU_HAS_DSP 268 help 269 Select SH7720 if you have a SH3-DSP SH7720 CPU. 270 271config CPU_SUBTYPE_SH7721 272 bool "Support SH7721 processor" 273 select CPU_SH3 274 select CPU_HAS_DSP 275 help 276 Select SH7721 if you have a SH3-DSP SH7721 CPU. 277 278# SH-4 Processor Support 279 280config CPU_SUBTYPE_SH7750 281 bool "Support SH7750 processor" 282 select CPU_SH4 283 help 284 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. 285 286config CPU_SUBTYPE_SH7091 287 bool "Support SH7091 processor" 288 select CPU_SH4 289 help 290 Select SH7091 if you have an SH-4 based Sega device (such as 291 the Dreamcast, Naomi, and Naomi 2). 292 293config CPU_SUBTYPE_SH7750R 294 bool "Support SH7750R processor" 295 select CPU_SH4 296 297config CPU_SUBTYPE_SH7750S 298 bool "Support SH7750S processor" 299 select CPU_SH4 300 301config CPU_SUBTYPE_SH7751 302 bool "Support SH7751 processor" 303 select CPU_SH4 304 help 305 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, 306 or if you have a HD6417751R CPU. 307 308config CPU_SUBTYPE_SH7751R 309 bool "Support SH7751R processor" 310 select CPU_SH4 311 312config CPU_SUBTYPE_SH7760 313 bool "Support SH7760 processor" 314 select CPU_SH4 315 316config CPU_SUBTYPE_SH4_202 317 bool "Support SH4-202 processor" 318 select CPU_SH4 319 320# SH-4A Processor Support 321 322config CPU_SUBTYPE_SH7723 323 bool "Support SH7723 processor" 324 select CPU_SH4A 325 select CPU_SHX2 326 select ARCH_SPARSEMEM_ENABLE 327 help 328 Select SH7723 if you have an SH-MobileR2 CPU. 329 330config CPU_SUBTYPE_SH7763 331 bool "Support SH7763 processor" 332 select CPU_SH4A 333 help 334 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU. 335 336config CPU_SUBTYPE_SH7770 337 bool "Support SH7770 processor" 338 select CPU_SH4A 339 340config CPU_SUBTYPE_SH7780 341 bool "Support SH7780 processor" 342 select CPU_SH4A 343 344config CPU_SUBTYPE_SH7785 345 bool "Support SH7785 processor" 346 select CPU_SH4A 347 select CPU_SHX2 348 select ARCH_SPARSEMEM_ENABLE 349 select SYS_SUPPORTS_NUMA 350 351config CPU_SUBTYPE_SHX3 352 bool "Support SH-X3 processor" 353 select CPU_SH4A 354 select CPU_SHX3 355 select ARCH_SPARSEMEM_ENABLE 356 select SYS_SUPPORTS_NUMA 357 select SYS_SUPPORTS_SMP 358 select GENERIC_CLOCKEVENTS_BROADCAST if SMP 359 360# SH4AL-DSP Processor Support 361 362config CPU_SUBTYPE_SH7343 363 bool "Support SH7343 processor" 364 select CPU_SH4AL_DSP 365 366config CPU_SUBTYPE_SH7722 367 bool "Support SH7722 processor" 368 select CPU_SH4AL_DSP 369 select CPU_SHX2 370 select ARCH_SPARSEMEM_ENABLE 371 select SYS_SUPPORTS_NUMA 372 373config CPU_SUBTYPE_SH7366 374 bool "Support SH7366 processor" 375 select CPU_SH4AL_DSP 376 select CPU_SHX2 377 select ARCH_SPARSEMEM_ENABLE 378 select SYS_SUPPORTS_NUMA 379 380# SH-5 Processor Support 381 382config CPU_SUBTYPE_SH5_101 383 bool "Support SH5-101 processor" 384 select CPU_SH5 385 386config CPU_SUBTYPE_SH5_103 387 bool "Support SH5-103 processor" 388 select CPU_SH5 389 390endchoice 391 392source "arch/sh/mm/Kconfig" 393 394source "arch/sh/Kconfig.cpu" 395 396source "arch/sh/boards/Kconfig" 397 398menu "Timer and clock configuration" 399 400config SH_TMU 401 def_bool y 402 prompt "TMU timer support" 403 depends on CPU_SH3 || CPU_SH4 404 select GENERIC_TIME 405 select GENERIC_CLOCKEVENTS 406 help 407 This enables the use of the TMU as the system timer. 408 409config SH_CMT 410 def_bool y 411 prompt "CMT timer support" 412 depends on CPU_SH2 && !CPU_SUBTYPE_MXG 413 help 414 This enables the use of the CMT as the system timer. 415 416config SH_MTU2 417 def_bool n 418 prompt "MTU2 timer support" 419 depends on CPU_SH2A 420 help 421 This enables the use of the MTU2 as the system timer. 422 423config SH_TIMER_IRQ 424 int 425 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \ 426 CPU_SUBTYPE_SH7763 427 default "86" if CPU_SUBTYPE_SH7619 428 default "140" if CPU_SUBTYPE_SH7206 429 default "142" if CPU_SUBTYPE_SH7203 430 default "238" if CPU_SUBTYPE_MXG 431 default "16" 432 433config SH_PCLK_FREQ 434 int "Peripheral clock frequency (in Hz)" 435 default "27000000" if CPU_SUBTYPE_SH7343 436 default "31250000" if CPU_SUBTYPE_SH7619 437 default "32000000" if CPU_SUBTYPE_SH7722 438 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \ 439 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ 440 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ 441 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG 442 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R 443 default "66000000" if CPU_SUBTYPE_SH4_202 444 default "50000000" 445 help 446 This option is used to specify the peripheral clock frequency. 447 This is necessary for determining the reference clock value on 448 platforms lacking an RTC. 449 450config SH_CLK_MD 451 int "CPU Mode Pin Setting" 452 depends on CPU_SH2 453 default 6 if CPU_SUBTYPE_SH7206 454 default 5 if CPU_SUBTYPE_SH7619 455 default 0 456 help 457 MD2 - MD0 pin setting. 458 459source "kernel/time/Kconfig" 460 461endmenu 462 463menu "CPU Frequency scaling" 464 465source "drivers/cpufreq/Kconfig" 466 467config SH_CPU_FREQ 468 tristate "SuperH CPU Frequency driver" 469 depends on CPU_FREQ 470 select CPU_FREQ_TABLE 471 help 472 This adds the cpufreq driver for SuperH. Any CPU that supports 473 clock rate rounding through the clock framework can use this 474 driver. While it will make the kernel slightly larger, this is 475 harmless for CPUs that don't support rate rounding. The driver 476 will also generate a notice in the boot log before disabling 477 itself if the CPU in question is not capable of rate rounding. 478 479 For details, take a look at <file:Documentation/cpu-freq>. 480 481 If unsure, say N. 482 483endmenu 484 485source "arch/sh/drivers/Kconfig" 486 487endmenu 488 489menu "Kernel features" 490 491source kernel/Kconfig.hz 492 493config KEXEC 494 bool "kexec system call (EXPERIMENTAL)" 495 depends on SUPERH32 && EXPERIMENTAL 496 help 497 kexec is a system call that implements the ability to shutdown your 498 current kernel, and to start another kernel. It is like a reboot 499 but it is independent of the system firmware. And like a reboot 500 you can start any kernel with it, not just Linux. 501 502 The name comes from the similarity to the exec system call. 503 504 It is an ongoing process to be certain the hardware in a machine 505 is properly shutdown, so do not be surprised if this code does not 506 initially work for you. It may help to enable device hotplugging 507 support. As of this writing the exact hardware interface is 508 strongly in flux, so no good recommendation can be made. 509 510config CRASH_DUMP 511 bool "kernel crash dumps (EXPERIMENTAL)" 512 depends on SUPERH32 && EXPERIMENTAL 513 help 514 Generate crash dump after being started by kexec. 515 This should be normally only set in special crash dump kernels 516 which are loaded in the main kernel with kexec-tools into 517 a specially reserved region and then later executed after 518 a crash by kdump/kexec. The crash dump kernel must be compiled 519 to a memory address not used by the main kernel using 520 MEMORY_START. 521 522 For more details see Documentation/kdump/kdump.txt 523 524config SECCOMP 525 bool "Enable seccomp to safely compute untrusted bytecode" 526 depends on PROC_FS 527 help 528 This kernel feature is useful for number crunching applications 529 that may need to compute untrusted bytecode during their 530 execution. By using pipes or other transports made available to 531 the process as file descriptors supporting the read/write 532 syscalls, it's possible to isolate those applications in 533 their own address space using seccomp. Once seccomp is 534 enabled via prctl, it cannot be disabled and the task is only 535 allowed to execute a few safe syscalls defined by each seccomp 536 mode. 537 538 If unsure, say N. 539 540config SMP 541 bool "Symmetric multi-processing support" 542 depends on SYS_SUPPORTS_SMP 543 select USE_GENERIC_SMP_HELPERS 544 ---help--- 545 This enables support for systems with more than one CPU. If you have 546 a system with only one CPU, like most personal computers, say N. If 547 you have a system with more than one CPU, say Y. 548 549 If you say N here, the kernel will run on single and multiprocessor 550 machines, but will use only one CPU of a multiprocessor machine. If 551 you say Y here, the kernel will run on many, but not all, 552 singleprocessor machines. On a singleprocessor machine, the kernel 553 will run faster if you say N here. 554 555 People using multiprocessor machines who say Y here should also say 556 Y to "Enhanced Real Time Clock Support", below. 557 558 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO 559 available at <http://www.tldp.org/docs.html#howto>. 560 561 If you don't know what to do here, say N. 562 563config NR_CPUS 564 int "Maximum number of CPUs (2-32)" 565 range 2 32 566 depends on SMP 567 default "4" if CPU_SHX3 568 default "2" 569 help 570 This allows you to specify the maximum number of CPUs which this 571 kernel will support. The maximum supported value is 32 and the 572 minimum value which makes sense is 2. 573 574 This is purely to save memory - each supported CPU adds 575 approximately eight kilobytes to the kernel image. 576 577source "kernel/Kconfig.preempt" 578 579config GUSA 580 def_bool y 581 depends on !SMP && SUPERH32 582 help 583 This enables support for gUSA (general UserSpace Atomicity). 584 This is the default implementation for both UP and non-ll/sc 585 CPUs, and is used by the libc, amongst others. 586 587 For additional information, design information can be found 588 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>. 589 590 This should only be disabled for special cases where alternate 591 atomicity implementations exist. 592 593config GUSA_RB 594 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)" 595 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A) 596 help 597 Enabling this option will allow the kernel to implement some 598 atomic operations using a software implemention of load-locked/ 599 store-conditional (LLSC). On machines which do not have hardware 600 LLSC, this should be more efficient than the other alternative of 601 disabling insterrupts around the atomic sequence. 602 603endmenu 604 605menu "Boot options" 606 607config ZERO_PAGE_OFFSET 608 hex "Zero page offset" 609 default "0x00004000" if SH_SH03 610 default "0x00010000" if PAGE_SIZE_64KB 611 default "0x00002000" if PAGE_SIZE_8KB 612 default "0x00001000" 613 help 614 This sets the default offset of zero page. 615 616config BOOT_LINK_OFFSET 617 hex "Link address offset for booting" 618 default "0x00800000" 619 help 620 This option allows you to set the link address offset of the zImage. 621 This can be useful if you are on a board which has a small amount of 622 memory. 623 624config UBC_WAKEUP 625 bool "Wakeup UBC on startup" 626 depends on CPU_SH4 && !CPU_SH4A 627 help 628 Selecting this option will wakeup the User Break Controller (UBC) on 629 startup. Although the UBC is left in an awake state when the processor 630 comes up, some boot loaders misbehave by putting the UBC to sleep in a 631 power saving state, which causes issues with things like ptrace(). 632 633 If unsure, say N. 634 635config CMDLINE_BOOL 636 bool "Default bootloader kernel arguments" 637 638config CMDLINE 639 string "Initial kernel command string" 640 depends on CMDLINE_BOOL 641 default "console=ttySC1,115200" 642 643endmenu 644 645menu "Bus options" 646 647config SUPERHYWAY 648 tristate "SuperHyway Bus support" 649 depends on CPU_SUBTYPE_SH4_202 650 651config MAPLE 652 bool "Maple Bus support" 653 depends on SH_DREAMCAST 654 help 655 The Maple Bus is SEGA's serial communication bus for peripherals 656 on the Dreamcast. Without this bus support you won't be able to 657 get your Dreamcast keyboard etc to work, so most users 658 probably want to say 'Y' here, unless you are only using the 659 Dreamcast with a serial line terminal or a remote network 660 connection. 661 662source "arch/sh/drivers/pci/Kconfig" 663 664source "drivers/pci/pcie/Kconfig" 665 666source "drivers/pci/Kconfig" 667 668source "drivers/pcmcia/Kconfig" 669 670source "drivers/pci/hotplug/Kconfig" 671 672endmenu 673 674menu "Executable file formats" 675 676source "fs/Kconfig.binfmt" 677 678endmenu 679 680menu "Power management options (EXPERIMENTAL)" 681depends on EXPERIMENTAL 682 683source "kernel/power/Kconfig" 684 685source "drivers/cpuidle/Kconfig" 686 687endmenu 688 689source "net/Kconfig" 690 691source "drivers/Kconfig" 692 693source "fs/Kconfig" 694 695source "arch/sh/Kconfig.debug" 696 697source "security/Kconfig" 698 699source "crypto/Kconfig" 700 701source "lib/Kconfig" 702