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
29 select GENERIC_CALIBRATE_DELAY
33 default "arch/sh/configs/shx3_defconfig" if SUPERH32
34 default "arch/sh/configs/cayman_defconfig" if SUPERH64
36 config RWSEM_GENERIC_SPINLOCK
39 config RWSEM_XCHGADD_ALGORITHM
44 depends on BUG && SUPERH32
46 config GENERIC_FIND_NEXT_BIT
49 config GENERIC_HWEIGHT
52 config GENERIC_HARDIRQS
55 config GENERIC_HARDIRQS_NO__DO_IRQ
58 config GENERIC_IRQ_PROBE
61 config GENERIC_CALIBRATE_DELAY
70 config GENERIC_CLOCKEVENTS
73 config GENERIC_CLOCKEVENTS_BROADCAST
76 config GENERIC_LOCKBREAK
78 depends on SMP && PREEMPT
80 config SYS_SUPPORTS_PM
83 config SYS_SUPPORTS_APM_EMULATION
85 select SYS_SUPPORTS_PM
87 config SYS_SUPPORTS_SMP
90 config SYS_SUPPORTS_NUMA
93 config SYS_SUPPORTS_PCI
96 config STACKTRACE_SUPPORT
99 config LOCKDEP_SUPPORT
102 config ARCH_HAS_ILOG2_U32
105 config ARCH_HAS_ILOG2_U64
108 config ARCH_NO_VIRT_TO_BUS
114 source "init/Kconfig"
130 select CPU_HAS_INTEVT
135 select CPU_HAS_INTEVT
137 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
138 select CPU_HAS_FPU if !CPU_SH4AL_DSP
160 prompt "Processor sub-type selection"
166 # SH-2 Processor Support
168 config CPU_SUBTYPE_SH7619
169 bool "Support SH7619 processor"
172 # SH-2A Processor Support
174 config CPU_SUBTYPE_SH7203
175 bool "Support SH7203 processor"
179 config CPU_SUBTYPE_SH7206
180 bool "Support SH7206 processor"
183 config CPU_SUBTYPE_SH7263
184 bool "Support SH7263 processor"
188 config CPU_SUBTYPE_MXG
189 bool "Support MX-G processor"
192 Select MX-G if running on an R8A03022BG part.
194 # SH-3 Processor Support
196 config CPU_SUBTYPE_SH7705
197 bool "Support SH7705 processor"
200 config CPU_SUBTYPE_SH7706
201 bool "Support SH7706 processor"
204 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
206 config CPU_SUBTYPE_SH7707
207 bool "Support SH7707 processor"
210 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
212 config CPU_SUBTYPE_SH7708
213 bool "Support SH7708 processor"
216 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
217 if you have a 100 Mhz SH-3 HD6417708R CPU.
219 config CPU_SUBTYPE_SH7709
220 bool "Support SH7709 processor"
223 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
225 config CPU_SUBTYPE_SH7710
226 bool "Support SH7710 processor"
230 Select SH7710 if you have a SH3-DSP SH7710 CPU.
232 config CPU_SUBTYPE_SH7712
233 bool "Support SH7712 processor"
237 Select SH7712 if you have a SH3-DSP SH7712 CPU.
239 config CPU_SUBTYPE_SH7720
240 bool "Support SH7720 processor"
244 Select SH7720 if you have a SH3-DSP SH7720 CPU.
246 config CPU_SUBTYPE_SH7721
247 bool "Support SH7721 processor"
251 Select SH7721 if you have a SH3-DSP SH7721 CPU.
253 # SH-4 Processor Support
255 config CPU_SUBTYPE_SH7750
256 bool "Support SH7750 processor"
259 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
261 config CPU_SUBTYPE_SH7091
262 bool "Support SH7091 processor"
265 Select SH7091 if you have an SH-4 based Sega device (such as
266 the Dreamcast, Naomi, and Naomi 2).
268 config CPU_SUBTYPE_SH7750R
269 bool "Support SH7750R processor"
272 config CPU_SUBTYPE_SH7750S
273 bool "Support SH7750S processor"
276 config CPU_SUBTYPE_SH7751
277 bool "Support SH7751 processor"
280 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
281 or if you have a HD6417751R CPU.
283 config CPU_SUBTYPE_SH7751R
284 bool "Support SH7751R processor"
287 config CPU_SUBTYPE_SH7760
288 bool "Support SH7760 processor"
291 config CPU_SUBTYPE_SH4_202
292 bool "Support SH4-202 processor"
295 # SH-4A Processor Support
297 config CPU_SUBTYPE_SH7723
298 bool "Support SH7723 processor"
301 select ARCH_SPARSEMEM_ENABLE
303 Select SH7723 if you have an SH-MobileR2 CPU.
305 config CPU_SUBTYPE_SH7763
306 bool "Support SH7763 processor"
309 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
311 config CPU_SUBTYPE_SH7770
312 bool "Support SH7770 processor"
315 config CPU_SUBTYPE_SH7780
316 bool "Support SH7780 processor"
319 config CPU_SUBTYPE_SH7785
320 bool "Support SH7785 processor"
323 select ARCH_SPARSEMEM_ENABLE
324 select SYS_SUPPORTS_NUMA
326 config CPU_SUBTYPE_SHX3
327 bool "Support SH-X3 processor"
330 select ARCH_SPARSEMEM_ENABLE
331 select SYS_SUPPORTS_NUMA
332 select SYS_SUPPORTS_SMP
333 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
335 # SH4AL-DSP Processor Support
337 config CPU_SUBTYPE_SH7343
338 bool "Support SH7343 processor"
341 config CPU_SUBTYPE_SH7722
342 bool "Support SH7722 processor"
345 select ARCH_SPARSEMEM_ENABLE
346 select SYS_SUPPORTS_NUMA
348 config CPU_SUBTYPE_SH7366
349 bool "Support SH7366 processor"
352 select ARCH_SPARSEMEM_ENABLE
353 select SYS_SUPPORTS_NUMA
355 # SH-5 Processor Support
357 config CPU_SUBTYPE_SH5_101
358 bool "Support SH5-101 processor"
361 config CPU_SUBTYPE_SH5_103
362 bool "Support SH5-103 processor"
367 source "arch/sh/mm/Kconfig"
369 source "arch/sh/Kconfig.cpu"
371 source "arch/sh/boards/Kconfig"
373 menu "Timer and clock configuration"
377 prompt "TMU timer support"
378 depends on CPU_SH3 || CPU_SH4
380 select GENERIC_CLOCKEVENTS
382 This enables the use of the TMU as the system timer.
386 prompt "CMT timer support"
387 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
389 This enables the use of the CMT as the system timer.
393 prompt "MTU2 timer support"
396 This enables the use of the MTU2 as the system timer.
400 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
402 default "86" if CPU_SUBTYPE_SH7619
403 default "140" if CPU_SUBTYPE_SH7206
404 default "142" if CPU_SUBTYPE_SH7203
405 default "238" if CPU_SUBTYPE_MXG
409 int "Peripheral clock frequency (in Hz)"
410 default "27000000" if CPU_SUBTYPE_SH7343
411 default "31250000" if CPU_SUBTYPE_SH7619
412 default "32000000" if CPU_SUBTYPE_SH7722
413 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
414 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
415 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
416 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
417 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
418 default "66000000" if CPU_SUBTYPE_SH4_202
421 This option is used to specify the peripheral clock frequency.
422 This is necessary for determining the reference clock value on
423 platforms lacking an RTC.
426 int "CPU Mode Pin Setting"
428 default 6 if CPU_SUBTYPE_SH7206
429 default 5 if CPU_SUBTYPE_SH7619
432 MD2 - MD0 pin setting.
434 source "kernel/time/Kconfig"
438 menu "CPU Frequency scaling"
440 source "drivers/cpufreq/Kconfig"
443 tristate "SuperH CPU Frequency driver"
445 select CPU_FREQ_TABLE
447 This adds the cpufreq driver for SuperH. At present, only
448 the SH-4 is supported.
450 For details, take a look at <file:Documentation/cpu-freq>.
456 source "arch/sh/drivers/Kconfig"
463 menu "Kernel features"
465 source kernel/Kconfig.hz
468 bool "kexec system call (EXPERIMENTAL)"
469 depends on SUPERH32 && EXPERIMENTAL
471 kexec is a system call that implements the ability to shutdown your
472 current kernel, and to start another kernel. It is like a reboot
473 but it is independent of the system firmware. And like a reboot
474 you can start any kernel with it, not just Linux.
476 The name comes from the similarity to the exec system call.
478 It is an ongoing process to be certain the hardware in a machine
479 is properly shutdown, so do not be surprised if this code does not
480 initially work for you. It may help to enable device hotplugging
481 support. As of this writing the exact hardware interface is
482 strongly in flux, so no good recommendation can be made.
485 bool "kernel crash dumps (EXPERIMENTAL)"
486 depends on SUPERH32 && EXPERIMENTAL
488 Generate crash dump after being started by kexec.
489 This should be normally only set in special crash dump kernels
490 which are loaded in the main kernel with kexec-tools into
491 a specially reserved region and then later executed after
492 a crash by kdump/kexec. The crash dump kernel must be compiled
493 to a memory address not used by the main kernel using
496 For more details see Documentation/kdump/kdump.txt
499 bool "Enable seccomp to safely compute untrusted bytecode"
502 This kernel feature is useful for number crunching applications
503 that may need to compute untrusted bytecode during their
504 execution. By using pipes or other transports made available to
505 the process as file descriptors supporting the read/write
506 syscalls, it's possible to isolate those applications in
507 their own address space using seccomp. Once seccomp is
508 enabled via prctl, it cannot be disabled and the task is only
509 allowed to execute a few safe syscalls defined by each seccomp
515 bool "Symmetric multi-processing support"
516 depends on SYS_SUPPORTS_SMP
517 select USE_GENERIC_SMP_HELPERS
519 This enables support for systems with more than one CPU. If you have
520 a system with only one CPU, like most personal computers, say N. If
521 you have a system with more than one CPU, say Y.
523 If you say N here, the kernel will run on single and multiprocessor
524 machines, but will use only one CPU of a multiprocessor machine. If
525 you say Y here, the kernel will run on many, but not all,
526 singleprocessor machines. On a singleprocessor machine, the kernel
527 will run faster if you say N here.
529 People using multiprocessor machines who say Y here should also say
530 Y to "Enhanced Real Time Clock Support", below.
532 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
533 available at <http://www.tldp.org/docs.html#howto>.
535 If you don't know what to do here, say N.
538 int "Maximum number of CPUs (2-32)"
541 default "4" if CPU_SHX3
544 This allows you to specify the maximum number of CPUs which this
545 kernel will support. The maximum supported value is 32 and the
546 minimum value which makes sense is 2.
548 This is purely to save memory - each supported CPU adds
549 approximately eight kilobytes to the kernel image.
551 source "kernel/Kconfig.preempt"
555 depends on !SMP && SUPERH32
557 This enables support for gUSA (general UserSpace Atomicity).
558 This is the default implementation for both UP and non-ll/sc
559 CPUs, and is used by the libc, amongst others.
561 For additional information, design information can be found
562 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
564 This should only be disabled for special cases where alternate
565 atomicity implementations exist.
568 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
569 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
571 Enabling this option will allow the kernel to implement some
572 atomic operations using a software implemention of load-locked/
573 store-conditional (LLSC). On machines which do not have hardware
574 LLSC, this should be more efficient than the other alternative of
575 disabling insterrupts around the atomic sequence.
581 config ZERO_PAGE_OFFSET
582 hex "Zero page offset"
583 default "0x00004000" if SH_SH03
584 default "0x00010000" if PAGE_SIZE_64KB
585 default "0x00002000" if PAGE_SIZE_8KB
588 This sets the default offset of zero page.
590 config BOOT_LINK_OFFSET
591 hex "Link address offset for booting"
594 This option allows you to set the link address offset of the zImage.
595 This can be useful if you are on a board which has a small amount of
599 bool "Wakeup UBC on startup"
600 depends on CPU_SH4 && !CPU_SH4A
602 Selecting this option will wakeup the User Break Controller (UBC) on
603 startup. Although the UBC is left in an awake state when the processor
604 comes up, some boot loaders misbehave by putting the UBC to sleep in a
605 power saving state, which causes issues with things like ptrace().
610 bool "Default bootloader kernel arguments"
613 string "Initial kernel command string"
614 depends on CMDLINE_BOOL
615 default "console=ttySC1,115200"
621 # Even on SuperH devices which don't have an ISA bus,
622 # this variable helps the PCMCIA modules handle
623 # IRQ requesting properly -- Greg Banks.
625 # Though we're generally not interested in it when
626 # we're not using PCMCIA, so we make it dependent on
627 # PCMCIA outright. -- PFM.
630 depends on PCMCIA && HD6446X_SERIES
632 Find out whether you have ISA slots on your motherboard. ISA is the
633 name of a bus system, i.e. the way the CPU talks to the other stuff
634 inside your box. Other bus systems are PCI, EISA, MicroChannel
635 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
636 newer boards don't support it. If you have ISA, say Y, otherwise N.
641 The Extended Industry Standard Architecture (EISA) bus was
642 developed as an open alternative to the IBM MicroChannel bus.
644 The EISA bus provided some of the features of the IBM MicroChannel
645 bus while maintaining backward compatibility with cards made for
646 the older ISA bus. The EISA bus saw limited use between 1988 and
647 1995 when it was made obsolete by the PCI bus.
649 Say Y here if you are building a kernel for an EISA-based machine.
656 MicroChannel Architecture is found in some IBM PS/2 machines and
657 laptops. It is a bus system similar to PCI or ISA. See
658 <file:Documentation/mca.txt> (and especially the web page given
659 there) before attempting to build an MCA bus kernel.
665 tristate "SuperHyway Bus support"
666 depends on CPU_SUBTYPE_SH4_202
669 bool "Maple Bus support"
670 depends on SH_DREAMCAST
672 The Maple Bus is SEGA's serial communication bus for peripherals
673 on the Dreamcast. Without this bus support you won't be able to
674 get your Dreamcast keyboard etc to work, so most users
675 probably want to say 'Y' here, unless you are only using the
676 Dreamcast with a serial line terminal or a remote network
680 bool "Compact Flash Enabler support"
681 depends on SOLUTION_ENGINE || SH_SH03
683 Compact Flash is a small, removable mass storage device introduced
684 in 1994 originally as a PCMCIA device. If you say `Y' here, you
685 compile in support for Compact Flash devices directly connected to
686 a SuperH processor. A Compact Flash FAQ is available at
687 <http://www.compactflash.org/faqs/faq.htm>.
689 If your board has "Directly Connected" CompactFlash at area 5 or 6,
690 you may want to enable this option. Then, you can use CF as
691 primary IDE drive (only tested for SanDisk).
693 If in doubt, select 'N'.
696 prompt "Compact Flash Connection Area"
697 depends on CF_ENABLER
703 If your board has "Directly Connected" CompactFlash, You should
704 select the area where your CF is connected to.
706 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
707 - "Area6" if it is connected to Area 6 (0x18000000)
709 "Area6" will work for most boards.
718 depends on CF_ENABLER
719 default "0xb8000000" if CF_AREA6
720 default "0xb4000000" if CF_AREA5
722 source "arch/sh/drivers/pci/Kconfig"
724 source "drivers/pci/Kconfig"
726 source "drivers/pcmcia/Kconfig"
728 source "drivers/pci/hotplug/Kconfig"
732 menu "Executable file formats"
734 source "fs/Kconfig.binfmt"
738 menu "Power management options (EXPERIMENTAL)"
739 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
741 config ARCH_SUSPEND_POSSIBLE
745 source kernel/power/Kconfig
751 source "drivers/Kconfig"
755 source "arch/sh/Kconfig.debug"
757 source "security/Kconfig"
759 source "crypto/Kconfig"