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