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
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 if !SH_FPU
30 select GENERIC_CALIBRATE_DELAY
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
59 config GENERIC_IRQ_PROBE
62 config GENERIC_CALIBRATE_DELAY
71 config GENERIC_CLOCKEVENTS
74 config GENERIC_CLOCKEVENTS_BROADCAST
77 config GENERIC_LOCKBREAK
79 depends on SMP && PREEMPT
81 config SYS_SUPPORTS_PM
84 config SYS_SUPPORTS_APM_EMULATION
86 select SYS_SUPPORTS_PM
88 config SYS_SUPPORTS_SMP
91 config SYS_SUPPORTS_NUMA
94 config SYS_SUPPORTS_PCI
97 config STACKTRACE_SUPPORT
100 config LOCKDEP_SUPPORT
103 config HAVE_LATENCYTOP_SUPPORT
107 config ARCH_HAS_ILOG2_U32
110 config ARCH_HAS_ILOG2_U64
113 config ARCH_NO_VIRT_TO_BUS
119 source "init/Kconfig"
135 select CPU_HAS_INTEVT
140 select CPU_HAS_INTEVT
142 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
143 select CPU_HAS_FPU if !CPU_SH4AL_DSP
165 prompt "Processor sub-type selection"
171 # SH-2 Processor Support
173 config CPU_SUBTYPE_SH7619
174 bool "Support SH7619 processor"
177 # SH-2A Processor Support
179 config CPU_SUBTYPE_SH7203
180 bool "Support SH7203 processor"
184 config CPU_SUBTYPE_SH7206
185 bool "Support SH7206 processor"
188 config CPU_SUBTYPE_SH7263
189 bool "Support SH7263 processor"
193 config CPU_SUBTYPE_MXG
194 bool "Support MX-G processor"
197 Select MX-G if running on an R8A03022BG part.
199 # SH-3 Processor Support
201 config CPU_SUBTYPE_SH7705
202 bool "Support SH7705 processor"
205 config CPU_SUBTYPE_SH7706
206 bool "Support SH7706 processor"
209 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
211 config CPU_SUBTYPE_SH7707
212 bool "Support SH7707 processor"
215 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
217 config CPU_SUBTYPE_SH7708
218 bool "Support SH7708 processor"
221 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
222 if you have a 100 Mhz SH-3 HD6417708R CPU.
224 config CPU_SUBTYPE_SH7709
225 bool "Support SH7709 processor"
228 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
230 config CPU_SUBTYPE_SH7710
231 bool "Support SH7710 processor"
235 Select SH7710 if you have a SH3-DSP SH7710 CPU.
237 config CPU_SUBTYPE_SH7712
238 bool "Support SH7712 processor"
242 Select SH7712 if you have a SH3-DSP SH7712 CPU.
244 config CPU_SUBTYPE_SH7720
245 bool "Support SH7720 processor"
249 Select SH7720 if you have a SH3-DSP SH7720 CPU.
251 config CPU_SUBTYPE_SH7721
252 bool "Support SH7721 processor"
256 Select SH7721 if you have a SH3-DSP SH7721 CPU.
258 # SH-4 Processor Support
260 config CPU_SUBTYPE_SH7750
261 bool "Support SH7750 processor"
264 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
266 config CPU_SUBTYPE_SH7091
267 bool "Support SH7091 processor"
270 Select SH7091 if you have an SH-4 based Sega device (such as
271 the Dreamcast, Naomi, and Naomi 2).
273 config CPU_SUBTYPE_SH7750R
274 bool "Support SH7750R processor"
277 config CPU_SUBTYPE_SH7750S
278 bool "Support SH7750S processor"
281 config CPU_SUBTYPE_SH7751
282 bool "Support SH7751 processor"
285 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
286 or if you have a HD6417751R CPU.
288 config CPU_SUBTYPE_SH7751R
289 bool "Support SH7751R processor"
292 config CPU_SUBTYPE_SH7760
293 bool "Support SH7760 processor"
296 config CPU_SUBTYPE_SH4_202
297 bool "Support SH4-202 processor"
300 # SH-4A Processor Support
302 config CPU_SUBTYPE_SH7723
303 bool "Support SH7723 processor"
306 select ARCH_SPARSEMEM_ENABLE
308 Select SH7723 if you have an SH-MobileR2 CPU.
310 config CPU_SUBTYPE_SH7763
311 bool "Support SH7763 processor"
314 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
316 config CPU_SUBTYPE_SH7770
317 bool "Support SH7770 processor"
320 config CPU_SUBTYPE_SH7780
321 bool "Support SH7780 processor"
324 config CPU_SUBTYPE_SH7785
325 bool "Support SH7785 processor"
328 select ARCH_SPARSEMEM_ENABLE
329 select SYS_SUPPORTS_NUMA
331 config CPU_SUBTYPE_SHX3
332 bool "Support SH-X3 processor"
335 select ARCH_SPARSEMEM_ENABLE
336 select SYS_SUPPORTS_NUMA
337 select SYS_SUPPORTS_SMP
338 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
340 # SH4AL-DSP Processor Support
342 config CPU_SUBTYPE_SH7343
343 bool "Support SH7343 processor"
346 config CPU_SUBTYPE_SH7722
347 bool "Support SH7722 processor"
350 select ARCH_SPARSEMEM_ENABLE
351 select SYS_SUPPORTS_NUMA
353 config CPU_SUBTYPE_SH7366
354 bool "Support SH7366 processor"
357 select ARCH_SPARSEMEM_ENABLE
358 select SYS_SUPPORTS_NUMA
360 # SH-5 Processor Support
362 config CPU_SUBTYPE_SH5_101
363 bool "Support SH5-101 processor"
366 config CPU_SUBTYPE_SH5_103
367 bool "Support SH5-103 processor"
372 source "arch/sh/mm/Kconfig"
374 source "arch/sh/Kconfig.cpu"
376 source "arch/sh/boards/Kconfig"
378 menu "Timer and clock configuration"
382 prompt "TMU timer support"
383 depends on CPU_SH3 || CPU_SH4
385 select GENERIC_CLOCKEVENTS
387 This enables the use of the TMU as the system timer.
391 prompt "CMT timer support"
392 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
394 This enables the use of the CMT as the system timer.
398 prompt "MTU2 timer support"
401 This enables the use of the MTU2 as the system timer.
405 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
407 default "86" if CPU_SUBTYPE_SH7619
408 default "140" if CPU_SUBTYPE_SH7206
409 default "142" if CPU_SUBTYPE_SH7203
410 default "238" if CPU_SUBTYPE_MXG
414 int "Peripheral clock frequency (in Hz)"
415 default "27000000" if CPU_SUBTYPE_SH7343
416 default "31250000" if CPU_SUBTYPE_SH7619
417 default "32000000" if CPU_SUBTYPE_SH7722
418 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
419 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
420 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
421 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
422 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
423 default "66000000" if CPU_SUBTYPE_SH4_202
426 This option is used to specify the peripheral clock frequency.
427 This is necessary for determining the reference clock value on
428 platforms lacking an RTC.
431 int "CPU Mode Pin Setting"
433 default 6 if CPU_SUBTYPE_SH7206
434 default 5 if CPU_SUBTYPE_SH7619
437 MD2 - MD0 pin setting.
439 source "kernel/time/Kconfig"
443 menu "CPU Frequency scaling"
445 source "drivers/cpufreq/Kconfig"
448 tristate "SuperH CPU Frequency driver"
450 select CPU_FREQ_TABLE
452 This adds the cpufreq driver for SuperH. At present, only
453 the SH-4 is supported.
455 For details, take a look at <file:Documentation/cpu-freq>.
461 source "arch/sh/drivers/Kconfig"
468 menu "Kernel features"
470 source kernel/Kconfig.hz
473 bool "kexec system call (EXPERIMENTAL)"
474 depends on SUPERH32 && EXPERIMENTAL
476 kexec is a system call that implements the ability to shutdown your
477 current kernel, and to start another kernel. It is like a reboot
478 but it is independent of the system firmware. And like a reboot
479 you can start any kernel with it, not just Linux.
481 The name comes from the similarity to the exec system call.
483 It is an ongoing process to be certain the hardware in a machine
484 is properly shutdown, so do not be surprised if this code does not
485 initially work for you. It may help to enable device hotplugging
486 support. As of this writing the exact hardware interface is
487 strongly in flux, so no good recommendation can be made.
490 bool "kernel crash dumps (EXPERIMENTAL)"
491 depends on SUPERH32 && EXPERIMENTAL
493 Generate crash dump after being started by kexec.
494 This should be normally only set in special crash dump kernels
495 which are loaded in the main kernel with kexec-tools into
496 a specially reserved region and then later executed after
497 a crash by kdump/kexec. The crash dump kernel must be compiled
498 to a memory address not used by the main kernel using
501 For more details see Documentation/kdump/kdump.txt
504 bool "Enable seccomp to safely compute untrusted bytecode"
507 This kernel feature is useful for number crunching applications
508 that may need to compute untrusted bytecode during their
509 execution. By using pipes or other transports made available to
510 the process as file descriptors supporting the read/write
511 syscalls, it's possible to isolate those applications in
512 their own address space using seccomp. Once seccomp is
513 enabled via prctl, it cannot be disabled and the task is only
514 allowed to execute a few safe syscalls defined by each seccomp
520 bool "Symmetric multi-processing support"
521 depends on SYS_SUPPORTS_SMP
522 select USE_GENERIC_SMP_HELPERS
524 This enables support for systems with more than one CPU. If you have
525 a system with only one CPU, like most personal computers, say N. If
526 you have a system with more than one CPU, say Y.
528 If you say N here, the kernel will run on single and multiprocessor
529 machines, but will use only one CPU of a multiprocessor machine. If
530 you say Y here, the kernel will run on many, but not all,
531 singleprocessor machines. On a singleprocessor machine, the kernel
532 will run faster if you say N here.
534 People using multiprocessor machines who say Y here should also say
535 Y to "Enhanced Real Time Clock Support", below.
537 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
538 available at <http://www.tldp.org/docs.html#howto>.
540 If you don't know what to do here, say N.
543 int "Maximum number of CPUs (2-32)"
546 default "4" if CPU_SHX3
549 This allows you to specify the maximum number of CPUs which this
550 kernel will support. The maximum supported value is 32 and the
551 minimum value which makes sense is 2.
553 This is purely to save memory - each supported CPU adds
554 approximately eight kilobytes to the kernel image.
556 source "kernel/Kconfig.preempt"
560 depends on !SMP && SUPERH32
562 This enables support for gUSA (general UserSpace Atomicity).
563 This is the default implementation for both UP and non-ll/sc
564 CPUs, and is used by the libc, amongst others.
566 For additional information, design information can be found
567 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
569 This should only be disabled for special cases where alternate
570 atomicity implementations exist.
573 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
574 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
576 Enabling this option will allow the kernel to implement some
577 atomic operations using a software implemention of load-locked/
578 store-conditional (LLSC). On machines which do not have hardware
579 LLSC, this should be more efficient than the other alternative of
580 disabling insterrupts around the atomic sequence.
586 config ZERO_PAGE_OFFSET
587 hex "Zero page offset"
588 default "0x00004000" if SH_SH03
589 default "0x00010000" if PAGE_SIZE_64KB
590 default "0x00002000" if PAGE_SIZE_8KB
593 This sets the default offset of zero page.
595 config BOOT_LINK_OFFSET
596 hex "Link address offset for booting"
599 This option allows you to set the link address offset of the zImage.
600 This can be useful if you are on a board which has a small amount of
604 bool "Wakeup UBC on startup"
605 depends on CPU_SH4 && !CPU_SH4A
607 Selecting this option will wakeup the User Break Controller (UBC) on
608 startup. Although the UBC is left in an awake state when the processor
609 comes up, some boot loaders misbehave by putting the UBC to sleep in a
610 power saving state, which causes issues with things like ptrace().
615 bool "Default bootloader kernel arguments"
618 string "Initial kernel command string"
619 depends on CMDLINE_BOOL
620 default "console=ttySC1,115200"
626 # Even on SuperH devices which don't have an ISA bus,
627 # this variable helps the PCMCIA modules handle
628 # IRQ requesting properly -- Greg Banks.
630 # Though we're generally not interested in it when
631 # we're not using PCMCIA, so we make it dependent on
632 # PCMCIA outright. -- PFM.
635 depends on PCMCIA && HD6446X_SERIES
637 Find out whether you have ISA slots on your motherboard. ISA is the
638 name of a bus system, i.e. the way the CPU talks to the other stuff
639 inside your box. Other bus systems are PCI, EISA, MicroChannel
640 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
641 newer boards don't support it. If you have ISA, say Y, otherwise N.
646 The Extended Industry Standard Architecture (EISA) bus was
647 developed as an open alternative to the IBM MicroChannel bus.
649 The EISA bus provided some of the features of the IBM MicroChannel
650 bus while maintaining backward compatibility with cards made for
651 the older ISA bus. The EISA bus saw limited use between 1988 and
652 1995 when it was made obsolete by the PCI bus.
654 Say Y here if you are building a kernel for an EISA-based machine.
661 MicroChannel Architecture is found in some IBM PS/2 machines and
662 laptops. It is a bus system similar to PCI or ISA. See
663 <file:Documentation/mca.txt> (and especially the web page given
664 there) before attempting to build an MCA bus kernel.
670 tristate "SuperHyway Bus support"
671 depends on CPU_SUBTYPE_SH4_202
674 bool "Maple Bus support"
675 depends on SH_DREAMCAST
677 The Maple Bus is SEGA's serial communication bus for peripherals
678 on the Dreamcast. Without this bus support you won't be able to
679 get your Dreamcast keyboard etc to work, so most users
680 probably want to say 'Y' here, unless you are only using the
681 Dreamcast with a serial line terminal or a remote network
685 bool "Compact Flash Enabler support"
686 depends on SOLUTION_ENGINE || SH_SH03
688 Compact Flash is a small, removable mass storage device introduced
689 in 1994 originally as a PCMCIA device. If you say `Y' here, you
690 compile in support for Compact Flash devices directly connected to
691 a SuperH processor. A Compact Flash FAQ is available at
692 <http://www.compactflash.org/faqs/faq.htm>.
694 If your board has "Directly Connected" CompactFlash at area 5 or 6,
695 you may want to enable this option. Then, you can use CF as
696 primary IDE drive (only tested for SanDisk).
698 If in doubt, select 'N'.
701 prompt "Compact Flash Connection Area"
702 depends on CF_ENABLER
708 If your board has "Directly Connected" CompactFlash, You should
709 select the area where your CF is connected to.
711 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
712 - "Area6" if it is connected to Area 6 (0x18000000)
714 "Area6" will work for most boards.
723 depends on CF_ENABLER
724 default "0xb8000000" if CF_AREA6
725 default "0xb4000000" if CF_AREA5
727 source "arch/sh/drivers/pci/Kconfig"
729 source "drivers/pci/Kconfig"
731 source "drivers/pcmcia/Kconfig"
733 source "drivers/pci/hotplug/Kconfig"
737 menu "Executable file formats"
739 source "fs/Kconfig.binfmt"
743 menu "Power management options (EXPERIMENTAL)"
744 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
746 config ARCH_SUSPEND_POSSIBLE
750 source kernel/power/Kconfig
756 source "drivers/Kconfig"
760 source "arch/sh/Kconfig.debug"
762 source "security/Kconfig"
764 source "crypto/Kconfig"