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