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
31 select GENERIC_CALIBRATE_DELAY
35 default "arch/sh/configs/shx3_defconfig" if SUPERH32
36 default "arch/sh/configs/cayman_defconfig" if SUPERH64
38 config RWSEM_GENERIC_SPINLOCK
41 config RWSEM_XCHGADD_ALGORITHM
46 depends on BUG && SUPERH32
48 config GENERIC_FIND_NEXT_BIT
51 config GENERIC_HWEIGHT
54 config GENERIC_HARDIRQS
57 config GENERIC_HARDIRQS_NO__DO_IRQ
60 config GENERIC_IRQ_PROBE
63 config GENERIC_CALIBRATE_DELAY
72 config GENERIC_CLOCKEVENTS
75 config GENERIC_CLOCKEVENTS_BROADCAST
78 config GENERIC_LOCKBREAK
80 depends on SMP && PREEMPT
82 config SYS_SUPPORTS_PM
85 config SYS_SUPPORTS_APM_EMULATION
87 select SYS_SUPPORTS_PM
89 config SYS_SUPPORTS_SMP
92 config SYS_SUPPORTS_NUMA
95 config SYS_SUPPORTS_PCI
98 config STACKTRACE_SUPPORT
101 config LOCKDEP_SUPPORT
104 config HAVE_LATENCYTOP_SUPPORT
108 config ARCH_HAS_ILOG2_U32
111 config ARCH_HAS_ILOG2_U64
114 config ARCH_NO_VIRT_TO_BUS
120 source "init/Kconfig"
136 select CPU_HAS_INTEVT
141 select CPU_HAS_INTEVT
143 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
144 select CPU_HAS_FPU if !CPU_SH4AL_DSP
166 prompt "Processor sub-type selection"
172 # SH-2 Processor Support
174 config CPU_SUBTYPE_SH7619
175 bool "Support SH7619 processor"
178 # SH-2A Processor Support
180 config CPU_SUBTYPE_SH7203
181 bool "Support SH7203 processor"
185 config CPU_SUBTYPE_SH7206
186 bool "Support SH7206 processor"
189 config CPU_SUBTYPE_SH7263
190 bool "Support SH7263 processor"
194 config CPU_SUBTYPE_MXG
195 bool "Support MX-G processor"
198 Select MX-G if running on an R8A03022BG part.
200 # SH-3 Processor Support
202 config CPU_SUBTYPE_SH7705
203 bool "Support SH7705 processor"
206 config CPU_SUBTYPE_SH7706
207 bool "Support SH7706 processor"
210 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
212 config CPU_SUBTYPE_SH7707
213 bool "Support SH7707 processor"
216 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
218 config CPU_SUBTYPE_SH7708
219 bool "Support SH7708 processor"
222 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
223 if you have a 100 Mhz SH-3 HD6417708R CPU.
225 config CPU_SUBTYPE_SH7709
226 bool "Support SH7709 processor"
229 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
231 config CPU_SUBTYPE_SH7710
232 bool "Support SH7710 processor"
236 Select SH7710 if you have a SH3-DSP SH7710 CPU.
238 config CPU_SUBTYPE_SH7712
239 bool "Support SH7712 processor"
243 Select SH7712 if you have a SH3-DSP SH7712 CPU.
245 config CPU_SUBTYPE_SH7720
246 bool "Support SH7720 processor"
250 Select SH7720 if you have a SH3-DSP SH7720 CPU.
252 config CPU_SUBTYPE_SH7721
253 bool "Support SH7721 processor"
257 Select SH7721 if you have a SH3-DSP SH7721 CPU.
259 # SH-4 Processor Support
261 config CPU_SUBTYPE_SH7750
262 bool "Support SH7750 processor"
265 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
267 config CPU_SUBTYPE_SH7091
268 bool "Support SH7091 processor"
271 Select SH7091 if you have an SH-4 based Sega device (such as
272 the Dreamcast, Naomi, and Naomi 2).
274 config CPU_SUBTYPE_SH7750R
275 bool "Support SH7750R processor"
278 config CPU_SUBTYPE_SH7750S
279 bool "Support SH7750S processor"
282 config CPU_SUBTYPE_SH7751
283 bool "Support SH7751 processor"
286 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
287 or if you have a HD6417751R CPU.
289 config CPU_SUBTYPE_SH7751R
290 bool "Support SH7751R processor"
293 config CPU_SUBTYPE_SH7760
294 bool "Support SH7760 processor"
297 config CPU_SUBTYPE_SH4_202
298 bool "Support SH4-202 processor"
301 # SH-4A Processor Support
303 config CPU_SUBTYPE_SH7723
304 bool "Support SH7723 processor"
307 select ARCH_SPARSEMEM_ENABLE
309 Select SH7723 if you have an SH-MobileR2 CPU.
311 config CPU_SUBTYPE_SH7763
312 bool "Support SH7763 processor"
315 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
317 config CPU_SUBTYPE_SH7770
318 bool "Support SH7770 processor"
321 config CPU_SUBTYPE_SH7780
322 bool "Support SH7780 processor"
325 config CPU_SUBTYPE_SH7785
326 bool "Support SH7785 processor"
329 select ARCH_SPARSEMEM_ENABLE
330 select SYS_SUPPORTS_NUMA
332 config CPU_SUBTYPE_SHX3
333 bool "Support SH-X3 processor"
336 select ARCH_SPARSEMEM_ENABLE
337 select SYS_SUPPORTS_NUMA
338 select SYS_SUPPORTS_SMP
339 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
341 # SH4AL-DSP Processor Support
343 config CPU_SUBTYPE_SH7343
344 bool "Support SH7343 processor"
347 config CPU_SUBTYPE_SH7722
348 bool "Support SH7722 processor"
351 select ARCH_SPARSEMEM_ENABLE
352 select SYS_SUPPORTS_NUMA
354 config CPU_SUBTYPE_SH7366
355 bool "Support SH7366 processor"
358 select ARCH_SPARSEMEM_ENABLE
359 select SYS_SUPPORTS_NUMA
361 # SH-5 Processor Support
363 config CPU_SUBTYPE_SH5_101
364 bool "Support SH5-101 processor"
367 config CPU_SUBTYPE_SH5_103
368 bool "Support SH5-103 processor"
373 source "arch/sh/mm/Kconfig"
375 source "arch/sh/Kconfig.cpu"
377 source "arch/sh/boards/Kconfig"
379 menu "Timer and clock configuration"
383 prompt "TMU timer support"
384 depends on CPU_SH3 || CPU_SH4
386 select GENERIC_CLOCKEVENTS
388 This enables the use of the TMU as the system timer.
392 prompt "CMT timer support"
393 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
395 This enables the use of the CMT as the system timer.
399 prompt "MTU2 timer support"
402 This enables the use of the MTU2 as the system timer.
406 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
408 default "86" if CPU_SUBTYPE_SH7619
409 default "140" if CPU_SUBTYPE_SH7206
410 default "142" if CPU_SUBTYPE_SH7203
411 default "238" if CPU_SUBTYPE_MXG
415 int "Peripheral clock frequency (in Hz)"
416 default "27000000" if CPU_SUBTYPE_SH7343
417 default "31250000" if CPU_SUBTYPE_SH7619
418 default "32000000" if CPU_SUBTYPE_SH7722
419 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
420 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
421 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
422 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
423 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
424 default "66000000" if CPU_SUBTYPE_SH4_202
427 This option is used to specify the peripheral clock frequency.
428 This is necessary for determining the reference clock value on
429 platforms lacking an RTC.
432 int "CPU Mode Pin Setting"
434 default 6 if CPU_SUBTYPE_SH7206
435 default 5 if CPU_SUBTYPE_SH7619
438 MD2 - MD0 pin setting.
440 source "kernel/time/Kconfig"
444 menu "CPU Frequency scaling"
446 source "drivers/cpufreq/Kconfig"
449 tristate "SuperH CPU Frequency driver"
451 select CPU_FREQ_TABLE
453 This adds the cpufreq driver for SuperH. At present, only
454 the SH-4 is supported.
456 For details, take a look at <file:Documentation/cpu-freq>.
462 source "arch/sh/drivers/Kconfig"
469 menu "Kernel features"
471 source kernel/Kconfig.hz
474 bool "kexec system call (EXPERIMENTAL)"
475 depends on SUPERH32 && EXPERIMENTAL
477 kexec is a system call that implements the ability to shutdown your
478 current kernel, and to start another kernel. It is like a reboot
479 but it is independent of the system firmware. And like a reboot
480 you can start any kernel with it, not just Linux.
482 The name comes from the similarity to the exec system call.
484 It is an ongoing process to be certain the hardware in a machine
485 is properly shutdown, so do not be surprised if this code does not
486 initially work for you. It may help to enable device hotplugging
487 support. As of this writing the exact hardware interface is
488 strongly in flux, so no good recommendation can be made.
491 bool "kernel crash dumps (EXPERIMENTAL)"
492 depends on SUPERH32 && EXPERIMENTAL
494 Generate crash dump after being started by kexec.
495 This should be normally only set in special crash dump kernels
496 which are loaded in the main kernel with kexec-tools into
497 a specially reserved region and then later executed after
498 a crash by kdump/kexec. The crash dump kernel must be compiled
499 to a memory address not used by the main kernel using
502 For more details see Documentation/kdump/kdump.txt
505 bool "Enable seccomp to safely compute untrusted bytecode"
508 This kernel feature is useful for number crunching applications
509 that may need to compute untrusted bytecode during their
510 execution. By using pipes or other transports made available to
511 the process as file descriptors supporting the read/write
512 syscalls, it's possible to isolate those applications in
513 their own address space using seccomp. Once seccomp is
514 enabled via prctl, it cannot be disabled and the task is only
515 allowed to execute a few safe syscalls defined by each seccomp
521 bool "Symmetric multi-processing support"
522 depends on SYS_SUPPORTS_SMP
523 select USE_GENERIC_SMP_HELPERS
525 This enables support for systems with more than one CPU. If you have
526 a system with only one CPU, like most personal computers, say N. If
527 you have a system with more than one CPU, say Y.
529 If you say N here, the kernel will run on single and multiprocessor
530 machines, but will use only one CPU of a multiprocessor machine. If
531 you say Y here, the kernel will run on many, but not all,
532 singleprocessor machines. On a singleprocessor machine, the kernel
533 will run faster if you say N here.
535 People using multiprocessor machines who say Y here should also say
536 Y to "Enhanced Real Time Clock Support", below.
538 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
539 available at <http://www.tldp.org/docs.html#howto>.
541 If you don't know what to do here, say N.
544 int "Maximum number of CPUs (2-32)"
547 default "4" if CPU_SHX3
550 This allows you to specify the maximum number of CPUs which this
551 kernel will support. The maximum supported value is 32 and the
552 minimum value which makes sense is 2.
554 This is purely to save memory - each supported CPU adds
555 approximately eight kilobytes to the kernel image.
557 source "kernel/Kconfig.preempt"
561 depends on !SMP && SUPERH32
563 This enables support for gUSA (general UserSpace Atomicity).
564 This is the default implementation for both UP and non-ll/sc
565 CPUs, and is used by the libc, amongst others.
567 For additional information, design information can be found
568 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
570 This should only be disabled for special cases where alternate
571 atomicity implementations exist.
574 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
575 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
577 Enabling this option will allow the kernel to implement some
578 atomic operations using a software implemention of load-locked/
579 store-conditional (LLSC). On machines which do not have hardware
580 LLSC, this should be more efficient than the other alternative of
581 disabling insterrupts around the atomic sequence.
587 config ZERO_PAGE_OFFSET
588 hex "Zero page offset"
589 default "0x00004000" if SH_SH03
590 default "0x00010000" if PAGE_SIZE_64KB
591 default "0x00002000" if PAGE_SIZE_8KB
594 This sets the default offset of zero page.
596 config BOOT_LINK_OFFSET
597 hex "Link address offset for booting"
600 This option allows you to set the link address offset of the zImage.
601 This can be useful if you are on a board which has a small amount of
605 bool "Wakeup UBC on startup"
606 depends on CPU_SH4 && !CPU_SH4A
608 Selecting this option will wakeup the User Break Controller (UBC) on
609 startup. Although the UBC is left in an awake state when the processor
610 comes up, some boot loaders misbehave by putting the UBC to sleep in a
611 power saving state, which causes issues with things like ptrace().
616 bool "Default bootloader kernel arguments"
619 string "Initial kernel command string"
620 depends on CMDLINE_BOOL
621 default "console=ttySC1,115200"
627 # Even on SuperH devices which don't have an ISA bus,
628 # this variable helps the PCMCIA modules handle
629 # IRQ requesting properly -- Greg Banks.
631 # Though we're generally not interested in it when
632 # we're not using PCMCIA, so we make it dependent on
633 # PCMCIA outright. -- PFM.
636 depends on PCMCIA && HD6446X_SERIES
638 Find out whether you have ISA slots on your motherboard. ISA is the
639 name of a bus system, i.e. the way the CPU talks to the other stuff
640 inside your box. Other bus systems are PCI, EISA, MicroChannel
641 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
642 newer boards don't support it. If you have ISA, say Y, otherwise N.
647 The Extended Industry Standard Architecture (EISA) bus was
648 developed as an open alternative to the IBM MicroChannel bus.
650 The EISA bus provided some of the features of the IBM MicroChannel
651 bus while maintaining backward compatibility with cards made for
652 the older ISA bus. The EISA bus saw limited use between 1988 and
653 1995 when it was made obsolete by the PCI bus.
655 Say Y here if you are building a kernel for an EISA-based machine.
662 MicroChannel Architecture is found in some IBM PS/2 machines and
663 laptops. It is a bus system similar to PCI or ISA. See
664 <file:Documentation/mca.txt> (and especially the web page given
665 there) before attempting to build an MCA bus kernel.
671 tristate "SuperHyway Bus support"
672 depends on CPU_SUBTYPE_SH4_202
675 bool "Maple Bus support"
676 depends on SH_DREAMCAST
678 The Maple Bus is SEGA's serial communication bus for peripherals
679 on the Dreamcast. Without this bus support you won't be able to
680 get your Dreamcast keyboard etc to work, so most users
681 probably want to say 'Y' here, unless you are only using the
682 Dreamcast with a serial line terminal or a remote network
686 bool "Compact Flash Enabler support"
687 depends on SOLUTION_ENGINE || SH_SH03
689 Compact Flash is a small, removable mass storage device introduced
690 in 1994 originally as a PCMCIA device. If you say `Y' here, you
691 compile in support for Compact Flash devices directly connected to
692 a SuperH processor. A Compact Flash FAQ is available at
693 <http://www.compactflash.org/faqs/faq.htm>.
695 If your board has "Directly Connected" CompactFlash at area 5 or 6,
696 you may want to enable this option. Then, you can use CF as
697 primary IDE drive (only tested for SanDisk).
699 If in doubt, select 'N'.
702 prompt "Compact Flash Connection Area"
703 depends on CF_ENABLER
709 If your board has "Directly Connected" CompactFlash, You should
710 select the area where your CF is connected to.
712 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
713 - "Area6" if it is connected to Area 6 (0x18000000)
715 "Area6" will work for most boards.
724 depends on CF_ENABLER
725 default "0xb8000000" if CF_AREA6
726 default "0xb4000000" if CF_AREA5
728 source "arch/sh/drivers/pci/Kconfig"
730 source "drivers/pci/Kconfig"
732 source "drivers/pcmcia/Kconfig"
734 source "drivers/pci/hotplug/Kconfig"
738 menu "Executable file formats"
740 source "fs/Kconfig.binfmt"
744 menu "Power management options (EXPERIMENTAL)"
745 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
747 config ARCH_SUSPEND_POSSIBLE
751 source kernel/power/Kconfig
757 source "drivers/Kconfig"
761 source "arch/sh/Kconfig.debug"
763 source "security/Kconfig"
765 source "crypto/Kconfig"