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