thinkpad-acpi: support the second fan on the X61
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / sh / Kconfig
blob5c9cbfc14c4d5ad9ad06bf18f3a4b2f523eebd0b
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux/SuperH Kernel Configuration"
8 config SUPERH
9         def_bool y
10         select EMBEDDED
11         select HAVE_CLK
12         select HAVE_IDE
13         select HAVE_OPROFILE
14         select HAVE_GENERIC_DMA_COHERENT
15         select HAVE_IOREMAP_PROT if MMU
16         help
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/>.
22 config SUPERH32
23         def_bool !SUPERH64
24         select HAVE_KPROBES
25         select HAVE_KRETPROBES
26         select HAVE_ARCH_TRACEHOOK
27         select HAVE_FUNCTION_TRACER
29 config SUPERH64
30         def_bool y if CPU_SH5
32 config ARCH_DEFCONFIG
33         string
34         default "arch/sh/configs/shx3_defconfig" if SUPERH32
35         default "arch/sh/configs/cayman_defconfig" if SUPERH64
37 config RWSEM_GENERIC_SPINLOCK
38         def_bool y
40 config RWSEM_XCHGADD_ALGORITHM
41         bool
43 config GENERIC_BUG
44         def_bool y
45         depends on BUG && SUPERH32
47 config GENERIC_FIND_NEXT_BIT
48         def_bool y
50 config GENERIC_HWEIGHT
51         def_bool y
53 config GENERIC_HARDIRQS
54         def_bool y
56 config GENERIC_HARDIRQS_NO__DO_IRQ
57         def_bool y
58         depends on SUPERH32 && (!SH_DREAMCAST && !SH_SH4202_MICRODEV && \
59                                 !SH_7751_SYSTEMH && !HD64461)
61 config GENERIC_IRQ_PROBE
62         def_bool y
64 config GENERIC_GPIO
65         def_bool n
67 config GENERIC_CALIBRATE_DELAY
68         bool
70 config GENERIC_IOMAP
71         bool
73 config GENERIC_TIME
74         def_bool n
76 config GENERIC_CLOCKEVENTS
77         def_bool n
79 config GENERIC_CLOCKEVENTS_BROADCAST
80         bool
82 config GENERIC_LOCKBREAK
83         def_bool y
84         depends on SMP && PREEMPT
86 config SYS_SUPPORTS_PM
87         bool
89 config SYS_SUPPORTS_APM_EMULATION
90         bool
91         select SYS_SUPPORTS_PM
93 config SYS_SUPPORTS_SMP
94         bool
96 config SYS_SUPPORTS_NUMA
97         bool
99 config SYS_SUPPORTS_PCI
100         bool
102 config STACKTRACE_SUPPORT
103         def_bool y
105 config LOCKDEP_SUPPORT
106         def_bool y
108 config HAVE_LATENCYTOP_SUPPORT
109         def_bool y
110         depends on !SMP
112 config ARCH_HAS_ILOG2_U32
113         def_bool n
115 config ARCH_HAS_ILOG2_U64
116         def_bool n
118 config ARCH_NO_VIRT_TO_BUS
119         def_bool y
121 config IO_TRAPPED
122         bool
124 source "init/Kconfig"
126 source "kernel/Kconfig.freezer"
128 menu "System type"
131 # Processor families
133 config CPU_SH2
134         bool
136 config CPU_SH2A
137         bool
138         select CPU_SH2
140 config CPU_SH3
141         bool
142         select CPU_HAS_INTEVT
143         select CPU_HAS_SR_RB
145 config CPU_SH4
146         bool
147         select CPU_HAS_INTEVT
148         select CPU_HAS_SR_RB
149         select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
150         select CPU_HAS_FPU if !CPU_SH4AL_DSP
152 config CPU_SH4A
153         bool
154         select CPU_SH4
156 config CPU_SH4AL_DSP
157         bool
158         select CPU_SH4A
159         select CPU_HAS_DSP
161 config CPU_SH5
162         bool
163         select CPU_HAS_FPU
165 config CPU_SHX2
166         bool
168 config CPU_SHX3
169         bool
171 choice
172         prompt "Processor sub-type selection"
175 # Processor subtypes
178 # SH-2 Processor Support
180 config CPU_SUBTYPE_SH7619
181         bool "Support SH7619 processor"
182         select CPU_SH2
184 # SH-2A Processor Support
186 config CPU_SUBTYPE_SH7203
187         bool "Support SH7203 processor"
188         select CPU_SH2A
189         select CPU_HAS_FPU
191 config CPU_SUBTYPE_SH7206
192         bool "Support SH7206 processor"
193         select CPU_SH2A
195 config CPU_SUBTYPE_SH7263
196         bool "Support SH7263 processor"
197         select CPU_SH2A
198         select CPU_HAS_FPU
200 config CPU_SUBTYPE_MXG
201         bool "Support MX-G processor"
202         select CPU_SH2A
203         help
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"
210         select CPU_SH3
212 config CPU_SUBTYPE_SH7706
213         bool "Support SH7706 processor"
214         select CPU_SH3
215         help
216           Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
218 config CPU_SUBTYPE_SH7707
219         bool "Support SH7707 processor"
220         select CPU_SH3
221         help
222           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
224 config CPU_SUBTYPE_SH7708
225         bool "Support SH7708 processor"
226         select CPU_SH3
227         help
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"
233         select CPU_SH3
234         help
235           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
237 config CPU_SUBTYPE_SH7710
238         bool "Support SH7710 processor"
239         select CPU_SH3
240         select CPU_HAS_DSP
241         help
242           Select SH7710 if you have a SH3-DSP SH7710 CPU.
244 config CPU_SUBTYPE_SH7712
245         bool "Support SH7712 processor"
246         select CPU_SH3
247         select CPU_HAS_DSP
248         help
249           Select SH7712 if you have a SH3-DSP SH7712 CPU.
251 config CPU_SUBTYPE_SH7720
252         bool "Support SH7720 processor"
253         select CPU_SH3
254         select CPU_HAS_DSP
255         help
256           Select SH7720 if you have a SH3-DSP SH7720 CPU.
258 config CPU_SUBTYPE_SH7721
259         bool "Support SH7721 processor"
260         select CPU_SH3
261         select CPU_HAS_DSP
262         help
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"
269         select CPU_SH4
270         help
271           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
273 config CPU_SUBTYPE_SH7091
274         bool "Support SH7091 processor"
275         select CPU_SH4
276         help
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"
282         select CPU_SH4
284 config CPU_SUBTYPE_SH7750S
285         bool "Support SH7750S processor"
286         select CPU_SH4
288 config CPU_SUBTYPE_SH7751
289         bool "Support SH7751 processor"
290         select CPU_SH4
291         help
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"
297         select CPU_SH4
299 config CPU_SUBTYPE_SH7760
300         bool "Support SH7760 processor"
301         select CPU_SH4
303 config CPU_SUBTYPE_SH4_202
304         bool "Support SH4-202 processor"
305         select CPU_SH4
307 # SH-4A Processor Support
309 config CPU_SUBTYPE_SH7723
310         bool "Support SH7723 processor"
311         select CPU_SH4A
312         select CPU_SHX2
313         select ARCH_SPARSEMEM_ENABLE
314         help
315           Select SH7723 if you have an SH-MobileR2 CPU.
317 config CPU_SUBTYPE_SH7763
318         bool "Support SH7763 processor"
319         select CPU_SH4A
320         help
321           Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
323 config CPU_SUBTYPE_SH7770
324         bool "Support SH7770 processor"
325         select CPU_SH4A
327 config CPU_SUBTYPE_SH7780
328         bool "Support SH7780 processor"
329         select CPU_SH4A
331 config CPU_SUBTYPE_SH7785
332         bool "Support SH7785 processor"
333         select CPU_SH4A
334         select CPU_SHX2
335         select ARCH_SPARSEMEM_ENABLE
336         select SYS_SUPPORTS_NUMA
338 config CPU_SUBTYPE_SHX3
339         bool "Support SH-X3 processor"
340         select CPU_SH4A
341         select CPU_SHX3
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"
351         select CPU_SH4AL_DSP
353 config CPU_SUBTYPE_SH7722
354         bool "Support SH7722 processor"
355         select CPU_SH4AL_DSP
356         select CPU_SHX2
357         select ARCH_SPARSEMEM_ENABLE
358         select SYS_SUPPORTS_NUMA
360 config CPU_SUBTYPE_SH7366
361         bool "Support SH7366 processor"
362         select CPU_SH4AL_DSP
363         select CPU_SHX2
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"
371         select CPU_SH5
373 config CPU_SUBTYPE_SH5_103
374         bool "Support SH5-103 processor"
375         select CPU_SH5
377 endchoice
379 source "arch/sh/mm/Kconfig"
381 source "arch/sh/Kconfig.cpu"
383 source "arch/sh/boards/Kconfig"
385 menu "Timer and clock configuration"
387 config SH_TMU
388         def_bool y
389         prompt "TMU timer support"
390         depends on CPU_SH3 || CPU_SH4
391         select GENERIC_TIME
392         select GENERIC_CLOCKEVENTS
393         help
394           This enables the use of the TMU as the system timer.
396 config SH_CMT
397         def_bool y
398         prompt "CMT timer support"
399         depends on CPU_SH2 && !CPU_SUBTYPE_MXG
400         help
401           This enables the use of the CMT as the system timer.
403 config SH_MTU2
404         def_bool n
405         prompt "MTU2 timer support"
406         depends on CPU_SH2A
407         help
408           This enables the use of the MTU2 as the system timer.
410 config SH_TIMER_IRQ
411         int
412         default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
413                         CPU_SUBTYPE_SH7763
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
418         default "16"
420 config SH_PCLK_FREQ
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
431         default "50000000"
432         help
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.
437 config SH_CLK_MD
438         int "CPU Mode Pin Setting"
439         depends on CPU_SH2
440         default 6 if CPU_SUBTYPE_SH7206
441         default 5 if CPU_SUBTYPE_SH7619
442         default 0
443         help
444           MD2 - MD0 pin setting.
446 source "kernel/time/Kconfig"
448 endmenu
450 menu "CPU Frequency scaling"
452 source "drivers/cpufreq/Kconfig"
454 config SH_CPU_FREQ
455         tristate "SuperH CPU Frequency driver"
456         depends on CPU_FREQ
457         select CPU_FREQ_TABLE
458         help
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>.
464           If unsure, say N.
466 endmenu
468 source "arch/sh/drivers/Kconfig"
470 endmenu
472 config ISA_DMA_API
473         bool
475 menu "Kernel features"
477 source kernel/Kconfig.hz
479 config KEXEC
480         bool "kexec system call (EXPERIMENTAL)"
481         depends on SUPERH32 && EXPERIMENTAL
482         help
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.
496 config CRASH_DUMP
497         bool "kernel crash dumps (EXPERIMENTAL)"
498         depends on SUPERH32 && EXPERIMENTAL
499         help
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
506           MEMORY_START.
508           For more details see Documentation/kdump/kdump.txt
510 config SECCOMP
511         bool "Enable seccomp to safely compute untrusted bytecode"
512         depends on PROC_FS
513         help
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
522           mode.
524           If unsure, say N.
526 config SMP
527         bool "Symmetric multi-processing support"
528         depends on SYS_SUPPORTS_SMP
529         select USE_GENERIC_SMP_HELPERS
530         ---help---
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.
549 config NR_CPUS
550         int "Maximum number of CPUs (2-32)"
551         range 2 32
552         depends on SMP
553         default "4" if CPU_SHX3
554         default "2"
555         help
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"
565 config GUSA
566         def_bool y
567         depends on !SMP && SUPERH32
568         help
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.
579 config GUSA_RB
580         bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
581         depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
582         help
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.
589 endmenu
591 menu "Boot options"
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
598         default "0x00001000"
599         help
600           This sets the default offset of zero page.
602 config BOOT_LINK_OFFSET
603         hex "Link address offset for booting"
604         default "0x00800000"
605         help
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
608           memory.
610 config UBC_WAKEUP
611         bool "Wakeup UBC on startup"
612         depends on CPU_SH4 && !CPU_SH4A
613         help
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().
619           If unsure, say N.
621 config CMDLINE_BOOL
622         bool "Default bootloader kernel arguments"
624 config CMDLINE
625         string "Initial kernel command string"
626         depends on CMDLINE_BOOL
627         default "console=ttySC1,115200"
629 endmenu
631 menu "Bus options"
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.
640 config ISA
641         def_bool y
642         depends on PCMCIA && HD6446X_SERIES
643         help
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.
650 config EISA
651         bool
652         ---help---
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.
663           Otherwise, say N.
665 config MCA
666         bool
667         help
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.
673 config SBUS
674         bool
676 config SUPERHYWAY
677         tristate "SuperHyway Bus support"
678         depends on CPU_SUBTYPE_SH4_202
680 config MAPLE
681        bool "Maple Bus support"
682        depends on SH_DREAMCAST
683        help
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
689          connection.
691 config CF_ENABLER
692         bool "Compact Flash Enabler support"
693         depends on SOLUTION_ENGINE || SH_SH03
694         ---help---
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'.
707 choice
708         prompt "Compact Flash Connection Area"
709         depends on CF_ENABLER
710         default CF_AREA6
712 config CF_AREA5
713         bool "Area5"
714         help
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.
723 config CF_AREA6
724         bool "Area6"
726 endchoice
728 config CF_BASE_ADDR
729         hex
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"
742 endmenu
744 menu "Executable file formats"
746 source "fs/Kconfig.binfmt"
748 endmenu
750 menu "Power management options (EXPERIMENTAL)"
751 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
753 config ARCH_SUSPEND_POSSIBLE
754         def_bool y
755         depends on !SMP
757 source kernel/power/Kconfig
759 endmenu
761 source "net/Kconfig"
763 source "drivers/Kconfig"
765 source "fs/Kconfig"
767 source "arch/sh/Kconfig.debug"
769 source "security/Kconfig"
771 source "crypto/Kconfig"
773 source "lib/Kconfig"