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