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