2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
14 select HAVE_GENERIC_DMA_COHERENT
15 select HAVE_IOREMAP_PROT if MMU
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/>.
25 select HAVE_KRETPROBES
26 select HAVE_ARCH_TRACEHOOK
27 select HAVE_FUNCTION_TRACER
34 default "arch/sh/configs/shx3_defconfig" if SUPERH32
35 default "arch/sh/configs/cayman_defconfig" if SUPERH64
37 config RWSEM_GENERIC_SPINLOCK
40 config RWSEM_XCHGADD_ALGORITHM
45 depends on BUG && SUPERH32
47 config GENERIC_FIND_NEXT_BIT
50 config GENERIC_HWEIGHT
53 config GENERIC_HARDIRQS
56 config GENERIC_HARDIRQS_NO__DO_IRQ
58 depends on SUPERH32 && (!SH_DREAMCAST && !SH_SH4202_MICRODEV && \
59 !SH_7751_SYSTEMH && !HD64461)
61 config GENERIC_IRQ_PROBE
67 config GENERIC_CALIBRATE_DELAY
76 config GENERIC_CLOCKEVENTS
79 config GENERIC_CLOCKEVENTS_BROADCAST
82 config GENERIC_LOCKBREAK
84 depends on SMP && PREEMPT
86 config SYS_SUPPORTS_PM
89 config SYS_SUPPORTS_APM_EMULATION
91 select SYS_SUPPORTS_PM
93 config SYS_SUPPORTS_SMP
96 config SYS_SUPPORTS_NUMA
99 config SYS_SUPPORTS_PCI
102 config STACKTRACE_SUPPORT
105 config LOCKDEP_SUPPORT
108 config HAVE_LATENCYTOP_SUPPORT
112 config ARCH_HAS_ILOG2_U32
115 config ARCH_HAS_ILOG2_U64
118 config ARCH_NO_VIRT_TO_BUS
124 source "init/Kconfig"
126 source "kernel/Kconfig.freezer"
142 select CPU_HAS_INTEVT
147 select CPU_HAS_INTEVT
149 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
150 select CPU_HAS_FPU if !CPU_SH4AL_DSP
172 prompt "Processor sub-type selection"
178 # SH-2 Processor Support
180 config CPU_SUBTYPE_SH7619
181 bool "Support SH7619 processor"
184 # SH-2A Processor Support
186 config CPU_SUBTYPE_SH7203
187 bool "Support SH7203 processor"
191 config CPU_SUBTYPE_SH7206
192 bool "Support SH7206 processor"
195 config CPU_SUBTYPE_SH7263
196 bool "Support SH7263 processor"
200 config CPU_SUBTYPE_MXG
201 bool "Support MX-G processor"
204 Select MX-G if running on an R8A03022BG part.
206 # SH-3 Processor Support
208 config CPU_SUBTYPE_SH7705
209 bool "Support SH7705 processor"
212 config CPU_SUBTYPE_SH7706
213 bool "Support SH7706 processor"
216 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
218 config CPU_SUBTYPE_SH7707
219 bool "Support SH7707 processor"
222 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
224 config CPU_SUBTYPE_SH7708
225 bool "Support SH7708 processor"
228 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
229 if you have a 100 Mhz SH-3 HD6417708R CPU.
231 config CPU_SUBTYPE_SH7709
232 bool "Support SH7709 processor"
235 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
237 config CPU_SUBTYPE_SH7710
238 bool "Support SH7710 processor"
242 Select SH7710 if you have a SH3-DSP SH7710 CPU.
244 config CPU_SUBTYPE_SH7712
245 bool "Support SH7712 processor"
249 Select SH7712 if you have a SH3-DSP SH7712 CPU.
251 config CPU_SUBTYPE_SH7720
252 bool "Support SH7720 processor"
256 Select SH7720 if you have a SH3-DSP SH7720 CPU.
258 config CPU_SUBTYPE_SH7721
259 bool "Support SH7721 processor"
263 Select SH7721 if you have a SH3-DSP SH7721 CPU.
265 # SH-4 Processor Support
267 config CPU_SUBTYPE_SH7750
268 bool "Support SH7750 processor"
271 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
273 config CPU_SUBTYPE_SH7091
274 bool "Support SH7091 processor"
277 Select SH7091 if you have an SH-4 based Sega device (such as
278 the Dreamcast, Naomi, and Naomi 2).
280 config CPU_SUBTYPE_SH7750R
281 bool "Support SH7750R processor"
284 config CPU_SUBTYPE_SH7750S
285 bool "Support SH7750S processor"
288 config CPU_SUBTYPE_SH7751
289 bool "Support SH7751 processor"
292 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
293 or if you have a HD6417751R CPU.
295 config CPU_SUBTYPE_SH7751R
296 bool "Support SH7751R processor"
299 config CPU_SUBTYPE_SH7760
300 bool "Support SH7760 processor"
303 config CPU_SUBTYPE_SH4_202
304 bool "Support SH4-202 processor"
307 # SH-4A Processor Support
309 config CPU_SUBTYPE_SH7723
310 bool "Support SH7723 processor"
313 select ARCH_SPARSEMEM_ENABLE
315 Select SH7723 if you have an SH-MobileR2 CPU.
317 config CPU_SUBTYPE_SH7763
318 bool "Support SH7763 processor"
321 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
323 config CPU_SUBTYPE_SH7770
324 bool "Support SH7770 processor"
327 config CPU_SUBTYPE_SH7780
328 bool "Support SH7780 processor"
331 config CPU_SUBTYPE_SH7785
332 bool "Support SH7785 processor"
335 select ARCH_SPARSEMEM_ENABLE
336 select SYS_SUPPORTS_NUMA
338 config CPU_SUBTYPE_SHX3
339 bool "Support SH-X3 processor"
342 select ARCH_SPARSEMEM_ENABLE
343 select SYS_SUPPORTS_NUMA
344 select SYS_SUPPORTS_SMP
345 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
347 # SH4AL-DSP Processor Support
349 config CPU_SUBTYPE_SH7343
350 bool "Support SH7343 processor"
353 config CPU_SUBTYPE_SH7722
354 bool "Support SH7722 processor"
357 select ARCH_SPARSEMEM_ENABLE
358 select SYS_SUPPORTS_NUMA
360 config CPU_SUBTYPE_SH7366
361 bool "Support SH7366 processor"
364 select ARCH_SPARSEMEM_ENABLE
365 select SYS_SUPPORTS_NUMA
367 # SH-5 Processor Support
369 config CPU_SUBTYPE_SH5_101
370 bool "Support SH5-101 processor"
373 config CPU_SUBTYPE_SH5_103
374 bool "Support SH5-103 processor"
379 source "arch/sh/mm/Kconfig"
381 source "arch/sh/Kconfig.cpu"
383 source "arch/sh/boards/Kconfig"
385 menu "Timer and clock configuration"
389 prompt "TMU timer support"
390 depends on CPU_SH3 || CPU_SH4
392 select GENERIC_CLOCKEVENTS
394 This enables the use of the TMU as the system timer.
398 prompt "CMT timer support"
399 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
401 This enables the use of the CMT as the system timer.
405 prompt "MTU2 timer support"
408 This enables the use of the MTU2 as the system timer.
412 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
414 default "86" if CPU_SUBTYPE_SH7619
415 default "140" if CPU_SUBTYPE_SH7206
416 default "142" if CPU_SUBTYPE_SH7203
417 default "238" if CPU_SUBTYPE_MXG
421 int "Peripheral clock frequency (in Hz)"
422 default "27000000" if CPU_SUBTYPE_SH7343
423 default "31250000" if CPU_SUBTYPE_SH7619
424 default "32000000" if CPU_SUBTYPE_SH7722
425 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
426 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
427 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
428 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
429 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
430 default "66000000" if CPU_SUBTYPE_SH4_202
433 This option is used to specify the peripheral clock frequency.
434 This is necessary for determining the reference clock value on
435 platforms lacking an RTC.
438 int "CPU Mode Pin Setting"
440 default 6 if CPU_SUBTYPE_SH7206
441 default 5 if CPU_SUBTYPE_SH7619
444 MD2 - MD0 pin setting.
446 source "kernel/time/Kconfig"
450 menu "CPU Frequency scaling"
452 source "drivers/cpufreq/Kconfig"
455 tristate "SuperH CPU Frequency driver"
457 select CPU_FREQ_TABLE
459 This adds the cpufreq driver for SuperH. At present, only
460 the SH-4 is supported.
462 For details, take a look at <file:Documentation/cpu-freq>.
468 source "arch/sh/drivers/Kconfig"
475 menu "Kernel features"
477 source kernel/Kconfig.hz
480 bool "kexec system call (EXPERIMENTAL)"
481 depends on SUPERH32 && EXPERIMENTAL
483 kexec is a system call that implements the ability to shutdown your
484 current kernel, and to start another kernel. It is like a reboot
485 but it is independent of the system firmware. And like a reboot
486 you can start any kernel with it, not just Linux.
488 The name comes from the similarity to the exec system call.
490 It is an ongoing process to be certain the hardware in a machine
491 is properly shutdown, so do not be surprised if this code does not
492 initially work for you. It may help to enable device hotplugging
493 support. As of this writing the exact hardware interface is
494 strongly in flux, so no good recommendation can be made.
497 bool "kernel crash dumps (EXPERIMENTAL)"
498 depends on SUPERH32 && EXPERIMENTAL
500 Generate crash dump after being started by kexec.
501 This should be normally only set in special crash dump kernels
502 which are loaded in the main kernel with kexec-tools into
503 a specially reserved region and then later executed after
504 a crash by kdump/kexec. The crash dump kernel must be compiled
505 to a memory address not used by the main kernel using
508 For more details see Documentation/kdump/kdump.txt
511 bool "Enable seccomp to safely compute untrusted bytecode"
514 This kernel feature is useful for number crunching applications
515 that may need to compute untrusted bytecode during their
516 execution. By using pipes or other transports made available to
517 the process as file descriptors supporting the read/write
518 syscalls, it's possible to isolate those applications in
519 their own address space using seccomp. Once seccomp is
520 enabled via prctl, it cannot be disabled and the task is only
521 allowed to execute a few safe syscalls defined by each seccomp
527 bool "Symmetric multi-processing support"
528 depends on SYS_SUPPORTS_SMP
529 select USE_GENERIC_SMP_HELPERS
531 This enables support for systems with more than one CPU. If you have
532 a system with only one CPU, like most personal computers, say N. If
533 you have a system with more than one CPU, say Y.
535 If you say N here, the kernel will run on single and multiprocessor
536 machines, but will use only one CPU of a multiprocessor machine. If
537 you say Y here, the kernel will run on many, but not all,
538 singleprocessor machines. On a singleprocessor machine, the kernel
539 will run faster if you say N here.
541 People using multiprocessor machines who say Y here should also say
542 Y to "Enhanced Real Time Clock Support", below.
544 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
545 available at <http://www.tldp.org/docs.html#howto>.
547 If you don't know what to do here, say N.
550 int "Maximum number of CPUs (2-32)"
553 default "4" if CPU_SHX3
556 This allows you to specify the maximum number of CPUs which this
557 kernel will support. The maximum supported value is 32 and the
558 minimum value which makes sense is 2.
560 This is purely to save memory - each supported CPU adds
561 approximately eight kilobytes to the kernel image.
563 source "kernel/Kconfig.preempt"
567 depends on !SMP && SUPERH32
569 This enables support for gUSA (general UserSpace Atomicity).
570 This is the default implementation for both UP and non-ll/sc
571 CPUs, and is used by the libc, amongst others.
573 For additional information, design information can be found
574 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
576 This should only be disabled for special cases where alternate
577 atomicity implementations exist.
580 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
581 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
583 Enabling this option will allow the kernel to implement some
584 atomic operations using a software implemention of load-locked/
585 store-conditional (LLSC). On machines which do not have hardware
586 LLSC, this should be more efficient than the other alternative of
587 disabling insterrupts around the atomic sequence.
593 config ZERO_PAGE_OFFSET
594 hex "Zero page offset"
595 default "0x00004000" if SH_SH03
596 default "0x00010000" if PAGE_SIZE_64KB
597 default "0x00002000" if PAGE_SIZE_8KB
600 This sets the default offset of zero page.
602 config BOOT_LINK_OFFSET
603 hex "Link address offset for booting"
606 This option allows you to set the link address offset of the zImage.
607 This can be useful if you are on a board which has a small amount of
611 bool "Wakeup UBC on startup"
612 depends on CPU_SH4 && !CPU_SH4A
614 Selecting this option will wakeup the User Break Controller (UBC) on
615 startup. Although the UBC is left in an awake state when the processor
616 comes up, some boot loaders misbehave by putting the UBC to sleep in a
617 power saving state, which causes issues with things like ptrace().
622 bool "Default bootloader kernel arguments"
625 string "Initial kernel command string"
626 depends on CMDLINE_BOOL
627 default "console=ttySC1,115200"
633 # Even on SuperH devices which don't have an ISA bus,
634 # this variable helps the PCMCIA modules handle
635 # IRQ requesting properly -- Greg Banks.
637 # Though we're generally not interested in it when
638 # we're not using PCMCIA, so we make it dependent on
639 # PCMCIA outright. -- PFM.
642 depends on PCMCIA && HD6446X_SERIES
644 Find out whether you have ISA slots on your motherboard. ISA is the
645 name of a bus system, i.e. the way the CPU talks to the other stuff
646 inside your box. Other bus systems are PCI, EISA, MicroChannel
647 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
648 newer boards don't support it. If you have ISA, say Y, otherwise N.
653 The Extended Industry Standard Architecture (EISA) bus was
654 developed as an open alternative to the IBM MicroChannel bus.
656 The EISA bus provided some of the features of the IBM MicroChannel
657 bus while maintaining backward compatibility with cards made for
658 the older ISA bus. The EISA bus saw limited use between 1988 and
659 1995 when it was made obsolete by the PCI bus.
661 Say Y here if you are building a kernel for an EISA-based machine.
668 MicroChannel Architecture is found in some IBM PS/2 machines and
669 laptops. It is a bus system similar to PCI or ISA. See
670 <file:Documentation/mca.txt> (and especially the web page given
671 there) before attempting to build an MCA bus kernel.
677 tristate "SuperHyway Bus support"
678 depends on CPU_SUBTYPE_SH4_202
681 bool "Maple Bus support"
682 depends on SH_DREAMCAST
684 The Maple Bus is SEGA's serial communication bus for peripherals
685 on the Dreamcast. Without this bus support you won't be able to
686 get your Dreamcast keyboard etc to work, so most users
687 probably want to say 'Y' here, unless you are only using the
688 Dreamcast with a serial line terminal or a remote network
692 bool "Compact Flash Enabler support"
693 depends on SOLUTION_ENGINE || SH_SH03
695 Compact Flash is a small, removable mass storage device introduced
696 in 1994 originally as a PCMCIA device. If you say `Y' here, you
697 compile in support for Compact Flash devices directly connected to
698 a SuperH processor. A Compact Flash FAQ is available at
699 <http://www.compactflash.org/faqs/faq.htm>.
701 If your board has "Directly Connected" CompactFlash at area 5 or 6,
702 you may want to enable this option. Then, you can use CF as
703 primary IDE drive (only tested for SanDisk).
705 If in doubt, select 'N'.
708 prompt "Compact Flash Connection Area"
709 depends on CF_ENABLER
715 If your board has "Directly Connected" CompactFlash, You should
716 select the area where your CF is connected to.
718 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
719 - "Area6" if it is connected to Area 6 (0x18000000)
721 "Area6" will work for most boards.
730 depends on CF_ENABLER
731 default "0xb8000000" if CF_AREA6
732 default "0xb4000000" if CF_AREA5
734 source "arch/sh/drivers/pci/Kconfig"
736 source "drivers/pci/Kconfig"
738 source "drivers/pcmcia/Kconfig"
740 source "drivers/pci/hotplug/Kconfig"
744 menu "Executable file formats"
746 source "fs/Kconfig.binfmt"
750 menu "Power management options (EXPERIMENTAL)"
751 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
753 config ARCH_SUSPEND_POSSIBLE
757 source kernel/power/Kconfig
763 source "drivers/Kconfig"
767 source "arch/sh/Kconfig.debug"
769 source "security/Kconfig"
771 source "crypto/Kconfig"