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