sh: show held locks in stack trace with lockdep.
[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_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_SR_RB
379         bool "CPU has SR.RB"
380         depends on CPU_SH3 || CPU_SH4
381         default y
382         help
383           This will enable the use of SR.RB register bank usage. Processors
384           that are lacking this bit must have another method in place for
385           accomplishing what is taken care of by the banked registers.
386
387           See <file:Documentation/sh/register-banks.txt> for further
388           information on SR.RB and register banking in the kernel in general.
389
390 config CPU_HAS_PTEA
391         bool
392
393 endmenu
394
395 menu "Timer support"
396 depends on !GENERIC_TIME
397
398 config SH_TMU
399         bool "TMU timer support"
400         depends on CPU_SH3 || CPU_SH4
401         default y
402         help
403           This enables the use of the TMU as the system timer.
404
405 config SH_CMT
406         bool "CMT timer support"
407         depends on CPU_SH2
408         default y
409         help
410           This enables the use of the CMT as the system timer.
411
412 config SH_MTU2
413         bool "MTU2 timer support"
414         depends on CPU_SH2A
415         default n
416         help
417           This enables the use of the MTU2 as the system timer.
418
419 endmenu
420
421 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
422
423 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
424
425 source "arch/sh/boards/renesas/r7780rp/Kconfig"
426
427 config SH_TIMER_IRQ
428         int
429         default "28" if CPU_SUBTYPE_SH7780
430         default "86" if CPU_SUBTYPE_SH7619
431         default "140" if CPU_SUBTYPE_SH7206
432         default "16"
433
434 config NO_IDLE_HZ
435         bool "Dynamic tick timer"
436         help
437           Select this option if you want to disable continuous timer ticks
438           and have them programmed to occur as required. This option saves
439           power as the system can remain in idle state for longer.
440
441           By default dynamic tick is disabled during the boot, and can be
442           manually enabled with:
443
444             echo 1 > /sys/devices/system/timer/timer0/dyn_tick
445
446           Alternatively, if you want dynamic tick automatically enabled
447           during boot, pass "dyntick=enable" via the kernel command string.
448
449           Please note that dynamic tick may affect the accuracy of
450           timekeeping on some platforms depending on the implementation.
451
452 config SH_PCLK_FREQ
453         int "Peripheral clock frequency (in Hz)"
454         default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
455         default "31250000" if CPU_SUBTYPE_SH7619
456         default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
457                               CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
458                               CPU_SUBTYPE_SH7206
459         default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
460         default "60000000" if CPU_SUBTYPE_SH7751
461         default "66000000" if CPU_SUBTYPE_SH4_202
462         help
463           This option is used to specify the peripheral clock frequency.
464           This is necessary for determining the reference clock value on
465           platforms lacking an RTC.
466
467 config SH_CLK_MD
468         int "CPU Mode Pin Setting"
469         depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
470         help
471           MD2 - MD0 Setting.
472
473 menu "CPU Frequency scaling"
474
475 source "drivers/cpufreq/Kconfig"
476
477 config SH_CPU_FREQ
478         tristate "SuperH CPU Frequency driver"
479         depends on CPU_FREQ
480         select CPU_FREQ_TABLE
481         help
482           This adds the cpufreq driver for SuperH. At present, only
483           the SH-4 is supported.
484
485           For details, take a look at <file:Documentation/cpu-freq>.
486
487           If unsure, say N.
488
489 endmenu
490
491 source "arch/sh/drivers/dma/Kconfig"
492
493 source "arch/sh/cchips/Kconfig"
494
495 config HEARTBEAT
496         bool "Heartbeat LED"
497         depends on SH_MPC1211 || SH_SH03 || \
498                    SH_BIGSUR || SOLUTION_ENGINE || \
499                    SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK
500         help
501           Use the power-on LED on your machine as a load meter.  The exact
502           behavior is platform-dependent, but normally the flash frequency is
503           a hyperbolic function of the 5-minute load average.
504
505 source "arch/sh/drivers/Kconfig"
506
507 endmenu
508
509 config ISA_DMA_API
510         bool
511         depends on SH_MPC1211
512         default y
513
514 menu "Kernel features"
515
516 source kernel/Kconfig.hz
517
518 config KEXEC
519         bool "kexec system call (EXPERIMENTAL)"
520         depends on EXPERIMENTAL
521         help
522           kexec is a system call that implements the ability to shutdown your
523           current kernel, and to start another kernel.  It is like a reboot
524           but it is independent of the system firmware.  And like a reboot
525           you can start any kernel with it, not just Linux.
526
527           The name comes from the similarity to the exec system call.
528
529           It is an ongoing process to be certain the hardware in a machine
530           is properly shutdown, so do not be surprised if this code does not
531           initially work for you.  It may help to enable device hotplugging
532           support.  As of this writing the exact hardware interface is
533           strongly in flux, so no good recommendation can be made.
534
535 config SMP
536         bool "Symmetric multi-processing support"
537         ---help---
538           This enables support for systems with more than one CPU. If you have
539           a system with only one CPU, like most personal computers, say N. If
540           you have a system with more than one CPU, say Y.
541
542           If you say N here, the kernel will run on single and multiprocessor
543           machines, but will use only one CPU of a multiprocessor machine. If
544           you say Y here, the kernel will run on many, but not all,
545           singleprocessor machines. On a singleprocessor machine, the kernel
546           will run faster if you say N here.
547
548           People using multiprocessor machines who say Y here should also say
549           Y to "Enhanced Real Time Clock Support", below.
550
551           See also the <file:Documentation/smp.txt>,
552           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
553           at <http://www.tldp.org/docs.html#howto>.
554
555           If you don't know what to do here, say N.
556
557 config NR_CPUS
558         int "Maximum number of CPUs (2-32)"
559         range 2 32
560         depends on SMP
561         default "2"
562         help
563           This allows you to specify the maximum number of CPUs which this
564           kernel will support.  The maximum supported value is 32 and the
565           minimum value which makes sense is 2.
566
567           This is purely to save memory - each supported CPU adds
568           approximately eight kilobytes to the kernel image.
569
570 source "kernel/Kconfig.preempt"
571
572 config CPU_HAS_SR_RB
573         bool "CPU has SR.RB"
574         depends on CPU_SH3 || CPU_SH4
575         default y
576         help
577           This will enable the use of SR.RB register bank usage. Processors
578           that are lacking this bit must have another method in place for
579           accomplishing what is taken care of by the banked registers.
580
581           See <file:Documentation/sh/register-banks.txt> for further
582           information on SR.RB and register banking in the kernel in general.
583
584 config NODES_SHIFT
585         int
586         default "1"
587         depends on NEED_MULTIPLE_NODES
588
589 endmenu
590
591 menu "Boot options"
592
593 config ZERO_PAGE_OFFSET
594         hex "Zero page offset"
595         default "0x00004000" if SH_MPC1211 || SH_SH03
596         default "0x00001000"
597         help
598           This sets the default offset of zero page.
599
600 config BOOT_LINK_OFFSET
601         hex "Link address offset for booting"
602         default "0x00800000"
603         help
604           This option allows you to set the link address offset of the zImage.
605           This can be useful if you are on a board which has a small amount of
606           memory.
607
608 config UBC_WAKEUP
609         bool "Wakeup UBC on startup"
610         help
611           Selecting this option will wakeup the User Break Controller (UBC) on
612           startup. Although the UBC is left in an awake state when the processor
613           comes up, some boot loaders misbehave by putting the UBC to sleep in a
614           power saving state, which causes issues with things like ptrace().
615
616           If unsure, say N.
617
618 config CMDLINE_BOOL
619         bool "Default bootloader kernel arguments"
620
621 config CMDLINE
622         string "Initial kernel command string"
623         depends on CMDLINE_BOOL
624         default "console=ttySC1,115200"
625
626 endmenu
627
628 menu "Bus options"
629
630 # Even on SuperH devices which don't have an ISA bus,
631 # this variable helps the PCMCIA modules handle
632 # IRQ requesting properly -- Greg Banks.
633 #
634 # Though we're generally not interested in it when
635 # we're not using PCMCIA, so we make it dependent on
636 # PCMCIA outright. -- PFM.
637 config ISA
638         bool
639         default y if PCMCIA
640         help
641           Find out whether you have ISA slots on your motherboard.  ISA is the
642           name of a bus system, i.e. the way the CPU talks to the other stuff
643           inside your box.  Other bus systems are PCI, EISA, MicroChannel
644           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
645           newer boards don't support it.  If you have ISA, say Y, otherwise N.
646
647 config EISA
648         bool
649         ---help---
650           The Extended Industry Standard Architecture (EISA) bus was
651           developed as an open alternative to the IBM MicroChannel bus.
652
653           The EISA bus provided some of the features of the IBM MicroChannel
654           bus while maintaining backward compatibility with cards made for
655           the older ISA bus.  The EISA bus saw limited use between 1988 and
656           1995 when it was made obsolete by the PCI bus.
657
658           Say Y here if you are building a kernel for an EISA-based machine.
659
660           Otherwise, say N.
661
662 config MCA
663         bool
664         help
665           MicroChannel Architecture is found in some IBM PS/2 machines and
666           laptops.  It is a bus system similar to PCI or ISA. See
667           <file:Documentation/mca.txt> (and especially the web page given
668           there) before attempting to build an MCA bus kernel.
669
670 config SBUS
671         bool
672
673 config SUPERHYWAY
674         tristate "SuperHyway Bus support"
675         depends on CPU_SUBTYPE_SH4_202
676
677 source "arch/sh/drivers/pci/Kconfig"
678
679 source "drivers/pci/Kconfig"
680
681 source "drivers/pcmcia/Kconfig"
682
683 source "drivers/pci/hotplug/Kconfig"
684
685 endmenu
686
687 menu "Executable file formats"
688
689 source "fs/Kconfig.binfmt"
690
691 endmenu
692
693 menu "Power management options (EXPERIMENTAL)"
694 depends on EXPERIMENTAL
695
696 source kernel/power/Kconfig
697
698 config APM
699         bool "Advanced Power Management Emulation"
700         depends on PM
701 endmenu
702
703 source "net/Kconfig"
704
705 source "drivers/Kconfig"
706
707 source "fs/Kconfig"
708
709 source "arch/sh/oprofile/Kconfig"
710
711 source "arch/sh/Kconfig.debug"
712
713 source "security/Kconfig"
714
715 source "crypto/Kconfig"
716
717 source "lib/Kconfig"