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