Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6
[pandora-kernel.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 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         select CPU_HAS_INTC2_IRQ
262         depends on CPU_SUBTYPE_SH7780
263         help
264           Select 7780 SolutionEngine if configuring for a Renesas SH7780
265           evaluation board.
266
267 config SH_7343_SOLUTION_ENGINE
268         bool "SolutionEngine7343"
269         select SOLUTION_ENGINE
270         depends on CPU_SUBTYPE_SH7343
271         help
272           Select 7343 SolutionEngine if configuring for a Hitachi
273           SH7343 (SH-Mobile 3AS) evaluation board.
274
275 config SH_7751_SYSTEMH
276         bool "SystemH7751R"
277         depends on CPU_SUBTYPE_SH7751R
278         help
279           Select SystemH if you are configuring for a Renesas SystemH
280           7751R evaluation board.
281
282 config SH_HP6XX
283         bool "HP6XX"
284         select SYS_SUPPORTS_APM_EMULATION
285         select HD6446X_SERIES
286         depends on CPU_SUBTYPE_SH7709
287         help
288           Select HP6XX if configuring for a HP jornada HP6xx.
289           More information (hardware only) at
290           <http://www.hp.com/jornada/>.
291
292 config SH_DREAMCAST
293         bool "Dreamcast"
294         select SYS_SUPPORTS_PCI
295         depends on CPU_SUBTYPE_SH7091
296         help
297           Select Dreamcast if configuring for a SEGA Dreamcast.
298           More information at
299           <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
300           Dreamcast project is at <http://linuxdc.sourceforge.net/>.
301
302 config SH_MPC1211
303         bool "Interface MPC1211"
304         depends on CPU_SUBTYPE_SH7751 && BROKEN
305         help
306           CTP/PCI-SH02 is a CPU module computer that is produced
307           by Interface Corporation.
308           More information at <http://www.interface.co.jp>
309
310 config SH_SH03
311         bool "Interface CTP/PCI-SH03"
312         depends on CPU_SUBTYPE_SH7751 && BROKEN
313         select CPU_HAS_IPR_IRQ
314         select SYS_SUPPORTS_PCI
315         help
316           CTP/PCI-SH03 is a CPU module computer that is produced
317           by Interface Corporation.
318           More information at <http://www.interface.co.jp>
319
320 config SH_SECUREEDGE5410
321         bool "SecureEdge5410"
322         depends on CPU_SUBTYPE_SH7751R
323         select CPU_HAS_IPR_IRQ
324         select SYS_SUPPORTS_PCI
325         help
326           Select SecureEdge5410 if configuring for a SnapGear SH board.
327           This includes both the OEM SecureEdge products as well as the
328           SME product line.
329
330 config SH_HS7751RVOIP
331         bool "HS7751RVOIP"
332         depends on CPU_SUBTYPE_SH7751R
333         help
334           Select HS7751RVOIP if configuring for a Renesas Technology
335           Sales VoIP board.
336
337 config SH_7710VOIPGW
338         bool "SH7710-VOIP-GW"
339         depends on CPU_SUBTYPE_SH7710
340         help
341           Select this option to build a kernel for the SH7710 based
342           VOIP GW.
343
344 config SH_RTS7751R2D
345         bool "RTS7751R2D"
346         depends on CPU_SUBTYPE_SH7751R
347         select SYS_SUPPORTS_PCI
348         help
349           Select RTS7751R2D if configuring for a Renesas Technology
350           Sales SH-Graphics board.
351
352 config SH_HIGHLANDER
353         bool "Highlander"
354         depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
355         select SYS_SUPPORTS_PCI
356
357 config SH_EDOSK7705
358         bool "EDOSK7705"
359         depends on CPU_SUBTYPE_SH7705
360
361 config SH_SH4202_MICRODEV
362         bool "SH4-202 MicroDev"
363         depends on CPU_SUBTYPE_SH4_202
364         help
365           Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
366           with an SH4-202 CPU.
367
368 config SH_LANDISK
369         bool "LANDISK"
370         depends on CPU_SUBTYPE_SH7751R
371         select SYS_SUPPORTS_PCI
372         help
373           I-O DATA DEVICE, INC. "LANDISK Series" support.
374
375 config SH_TITAN
376         bool "TITAN"
377         depends on CPU_SUBTYPE_SH7751R
378         select CPU_HAS_IPR_IRQ
379         select SYS_SUPPORTS_PCI
380         help
381           Select Titan if you are configuring for a Nimble Microsystems
382           NetEngine NP51R.
383
384 config SH_SHMIN
385         bool "SHMIN"
386         depends on CPU_SUBTYPE_SH7706
387         select CPU_HAS_IPR_IRQ
388         help
389           Select SHMIN if configuring for the SHMIN board.
390
391 config SH_LBOX_RE2
392         bool "L-BOX RE2"
393         depends on CPU_SUBTYPE_SH7751R
394         select SYS_SUPPORTS_PCI
395         help
396           Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
397
398 endmenu
399
400 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
401 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
402 source "arch/sh/boards/renesas/r7780rp/Kconfig"
403
404 menu "Timer and clock configuration"
405
406 config SH_TMU
407         bool "TMU timer support"
408         depends on CPU_SH3 || CPU_SH4
409         select GENERIC_TIME
410         select GENERIC_CLOCKEVENTS
411         default y
412         help
413           This enables the use of the TMU as the system timer.
414
415 config SH_CMT
416         bool "CMT timer support"
417         depends on CPU_SH2
418         default y
419         help
420           This enables the use of the CMT as the system timer.
421
422 config SH_MTU2
423         bool "MTU2 timer support"
424         depends on CPU_SH2A
425         default n
426         help
427           This enables the use of the MTU2 as the system timer.
428
429 config SH_TIMER_IRQ
430         int
431         default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
432         default "86" if CPU_SUBTYPE_SH7619
433         default "140" if CPU_SUBTYPE_SH7206
434         default "16"
435
436 config SH_PCLK_FREQ
437         int "Peripheral clock frequency (in Hz)"
438         default "27000000" if CPU_SUBTYPE_SH7343
439         default "31250000" if CPU_SUBTYPE_SH7619
440         default "32000000" if CPU_SUBTYPE_SH7722
441         default "33333333" if CPU_SUBTYPE_SH7770 || \
442                               CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
443                               CPU_SUBTYPE_SH7206
444         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
445         default "66000000" if CPU_SUBTYPE_SH4_202
446         default "50000000"
447         help
448           This option is used to specify the peripheral clock frequency.
449           This is necessary for determining the reference clock value on
450           platforms lacking an RTC.
451
452 config SH_CLK_MD
453         int "CPU Mode Pin Setting"
454         depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
455         default 6 if CPU_SUBTYPE_SH7206
456         default 5 if CPU_SUBTYPE_SH7619
457         default 0
458         help
459           MD2 - MD0 pin setting.
460
461 source "kernel/time/Kconfig"
462
463 endmenu
464
465 menu "CPU Frequency scaling"
466
467 source "drivers/cpufreq/Kconfig"
468
469 config SH_CPU_FREQ
470         tristate "SuperH CPU Frequency driver"
471         depends on CPU_FREQ
472         select CPU_FREQ_TABLE
473         help
474           This adds the cpufreq driver for SuperH. At present, only
475           the SH-4 is supported.
476
477           For details, take a look at <file:Documentation/cpu-freq>.
478
479           If unsure, say N.
480
481 endmenu
482
483 source "arch/sh/drivers/Kconfig"
484
485 endmenu
486
487 config ISA_DMA_API
488         bool
489         depends on SH_MPC1211
490         default y
491
492 menu "Kernel features"
493
494 source kernel/Kconfig.hz
495
496 config KEXEC
497         bool "kexec system call (EXPERIMENTAL)"
498         depends on EXPERIMENTAL
499         help
500           kexec is a system call that implements the ability to shutdown your
501           current kernel, and to start another kernel.  It is like a reboot
502           but it is independent of the system firmware.  And like a reboot
503           you can start any kernel with it, not just Linux.
504
505           The name comes from the similarity to the exec system call.
506
507           It is an ongoing process to be certain the hardware in a machine
508           is properly shutdown, so do not be surprised if this code does not
509           initially work for you.  It may help to enable device hotplugging
510           support.  As of this writing the exact hardware interface is
511           strongly in flux, so no good recommendation can be made.
512
513 config CRASH_DUMP
514         bool "kernel crash dumps (EXPERIMENTAL)"
515         depends on EXPERIMENTAL
516         help
517           Generate crash dump after being started by kexec.
518           This should be normally only set in special crash dump kernels
519           which are loaded in the main kernel with kexec-tools into
520           a specially reserved region and then later executed after
521           a crash by kdump/kexec. The crash dump kernel must be compiled
522           to a memory address not used by the main kernel using
523           MEMORY_START.
524
525           For more details see Documentation/kdump/kdump.txt
526
527 config SMP
528         bool "Symmetric multi-processing support"
529         depends on SYS_SUPPORTS_SMP
530         ---help---
531           This enables support for systems with more than one CPU. If you have
532           a system with only one CPU, like most personal computers, say N. If
533           you have a system with more than one CPU, say Y.
534
535           If you say N here, the kernel will run on single and multiprocessor
536           machines, but will use only one CPU of a multiprocessor machine. If
537           you say Y here, the kernel will run on many, but not all,
538           singleprocessor machines. On a singleprocessor machine, the kernel
539           will run faster if you say N here.
540
541           People using multiprocessor machines who say Y here should also say
542           Y to "Enhanced Real Time Clock Support", below.
543
544           See also the <file:Documentation/smp.txt>,
545           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
546           at <http://www.tldp.org/docs.html#howto>.
547
548           If you don't know what to do here, say N.
549
550 config NR_CPUS
551         int "Maximum number of CPUs (2-32)"
552         range 2 32
553         depends on SMP
554         default "4" if CPU_SHX3
555         default "2"
556         help
557           This allows you to specify the maximum number of CPUs which this
558           kernel will support.  The maximum supported value is 32 and the
559           minimum value which makes sense is 2.
560
561           This is purely to save memory - each supported CPU adds
562           approximately eight kilobytes to the kernel image.
563
564 source "kernel/Kconfig.preempt"
565
566 config NODES_SHIFT
567         int
568         default "1"
569         depends on NEED_MULTIPLE_NODES
570
571 endmenu
572
573 menu "Boot options"
574
575 config ZERO_PAGE_OFFSET
576         hex "Zero page offset"
577         default "0x00004000" if SH_MPC1211 || SH_SH03
578         default "0x00010000" if PAGE_SIZE_64KB
579         default "0x00002000" if PAGE_SIZE_8KB
580         default "0x00001000"
581         help
582           This sets the default offset of zero page.
583
584 config BOOT_LINK_OFFSET
585         hex "Link address offset for booting"
586         default "0x00800000"
587         help
588           This option allows you to set the link address offset of the zImage.
589           This can be useful if you are on a board which has a small amount of
590           memory.
591
592 config UBC_WAKEUP
593         bool "Wakeup UBC on startup"
594         depends on CPU_SH4
595         help
596           Selecting this option will wakeup the User Break Controller (UBC) on
597           startup. Although the UBC is left in an awake state when the processor
598           comes up, some boot loaders misbehave by putting the UBC to sleep in a
599           power saving state, which causes issues with things like ptrace().
600
601           If unsure, say N.
602
603 config CMDLINE_BOOL
604         bool "Default bootloader kernel arguments"
605
606 config CMDLINE
607         string "Initial kernel command string"
608         depends on CMDLINE_BOOL
609         default "console=ttySC1,115200"
610
611 endmenu
612
613 menu "Bus options"
614
615 # Even on SuperH devices which don't have an ISA bus,
616 # this variable helps the PCMCIA modules handle
617 # IRQ requesting properly -- Greg Banks.
618 #
619 # Though we're generally not interested in it when
620 # we're not using PCMCIA, so we make it dependent on
621 # PCMCIA outright. -- PFM.
622 config ISA
623         def_bool y
624         depends on PCMCIA && HD6446X_SERIES
625         help
626           Find out whether you have ISA slots on your motherboard.  ISA is the
627           name of a bus system, i.e. the way the CPU talks to the other stuff
628           inside your box.  Other bus systems are PCI, EISA, MicroChannel
629           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
630           newer boards don't support it.  If you have ISA, say Y, otherwise N.
631
632 config EISA
633         bool
634         ---help---
635           The Extended Industry Standard Architecture (EISA) bus was
636           developed as an open alternative to the IBM MicroChannel bus.
637
638           The EISA bus provided some of the features of the IBM MicroChannel
639           bus while maintaining backward compatibility with cards made for
640           the older ISA bus.  The EISA bus saw limited use between 1988 and
641           1995 when it was made obsolete by the PCI bus.
642
643           Say Y here if you are building a kernel for an EISA-based machine.
644
645           Otherwise, say N.
646
647 config MCA
648         bool
649         help
650           MicroChannel Architecture is found in some IBM PS/2 machines and
651           laptops.  It is a bus system similar to PCI or ISA. See
652           <file:Documentation/mca.txt> (and especially the web page given
653           there) before attempting to build an MCA bus kernel.
654
655 config SBUS
656         bool
657
658 config SUPERHYWAY
659         tristate "SuperHyway Bus support"
660         depends on CPU_SUBTYPE_SH4_202
661
662 config CF_ENABLER
663         bool "Compact Flash Enabler support"
664         depends on SOLUTION_ENGINE || SH_SH03
665         ---help---
666           Compact Flash is a small, removable mass storage device introduced
667           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
668           compile in support for Compact Flash devices directly connected to
669           a SuperH processor.  A Compact Flash FAQ is available at
670           <http://www.compactflash.org/faqs/faq.htm>.
671
672           If your board has "Directly Connected" CompactFlash at area 5 or 6,
673           you may want to enable this option.  Then, you can use CF as
674           primary IDE drive (only tested for SanDisk).
675
676           If in doubt, select 'N'.
677
678 choice
679         prompt "Compact Flash Connection Area"
680         depends on CF_ENABLER
681         default CF_AREA6
682
683 config CF_AREA5
684         bool "Area5"
685         help
686           If your board has "Directly Connected" CompactFlash, You should
687           select the area where your CF is connected to.
688
689           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
690           - "Area6" if it is connected to Area 6 (0x18000000)
691
692           "Area6" will work for most boards.
693
694 config CF_AREA6
695         bool "Area6"
696
697 endchoice
698
699 config CF_BASE_ADDR
700         hex
701         depends on CF_ENABLER
702         default "0xb8000000" if CF_AREA6
703         default "0xb4000000" if CF_AREA5
704
705 source "arch/sh/drivers/pci/Kconfig"
706
707 source "drivers/pci/Kconfig"
708
709 source "drivers/pcmcia/Kconfig"
710
711 source "drivers/pci/hotplug/Kconfig"
712
713 endmenu
714
715 menu "Executable file formats"
716
717 source "fs/Kconfig.binfmt"
718
719 endmenu
720
721 menu "Power management options (EXPERIMENTAL)"
722 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
723
724 source kernel/power/Kconfig
725
726 endmenu
727
728 source "net/Kconfig"
729
730 source "drivers/Kconfig"
731
732 source "fs/Kconfig"
733
734 source "arch/sh/oprofile/Kconfig"
735
736 source "arch/sh/Kconfig.debug"
737
738 source "security/Kconfig"
739
740 source "crypto/Kconfig"
741
742 source "lib/Kconfig"