2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
15 The SuperH is a RISC processor targeted for use in embedded systems
16 and consumer electronics; it was also used in the Sega Dreamcast
17 gaming console. The SuperH port has a home page at
18 <http://www.linux-sh.org/>.
28 default "arch/sh/configs/shx3_defconfig" if SUPERH32
29 default "arch/sh/configs/cayman_defconfig" if SUPERH64
31 config RWSEM_GENERIC_SPINLOCK
34 config RWSEM_XCHGADD_ALGORITHM
39 depends on BUG && SUPERH32
41 config GENERIC_FIND_NEXT_BIT
44 config GENERIC_HWEIGHT
47 config GENERIC_HARDIRQS
50 config GENERIC_IRQ_PROBE
53 config GENERIC_CALIBRATE_DELAY
62 config GENERIC_CLOCKEVENTS
65 config SYS_SUPPORTS_PM
68 config SYS_SUPPORTS_APM_EMULATION
70 select SYS_SUPPORTS_PM
72 config SYS_SUPPORTS_SMP
75 config SYS_SUPPORTS_NUMA
78 config SYS_SUPPORTS_PCI
81 config STACKTRACE_SUPPORT
84 config LOCKDEP_SUPPORT
87 config ARCH_HAS_ILOG2_U32
90 config ARCH_HAS_ILOG2_U64
93 config ARCH_NO_VIRT_TO_BUS
96 config ARCH_SUPPORTS_AOUT
102 source "init/Kconfig"
118 select CPU_HAS_INTEVT
123 select CPU_HAS_INTEVT
125 select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
126 select CPU_HAS_FPU if !CPU_SH4AL_DSP
148 prompt "Processor sub-type selection"
154 # SH-2 Processor Support
156 config CPU_SUBTYPE_SH7619
157 bool "Support SH7619 processor"
160 # SH-2A Processor Support
162 config CPU_SUBTYPE_SH7203
163 bool "Support SH7203 processor"
167 config CPU_SUBTYPE_SH7206
168 bool "Support SH7206 processor"
171 config CPU_SUBTYPE_SH7263
172 bool "Support SH7263 processor"
176 config CPU_SUBTYPE_MXG
177 bool "Support MX-G processor"
180 Select MX-G if running on an R8A03022BG part.
182 # SH-3 Processor Support
184 config CPU_SUBTYPE_SH7705
185 bool "Support SH7705 processor"
188 config CPU_SUBTYPE_SH7706
189 bool "Support SH7706 processor"
192 Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
194 config CPU_SUBTYPE_SH7707
195 bool "Support SH7707 processor"
198 Select SH7707 if you have a 60 Mhz SH-3 HD6417707 CPU.
200 config CPU_SUBTYPE_SH7708
201 bool "Support SH7708 processor"
204 Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
205 if you have a 100 Mhz SH-3 HD6417708R CPU.
207 config CPU_SUBTYPE_SH7709
208 bool "Support SH7709 processor"
211 Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
213 config CPU_SUBTYPE_SH7710
214 bool "Support SH7710 processor"
218 Select SH7710 if you have a SH3-DSP SH7710 CPU.
220 config CPU_SUBTYPE_SH7712
221 bool "Support SH7712 processor"
225 Select SH7712 if you have a SH3-DSP SH7712 CPU.
227 config CPU_SUBTYPE_SH7720
228 bool "Support SH7720 processor"
232 Select SH7720 if you have a SH3-DSP SH7720 CPU.
234 config CPU_SUBTYPE_SH7721
235 bool "Support SH7721 processor"
239 Select SH7721 if you have a SH3-DSP SH7721 CPU.
241 # SH-4 Processor Support
243 config CPU_SUBTYPE_SH7750
244 bool "Support SH7750 processor"
247 Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
249 config CPU_SUBTYPE_SH7091
250 bool "Support SH7091 processor"
253 Select SH7091 if you have an SH-4 based Sega device (such as
254 the Dreamcast, Naomi, and Naomi 2).
256 config CPU_SUBTYPE_SH7750R
257 bool "Support SH7750R processor"
260 config CPU_SUBTYPE_SH7750S
261 bool "Support SH7750S processor"
264 config CPU_SUBTYPE_SH7751
265 bool "Support SH7751 processor"
268 Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
269 or if you have a HD6417751R CPU.
271 config CPU_SUBTYPE_SH7751R
272 bool "Support SH7751R processor"
275 config CPU_SUBTYPE_SH7760
276 bool "Support SH7760 processor"
279 config CPU_SUBTYPE_SH4_202
280 bool "Support SH4-202 processor"
283 # SH-4A Processor Support
285 config CPU_SUBTYPE_SH7723
286 bool "Support SH7723 processor"
289 select ARCH_SPARSEMEM_ENABLE
291 Select SH7723 if you have an SH-MobileR2 CPU.
293 config CPU_SUBTYPE_SH7763
294 bool "Support SH7763 processor"
297 Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
299 config CPU_SUBTYPE_SH7770
300 bool "Support SH7770 processor"
303 config CPU_SUBTYPE_SH7780
304 bool "Support SH7780 processor"
307 config CPU_SUBTYPE_SH7785
308 bool "Support SH7785 processor"
311 select ARCH_SPARSEMEM_ENABLE
312 select SYS_SUPPORTS_NUMA
314 config CPU_SUBTYPE_SHX3
315 bool "Support SH-X3 processor"
318 select ARCH_SPARSEMEM_ENABLE
319 select SYS_SUPPORTS_NUMA
320 select SYS_SUPPORTS_SMP
322 # SH4AL-DSP Processor Support
324 config CPU_SUBTYPE_SH7343
325 bool "Support SH7343 processor"
328 config CPU_SUBTYPE_SH7722
329 bool "Support SH7722 processor"
332 select ARCH_SPARSEMEM_ENABLE
333 select SYS_SUPPORTS_NUMA
335 config CPU_SUBTYPE_SH7366
336 bool "Support SH7366 processor"
339 select ARCH_SPARSEMEM_ENABLE
340 select SYS_SUPPORTS_NUMA
342 # SH-5 Processor Support
344 config CPU_SUBTYPE_SH5_101
345 bool "Support SH5-101 processor"
348 config CPU_SUBTYPE_SH5_103
349 bool "Support SH5-103 processor"
354 source "arch/sh/mm/Kconfig"
356 source "arch/sh/Kconfig.cpu"
358 source "arch/sh/boards/Kconfig"
360 menu "Timer and clock configuration"
364 prompt "TMU timer support"
365 depends on CPU_SH3 || CPU_SH4
367 select GENERIC_CLOCKEVENTS
369 This enables the use of the TMU as the system timer.
373 prompt "CMT timer support"
374 depends on CPU_SH2 && !CPU_SUBTYPE_MXG
376 This enables the use of the CMT as the system timer.
380 prompt "MTU2 timer support"
383 This enables the use of the MTU2 as the system timer.
387 default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
389 default "86" if CPU_SUBTYPE_SH7619
390 default "140" if CPU_SUBTYPE_SH7206
391 default "142" if CPU_SUBTYPE_SH7203
392 default "238" if CPU_SUBTYPE_MXG
396 int "Peripheral clock frequency (in Hz)"
397 default "27000000" if CPU_SUBTYPE_SH7343
398 default "31250000" if CPU_SUBTYPE_SH7619
399 default "32000000" if CPU_SUBTYPE_SH7722
400 default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
401 CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
402 CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
403 CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
404 default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
405 default "66000000" if CPU_SUBTYPE_SH4_202
408 This option is used to specify the peripheral clock frequency.
409 This is necessary for determining the reference clock value on
410 platforms lacking an RTC.
413 int "CPU Mode Pin Setting"
415 default 6 if CPU_SUBTYPE_SH7206
416 default 5 if CPU_SUBTYPE_SH7619
419 MD2 - MD0 pin setting.
421 source "kernel/time/Kconfig"
425 menu "CPU Frequency scaling"
427 source "drivers/cpufreq/Kconfig"
430 tristate "SuperH CPU Frequency driver"
432 select CPU_FREQ_TABLE
434 This adds the cpufreq driver for SuperH. At present, only
435 the SH-4 is supported.
437 For details, take a look at <file:Documentation/cpu-freq>.
443 source "arch/sh/drivers/Kconfig"
450 menu "Kernel features"
452 source kernel/Kconfig.hz
455 bool "kexec system call (EXPERIMENTAL)"
456 depends on SUPERH32 && EXPERIMENTAL
458 kexec is a system call that implements the ability to shutdown your
459 current kernel, and to start another kernel. It is like a reboot
460 but it is independent of the system firmware. And like a reboot
461 you can start any kernel with it, not just Linux.
463 The name comes from the similarity to the exec system call.
465 It is an ongoing process to be certain the hardware in a machine
466 is properly shutdown, so do not be surprised if this code does not
467 initially work for you. It may help to enable device hotplugging
468 support. As of this writing the exact hardware interface is
469 strongly in flux, so no good recommendation can be made.
472 bool "kernel crash dumps (EXPERIMENTAL)"
473 depends on SUPERH32 && EXPERIMENTAL
475 Generate crash dump after being started by kexec.
476 This should be normally only set in special crash dump kernels
477 which are loaded in the main kernel with kexec-tools into
478 a specially reserved region and then later executed after
479 a crash by kdump/kexec. The crash dump kernel must be compiled
480 to a memory address not used by the main kernel using
483 For more details see Documentation/kdump/kdump.txt
486 bool "Symmetric multi-processing support"
487 depends on SYS_SUPPORTS_SMP
488 select USE_GENERIC_SMP_HELPERS
490 This enables support for systems with more than one CPU. If you have
491 a system with only one CPU, like most personal computers, say N. If
492 you have a system with more than one CPU, say Y.
494 If you say N here, the kernel will run on single and multiprocessor
495 machines, but will use only one CPU of a multiprocessor machine. If
496 you say Y here, the kernel will run on many, but not all,
497 singleprocessor machines. On a singleprocessor machine, the kernel
498 will run faster if you say N here.
500 People using multiprocessor machines who say Y here should also say
501 Y to "Enhanced Real Time Clock Support", below.
503 See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
504 available at <http://www.tldp.org/docs.html#howto>.
506 If you don't know what to do here, say N.
509 int "Maximum number of CPUs (2-32)"
512 default "4" if CPU_SHX3
515 This allows you to specify the maximum number of CPUs which this
516 kernel will support. The maximum supported value is 32 and the
517 minimum value which makes sense is 2.
519 This is purely to save memory - each supported CPU adds
520 approximately eight kilobytes to the kernel image.
522 source "kernel/Kconfig.preempt"
526 depends on !SMP && SUPERH32
528 This enables support for gUSA (general UserSpace Atomicity).
529 This is the default implementation for both UP and non-ll/sc
530 CPUs, and is used by the libc, amongst others.
532 For additional information, design information can be found
533 in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
535 This should only be disabled for special cases where alternate
536 atomicity implementations exist.
539 bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
540 depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
542 Enabling this option will allow the kernel to implement some
543 atomic operations using a software implemention of load-locked/
544 store-conditional (LLSC). On machines which do not have hardware
545 LLSC, this should be more efficient than the other alternative of
546 disabling insterrupts around the atomic sequence.
552 config ZERO_PAGE_OFFSET
553 hex "Zero page offset"
554 default "0x00004000" if SH_SH03
555 default "0x00010000" if PAGE_SIZE_64KB
556 default "0x00002000" if PAGE_SIZE_8KB
559 This sets the default offset of zero page.
561 config BOOT_LINK_OFFSET
562 hex "Link address offset for booting"
565 This option allows you to set the link address offset of the zImage.
566 This can be useful if you are on a board which has a small amount of
570 bool "Wakeup UBC on startup"
571 depends on CPU_SH4 && !CPU_SH4A
573 Selecting this option will wakeup the User Break Controller (UBC) on
574 startup. Although the UBC is left in an awake state when the processor
575 comes up, some boot loaders misbehave by putting the UBC to sleep in a
576 power saving state, which causes issues with things like ptrace().
581 bool "Default bootloader kernel arguments"
584 string "Initial kernel command string"
585 depends on CMDLINE_BOOL
586 default "console=ttySC1,115200"
592 # Even on SuperH devices which don't have an ISA bus,
593 # this variable helps the PCMCIA modules handle
594 # IRQ requesting properly -- Greg Banks.
596 # Though we're generally not interested in it when
597 # we're not using PCMCIA, so we make it dependent on
598 # PCMCIA outright. -- PFM.
601 depends on PCMCIA && HD6446X_SERIES
603 Find out whether you have ISA slots on your motherboard. ISA is the
604 name of a bus system, i.e. the way the CPU talks to the other stuff
605 inside your box. Other bus systems are PCI, EISA, MicroChannel
606 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
607 newer boards don't support it. If you have ISA, say Y, otherwise N.
612 The Extended Industry Standard Architecture (EISA) bus was
613 developed as an open alternative to the IBM MicroChannel bus.
615 The EISA bus provided some of the features of the IBM MicroChannel
616 bus while maintaining backward compatibility with cards made for
617 the older ISA bus. The EISA bus saw limited use between 1988 and
618 1995 when it was made obsolete by the PCI bus.
620 Say Y here if you are building a kernel for an EISA-based machine.
627 MicroChannel Architecture is found in some IBM PS/2 machines and
628 laptops. It is a bus system similar to PCI or ISA. See
629 <file:Documentation/mca.txt> (and especially the web page given
630 there) before attempting to build an MCA bus kernel.
636 tristate "SuperHyway Bus support"
637 depends on CPU_SUBTYPE_SH4_202
640 bool "Maple Bus support"
641 depends on SH_DREAMCAST
643 The Maple Bus is SEGA's serial communication bus for peripherals
644 on the Dreamcast. Without this bus support you won't be able to
645 get your Dreamcast keyboard etc to work, so most users
646 probably want to say 'Y' here, unless you are only using the
647 Dreamcast with a serial line terminal or a remote network
651 bool "Compact Flash Enabler support"
652 depends on SOLUTION_ENGINE || SH_SH03
654 Compact Flash is a small, removable mass storage device introduced
655 in 1994 originally as a PCMCIA device. If you say `Y' here, you
656 compile in support for Compact Flash devices directly connected to
657 a SuperH processor. A Compact Flash FAQ is available at
658 <http://www.compactflash.org/faqs/faq.htm>.
660 If your board has "Directly Connected" CompactFlash at area 5 or 6,
661 you may want to enable this option. Then, you can use CF as
662 primary IDE drive (only tested for SanDisk).
664 If in doubt, select 'N'.
667 prompt "Compact Flash Connection Area"
668 depends on CF_ENABLER
674 If your board has "Directly Connected" CompactFlash, You should
675 select the area where your CF is connected to.
677 - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
678 - "Area6" if it is connected to Area 6 (0x18000000)
680 "Area6" will work for most boards.
689 depends on CF_ENABLER
690 default "0xb8000000" if CF_AREA6
691 default "0xb4000000" if CF_AREA5
693 source "arch/sh/drivers/pci/Kconfig"
695 source "drivers/pci/Kconfig"
697 source "drivers/pcmcia/Kconfig"
699 source "drivers/pci/hotplug/Kconfig"
703 menu "Executable file formats"
705 source "fs/Kconfig.binfmt"
709 menu "Power management options (EXPERIMENTAL)"
710 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
712 config ARCH_SUSPEND_POSSIBLE
716 source kernel/power/Kconfig
722 source "drivers/Kconfig"
726 source "arch/sh/Kconfig.debug"
728 source "security/Kconfig"
730 source "crypto/Kconfig"