Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerp...
[linux-2.6] / arch / sh / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/SuperH Kernel Configuration"
7
8 config SUPERH
9         bool
10         default y
11         select EMBEDDED
12         help
13           The SuperH is a RISC processor targeted for use in embedded systems
14           and consumer electronics; it was also used in the Sega Dreamcast
15           gaming console.  The SuperH port has a home page at
16           <http://www.linux-sh.org/>.
17
18 config RWSEM_GENERIC_SPINLOCK
19         bool
20         default y
21
22 config RWSEM_XCHGADD_ALGORITHM
23         bool
24
25 config GENERIC_BUG
26         def_bool y
27         depends on BUG
28
29 config GENERIC_FIND_NEXT_BIT
30         bool
31         default y
32
33 config GENERIC_HWEIGHT
34         bool
35         default y
36
37 config GENERIC_HARDIRQS
38         bool
39         default y
40
41 config GENERIC_IRQ_PROBE
42         bool
43         default y
44
45 config GENERIC_CALIBRATE_DELAY
46         bool
47         default y
48
49 config GENERIC_IOMAP
50         bool
51
52 config GENERIC_TIME
53         def_bool n
54
55 config GENERIC_CLOCKEVENTS
56         def_bool n
57
58 config SYS_SUPPORTS_PM
59         bool
60
61 config SYS_SUPPORTS_APM_EMULATION
62         bool
63         select SYS_SUPPORTS_PM
64
65 config SYS_SUPPORTS_SMP
66         bool
67
68 config SYS_SUPPORTS_NUMA
69         bool
70
71 config SYS_SUPPORTS_PCI
72         bool
73
74 config ARCH_MAY_HAVE_PC_FDC
75         bool
76
77 config STACKTRACE_SUPPORT
78         bool
79         default y
80
81 config LOCKDEP_SUPPORT
82         bool
83         default y
84
85 config ARCH_HAS_ILOG2_U32
86         bool
87         default n
88
89 config ARCH_HAS_ILOG2_U64
90         bool
91         default n
92
93 config ARCH_NO_VIRT_TO_BUS
94         def_bool y
95
96 source "init/Kconfig"
97
98 menu "System type"
99
100 source "arch/sh/mm/Kconfig"
101
102 menu "Processor features"
103
104 choice
105         prompt "Endianess selection" 
106         default CPU_LITTLE_ENDIAN
107         help
108           Some SuperH machines can be configured for either little or big
109           endian byte order. These modes require different kernels.
110
111 config CPU_LITTLE_ENDIAN
112         bool "Little Endian"
113
114 config CPU_BIG_ENDIAN
115         bool "Big Endian"
116
117 endchoice
118
119 config SH_FPU
120         bool "FPU support"
121         depends on CPU_HAS_FPU
122         default y
123         help
124           Selecting this option will enable support for SH processors that
125           have FPU units (ie, SH77xx).
126
127           This option must be set in order to enable the FPU.
128
129 config SH_FPU_EMU
130         bool "FPU emulation support"
131         depends on !SH_FPU && EXPERIMENTAL
132         default n
133         help
134           Selecting this option will enable support for software FPU emulation.
135           Most SH-3 users will want to say Y here, whereas most SH-4 users will
136           want to say N.
137
138 config SH_DSP
139         bool "DSP support"
140         depends on CPU_HAS_DSP
141         default y
142         help
143           Selecting this option will enable support for SH processors that
144           have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
145
146           This option must be set in order to enable the DSP.
147
148 config SH_ADC
149         bool "ADC support"
150         depends on CPU_SH3
151         default y
152         help
153           Selecting this option will allow the Linux kernel to use SH3 on-chip
154           ADC module.
155
156           If unsure, say N.
157
158 config SH_STORE_QUEUES
159         bool "Support for Store Queues"
160         depends on CPU_SH4
161         help
162           Selecting this option will enable an in-kernel API for manipulating
163           the store queues integrated in the SH-4 processors.
164
165 config SPECULATIVE_EXECUTION
166         bool "Speculative subroutine return"
167         depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
168         help
169           This enables support for a speculative instruction fetch for
170           subroutine return. There are various pitfalls associated with
171           this, as outlined in the SH7780 hardware manual.
172
173           If unsure, say N.
174
175 config CPU_HAS_INTEVT
176         bool
177
178 config CPU_HAS_MASKREG_IRQ
179         bool
180
181 config CPU_HAS_IPR_IRQ
182         bool
183
184 config CPU_HAS_SR_RB
185         bool
186         help
187           This will enable the use of SR.RB register bank usage. Processors
188           that are lacking this bit must have another method in place for
189           accomplishing what is taken care of by the banked registers.
190
191           See <file:Documentation/sh/register-banks.txt> for further
192           information on SR.RB and register banking in the kernel in general.
193
194 config CPU_HAS_PTEA
195         bool
196
197 config CPU_HAS_DSP
198         bool
199
200 config CPU_HAS_FPU
201         bool
202
203 endmenu
204
205 menu "Board support"
206
207 config SOLUTION_ENGINE
208         bool
209
210 config SH_SOLUTION_ENGINE
211         bool "SolutionEngine"
212         select SOLUTION_ENGINE
213         select CPU_HAS_IPR_IRQ
214         depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
215           CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
216           CPU_SUBTYPE_SH7750R 
217         help
218           Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
219           SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
220
221 config SH_7206_SOLUTION_ENGINE
222         bool "SolutionEngine7206"
223         select SOLUTION_ENGINE
224         depends on CPU_SUBTYPE_SH7206
225         help
226           Select 7206 SolutionEngine if configuring for a Hitachi SH7206
227           evaluation board.
228
229 config SH_7619_SOLUTION_ENGINE
230         bool "SolutionEngine7619"
231         select SOLUTION_ENGINE
232         depends on CPU_SUBTYPE_SH7619
233         help
234           Select 7619 SolutionEngine if configuring for a Hitachi SH7619
235           evaluation board.
236         
237 config SH_7722_SOLUTION_ENGINE
238         bool "SolutionEngine7722"
239         select SOLUTION_ENGINE
240         depends on CPU_SUBTYPE_SH7722
241         help
242           Select 7722 SolutionEngine if configuring for a Hitachi SH772
243           evaluation board.
244
245 config SH_7751_SOLUTION_ENGINE
246         bool "SolutionEngine7751"
247         select SOLUTION_ENGINE
248         select CPU_HAS_IPR_IRQ
249         depends on CPU_SUBTYPE_SH7751
250         help
251           Select 7751 SolutionEngine if configuring for a Hitachi SH7751
252           evaluation board.
253           
254 config SH_7780_SOLUTION_ENGINE
255         bool "SolutionEngine7780"
256         select SOLUTION_ENGINE
257         select SYS_SUPPORTS_PCI
258         depends on CPU_SUBTYPE_SH7780
259         help
260           Select 7780 SolutionEngine if configuring for a Renesas SH7780
261           evaluation board.
262
263 config SH_7343_SOLUTION_ENGINE
264         bool "SolutionEngine7343"
265         select SOLUTION_ENGINE
266         depends on CPU_SUBTYPE_SH7343
267         help
268           Select 7343 SolutionEngine if configuring for a Hitachi
269           SH7343 (SH-Mobile 3AS) evaluation board.
270
271 config SH_7751_SYSTEMH
272         bool "SystemH7751R"
273         depends on CPU_SUBTYPE_SH7751R
274         help
275           Select SystemH if you are configuring for a Renesas SystemH
276           7751R evaluation board.
277
278 config SH_HP6XX
279         bool "HP6XX"
280         select SYS_SUPPORTS_APM_EMULATION
281         select HD6446X_SERIES
282         depends on CPU_SUBTYPE_SH7709
283         help
284           Select HP6XX if configuring for a HP jornada HP6xx.
285           More information (hardware only) at
286           <http://www.hp.com/jornada/>.
287
288 config SH_DREAMCAST
289         bool "Dreamcast"
290         select SYS_SUPPORTS_PCI
291         depends on CPU_SUBTYPE_SH7091
292         help
293           Select Dreamcast if configuring for a SEGA Dreamcast.
294           More information at <http://www.linux-sh.org>
295
296 config SH_MPC1211
297         bool "Interface MPC1211"
298         depends on CPU_SUBTYPE_SH7751 && BROKEN
299         help
300           CTP/PCI-SH02 is a CPU module computer that is produced
301           by Interface Corporation.
302           More information at <http://www.interface.co.jp>
303
304 config SH_SH03
305         bool "Interface CTP/PCI-SH03"
306         depends on CPU_SUBTYPE_SH7751
307         select CPU_HAS_IPR_IRQ
308         select SYS_SUPPORTS_PCI
309         help
310           CTP/PCI-SH03 is a CPU module computer that is produced
311           by Interface Corporation.
312           More information at <http://www.interface.co.jp>
313
314 config SH_SECUREEDGE5410
315         bool "SecureEdge5410"
316         depends on CPU_SUBTYPE_SH7751R
317         select CPU_HAS_IPR_IRQ
318         select SYS_SUPPORTS_PCI
319         help
320           Select SecureEdge5410 if configuring for a SnapGear SH board.
321           This includes both the OEM SecureEdge products as well as the
322           SME product line.
323
324 config SH_HS7751RVOIP
325         bool "HS7751RVOIP"
326         depends on CPU_SUBTYPE_SH7751R
327         help
328           Select HS7751RVOIP if configuring for a Renesas Technology
329           Sales VoIP board.
330
331 config SH_7710VOIPGW
332         bool "SH7710-VOIP-GW"
333         depends on CPU_SUBTYPE_SH7710
334         help
335           Select this option to build a kernel for the SH7710 based
336           VOIP GW.
337
338 config SH_RTS7751R2D
339         bool "RTS7751R2D"
340         depends on CPU_SUBTYPE_SH7751R
341         select SYS_SUPPORTS_PCI
342         help
343           Select RTS7751R2D if configuring for a Renesas Technology
344           Sales SH-Graphics board.
345
346 config SH_HIGHLANDER
347         bool "Highlander"
348         depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
349         select SYS_SUPPORTS_PCI
350
351 config SH_EDOSK7705
352         bool "EDOSK7705"
353         depends on CPU_SUBTYPE_SH7705
354
355 config SH_SH4202_MICRODEV
356         bool "SH4-202 MicroDev"
357         depends on CPU_SUBTYPE_SH4_202
358         help
359           Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
360           with an SH4-202 CPU.
361
362 config SH_LANDISK
363         bool "LANDISK"
364         depends on CPU_SUBTYPE_SH7751R
365         select SYS_SUPPORTS_PCI
366         help
367           I-O DATA DEVICE, INC. "LANDISK Series" support.
368
369 config SH_TITAN
370         bool "TITAN"
371         depends on CPU_SUBTYPE_SH7751R
372         select CPU_HAS_IPR_IRQ
373         select SYS_SUPPORTS_PCI
374         help
375           Select Titan if you are configuring for a Nimble Microsystems
376           NetEngine NP51R.
377
378 config SH_SHMIN
379         bool "SHMIN"
380         depends on CPU_SUBTYPE_SH7706
381         select CPU_HAS_IPR_IRQ
382         help
383           Select SHMIN if configuring for the SHMIN board.
384
385 config SH_LBOX_RE2
386         bool "L-BOX RE2"
387         depends on CPU_SUBTYPE_SH7751R
388         select SYS_SUPPORTS_PCI
389         help
390           Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
391
392 config SH_X3PROTO
393         bool "SH-X3 Prototype board"
394         depends on CPU_SUBTYPE_SHX3
395
396 config SH_MAGIC_PANEL_R2
397         bool "Magic Panel R2"
398         depends on CPU_SUBTYPE_SH7720
399         help
400           Select Magic Panel R2 if configuring for Magic Panel R2.
401
402 endmenu
403
404 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
405 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
406 source "arch/sh/boards/renesas/r7780rp/Kconfig"
407 source "arch/sh/boards/magicpanelr2/Kconfig"
408
409 menu "Timer and clock configuration"
410
411 config SH_TMU
412         bool "TMU timer support"
413         depends on CPU_SH3 || CPU_SH4
414         select GENERIC_TIME
415         select GENERIC_CLOCKEVENTS
416         default y
417         help
418           This enables the use of the TMU as the system timer.
419
420 config SH_CMT
421         bool "CMT timer support"
422         depends on CPU_SH2
423         default y
424         help
425           This enables the use of the CMT as the system timer.
426
427 config SH_MTU2
428         bool "MTU2 timer support"
429         depends on CPU_SH2A
430         default n
431         help
432           This enables the use of the MTU2 as the system timer.
433
434 config SH_TIMER_IRQ
435         int
436         default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
437         default "86" if CPU_SUBTYPE_SH7619
438         default "140" if CPU_SUBTYPE_SH7206
439         default "16"
440
441 config SH_PCLK_FREQ
442         int "Peripheral clock frequency (in Hz)"
443         default "27000000" if CPU_SUBTYPE_SH7343
444         default "31250000" if CPU_SUBTYPE_SH7619
445         default "32000000" if CPU_SUBTYPE_SH7722
446         default "33333333" if CPU_SUBTYPE_SH7770 || \
447                               CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
448                               CPU_SUBTYPE_SH7206
449         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
450         default "66000000" if CPU_SUBTYPE_SH4_202
451         default "50000000"
452         help
453           This option is used to specify the peripheral clock frequency.
454           This is necessary for determining the reference clock value on
455           platforms lacking an RTC.
456
457 config SH_CLK_MD
458         int "CPU Mode Pin Setting"
459         depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
460         default 6 if CPU_SUBTYPE_SH7206
461         default 5 if CPU_SUBTYPE_SH7619
462         default 0
463         help
464           MD2 - MD0 pin setting.
465
466 source "kernel/time/Kconfig"
467
468 endmenu
469
470 menu "CPU Frequency scaling"
471
472 source "drivers/cpufreq/Kconfig"
473
474 config SH_CPU_FREQ
475         tristate "SuperH CPU Frequency driver"
476         depends on CPU_FREQ
477         select CPU_FREQ_TABLE
478         help
479           This adds the cpufreq driver for SuperH. At present, only
480           the SH-4 is supported.
481
482           For details, take a look at <file:Documentation/cpu-freq>.
483
484           If unsure, say N.
485
486 endmenu
487
488 source "arch/sh/drivers/Kconfig"
489
490 endmenu
491
492 config ISA_DMA_API
493         bool
494         depends on SH_MPC1211
495         default y
496
497 menu "Kernel features"
498
499 source kernel/Kconfig.hz
500
501 config KEXEC
502         bool "kexec system call (EXPERIMENTAL)"
503         depends on EXPERIMENTAL
504         help
505           kexec is a system call that implements the ability to shutdown your
506           current kernel, and to start another kernel.  It is like a reboot
507           but it is independent of the system firmware.  And like a reboot
508           you can start any kernel with it, not just Linux.
509
510           The name comes from the similarity to the exec system call.
511
512           It is an ongoing process to be certain the hardware in a machine
513           is properly shutdown, so do not be surprised if this code does not
514           initially work for you.  It may help to enable device hotplugging
515           support.  As of this writing the exact hardware interface is
516           strongly in flux, so no good recommendation can be made.
517
518 config CRASH_DUMP
519         bool "kernel crash dumps (EXPERIMENTAL)"
520         depends on EXPERIMENTAL
521         help
522           Generate crash dump after being started by kexec.
523           This should be normally only set in special crash dump kernels
524           which are loaded in the main kernel with kexec-tools into
525           a specially reserved region and then later executed after
526           a crash by kdump/kexec. The crash dump kernel must be compiled
527           to a memory address not used by the main kernel using
528           MEMORY_START.
529
530           For more details see Documentation/kdump/kdump.txt
531
532 config SMP
533         bool "Symmetric multi-processing support"
534         depends on SYS_SUPPORTS_SMP
535         ---help---
536           This enables support for systems with more than one CPU. If you have
537           a system with only one CPU, like most personal computers, say N. If
538           you have a system with more than one CPU, say Y.
539
540           If you say N here, the kernel will run on single and multiprocessor
541           machines, but will use only one CPU of a multiprocessor machine. If
542           you say Y here, the kernel will run on many, but not all,
543           singleprocessor machines. On a singleprocessor machine, the kernel
544           will run faster if you say N here.
545
546           People using multiprocessor machines who say Y here should also say
547           Y to "Enhanced Real Time Clock Support", below.
548
549           See also the <file:Documentation/smp.txt>,
550           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
551           at <http://www.tldp.org/docs.html#howto>.
552
553           If you don't know what to do here, say N.
554
555 config NR_CPUS
556         int "Maximum number of CPUs (2-32)"
557         range 2 32
558         depends on SMP
559         default "4" if CPU_SHX3
560         default "2"
561         help
562           This allows you to specify the maximum number of CPUs which this
563           kernel will support.  The maximum supported value is 32 and the
564           minimum value which makes sense is 2.
565
566           This is purely to save memory - each supported CPU adds
567           approximately eight kilobytes to the kernel image.
568
569 source "kernel/Kconfig.preempt"
570
571 config GUSA
572         def_bool y
573         depends on !SMP
574         help
575           This enables support for gUSA (general UserSpace Atomicity).
576           This is the default implementation for both UP and non-ll/sc
577           CPUs, and is used by the libc, amongst others.
578
579           For additional information, design information can be found 
580           in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
581
582           This should only be disabled for special cases where alternate
583           atomicity implementations exist.
584
585 endmenu
586
587 menu "Boot options"
588
589 config ZERO_PAGE_OFFSET
590         hex "Zero page offset"
591         default "0x00004000" if SH_MPC1211 || SH_SH03
592         default "0x00010000" if PAGE_SIZE_64KB
593         default "0x00002000" if PAGE_SIZE_8KB
594         default "0x00001000"
595         help
596           This sets the default offset of zero page.
597
598 config BOOT_LINK_OFFSET
599         hex "Link address offset for booting"
600         default "0x00800000"
601         help
602           This option allows you to set the link address offset of the zImage.
603           This can be useful if you are on a board which has a small amount of
604           memory.
605
606 config UBC_WAKEUP
607         bool "Wakeup UBC on startup"
608         depends on CPU_SH4 && !CPU_SH4A
609         help
610           Selecting this option will wakeup the User Break Controller (UBC) on
611           startup. Although the UBC is left in an awake state when the processor
612           comes up, some boot loaders misbehave by putting the UBC to sleep in a
613           power saving state, which causes issues with things like ptrace().
614
615           If unsure, say N.
616
617 config CMDLINE_BOOL
618         bool "Default bootloader kernel arguments"
619
620 config CMDLINE
621         string "Initial kernel command string"
622         depends on CMDLINE_BOOL
623         default "console=ttySC1,115200"
624
625 endmenu
626
627 menu "Bus options"
628
629 # Even on SuperH devices which don't have an ISA bus,
630 # this variable helps the PCMCIA modules handle
631 # IRQ requesting properly -- Greg Banks.
632 #
633 # Though we're generally not interested in it when
634 # we're not using PCMCIA, so we make it dependent on
635 # PCMCIA outright. -- PFM.
636 config ISA
637         def_bool y
638         depends on PCMCIA && HD6446X_SERIES
639         help
640           Find out whether you have ISA slots on your motherboard.  ISA is the
641           name of a bus system, i.e. the way the CPU talks to the other stuff
642           inside your box.  Other bus systems are PCI, EISA, MicroChannel
643           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
644           newer boards don't support it.  If you have ISA, say Y, otherwise N.
645
646 config EISA
647         bool
648         ---help---
649           The Extended Industry Standard Architecture (EISA) bus was
650           developed as an open alternative to the IBM MicroChannel bus.
651
652           The EISA bus provided some of the features of the IBM MicroChannel
653           bus while maintaining backward compatibility with cards made for
654           the older ISA bus.  The EISA bus saw limited use between 1988 and
655           1995 when it was made obsolete by the PCI bus.
656
657           Say Y here if you are building a kernel for an EISA-based machine.
658
659           Otherwise, say N.
660
661 config MCA
662         bool
663         help
664           MicroChannel Architecture is found in some IBM PS/2 machines and
665           laptops.  It is a bus system similar to PCI or ISA. See
666           <file:Documentation/mca.txt> (and especially the web page given
667           there) before attempting to build an MCA bus kernel.
668
669 config SBUS
670         bool
671
672 config SUPERHYWAY
673         tristate "SuperHyway Bus support"
674         depends on CPU_SUBTYPE_SH4_202
675
676 config MAPLE
677        bool "Maple Bus support"
678        depends on SH_DREAMCAST
679        help
680          The Maple Bus is SEGA's serial communication bus for peripherals
681          on the Dreamcast. Without this bus support you won't be able to
682          get your Dreamcast keyboard etc to work, so most users
683          probably want to say 'Y' here, unless you are only using the
684          Dreamcast with a serial line terminal or a remote network
685          connection.
686
687 config CF_ENABLER
688         bool "Compact Flash Enabler support"
689         depends on SOLUTION_ENGINE || SH_SH03
690         ---help---
691           Compact Flash is a small, removable mass storage device introduced
692           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
693           compile in support for Compact Flash devices directly connected to
694           a SuperH processor.  A Compact Flash FAQ is available at
695           <http://www.compactflash.org/faqs/faq.htm>.
696
697           If your board has "Directly Connected" CompactFlash at area 5 or 6,
698           you may want to enable this option.  Then, you can use CF as
699           primary IDE drive (only tested for SanDisk).
700
701           If in doubt, select 'N'.
702
703 choice
704         prompt "Compact Flash Connection Area"
705         depends on CF_ENABLER
706         default CF_AREA6
707
708 config CF_AREA5
709         bool "Area5"
710         help
711           If your board has "Directly Connected" CompactFlash, You should
712           select the area where your CF is connected to.
713
714           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
715           - "Area6" if it is connected to Area 6 (0x18000000)
716
717           "Area6" will work for most boards.
718
719 config CF_AREA6
720         bool "Area6"
721
722 endchoice
723
724 config CF_BASE_ADDR
725         hex
726         depends on CF_ENABLER
727         default "0xb8000000" if CF_AREA6
728         default "0xb4000000" if CF_AREA5
729
730 source "arch/sh/drivers/pci/Kconfig"
731
732 source "drivers/pci/Kconfig"
733
734 source "drivers/pcmcia/Kconfig"
735
736 source "drivers/pci/hotplug/Kconfig"
737
738 endmenu
739
740 menu "Executable file formats"
741
742 source "fs/Kconfig.binfmt"
743
744 endmenu
745
746 menu "Power management options (EXPERIMENTAL)"
747 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
748
749 source kernel/power/Kconfig
750
751 endmenu
752
753 source "net/Kconfig"
754
755 source "drivers/Kconfig"
756
757 source "fs/Kconfig"
758
759 source "kernel/Kconfig.instrumentation"
760
761 source "arch/sh/Kconfig.debug"
762
763 source "security/Kconfig"
764
765 source "crypto/Kconfig"
766
767 source "lib/Kconfig"