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