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