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