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