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