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