2549bd82c57faac6fc9b2e15bce679b4f8b822a8
[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         help
12           The SuperH is a RISC processor targeted for use in embedded systems
13           and consumer electronics; it was also used in the Sega Dreamcast
14           gaming console.  The SuperH port has a home page at
15           <http://www.linux-sh.org/>.
16
17 config RWSEM_GENERIC_SPINLOCK
18         bool
19         default y
20
21 config RWSEM_XCHGADD_ALGORITHM
22         bool
23
24 config GENERIC_FIND_NEXT_BIT
25         bool
26         default y
27
28 config GENERIC_HWEIGHT
29         bool
30         default y
31
32 config GENERIC_HARDIRQS
33         bool
34         default y
35
36 config GENERIC_IRQ_PROBE
37         bool
38         default y
39
40 config GENERIC_CALIBRATE_DELAY
41         bool
42         default y
43
44 config GENERIC_IOMAP
45         bool
46
47 config ARCH_MAY_HAVE_PC_FDC
48         bool
49
50 source "init/Kconfig"
51
52 menu "System type"
53
54 choice
55         prompt "SuperH system type"
56         default SH_UNKNOWN
57
58 config SH_SOLUTION_ENGINE
59         bool "SolutionEngine"
60         help
61           Select SolutionEngine if configuring for a Hitachi SH7709
62           or SH7750 evaluation board.
63
64 config SH_7751_SOLUTION_ENGINE
65         bool "SolutionEngine7751"
66         select CPU_SUBTYPE_SH7751
67         help
68           Select 7751 SolutionEngine if configuring for a Hitachi SH7751
69           evaluation board.
70
71 config SH_7300_SOLUTION_ENGINE
72         bool "SolutionEngine7300"
73         select CPU_SUBTYPE_SH7300
74         help
75           Select 7300 SolutionEngine if configuring for a Hitachi SH7300(SH-Mobile V)
76           evaluation board.
77
78 config SH_73180_SOLUTION_ENGINE
79        bool "SolutionEngine73180"
80        select CPU_SUBTYPE_SH73180
81        help
82          Select 73180 SolutionEngine if configuring for a Hitachi SH73180(SH-Mobile 3)
83          evaluation board.
84
85 config SH_7751_SYSTEMH
86         bool "SystemH7751R"
87         select CPU_SUBTYPE_SH7751R
88         help
89           Select SystemH if you are configuring for a Renesas SystemH
90           7751R evaluation board.
91
92 config SH_HP6XX
93         bool "HP6XX"
94         help
95           Select HP6XX if configuring for a HP jornada HP6xx.
96           More information (hardware only) at
97           <http://www.hp.com/jornada/>.
98
99 config SH_EC3104
100         bool "EC3104"
101         help
102           Select EC3104 if configuring for a system with an Eclipse
103           International EC3104 chip, e.g. the Harris AD2000.
104
105 config SH_SATURN
106         bool "Saturn"
107         select CPU_SUBTYPE_SH7604
108         help
109           Select Saturn if configuring for a SEGA Saturn.
110
111 config SH_DREAMCAST
112         bool "Dreamcast"
113         select CPU_SUBTYPE_SH7091
114         help
115           Select Dreamcast if configuring for a SEGA Dreamcast.
116           More information at
117           <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
118           Dreamcast project is at <http://linuxdc.sourceforge.net/>.
119
120 config SH_BIGSUR
121         bool "BigSur"
122
123 config SH_MPC1211
124         bool "Interface MPC1211"
125         help
126           CTP/PCI-SH02 is a CPU module computer that is produced
127           by Interface Corporation.
128           More information at <http://www.interface.co.jp>
129
130 config SH_SH03
131         bool "Interface CTP/PCI-SH03"
132         help
133           CTP/PCI-SH03 is a CPU module computer that is produced
134           by Interface Corporation.
135           More information at <http://www.interface.co.jp>
136
137 config SH_SECUREEDGE5410
138         bool "SecureEdge5410"
139         select CPU_SUBTYPE_SH7751R
140         help
141           Select SecureEdge5410 if configuring for a SnapGear SH board.
142           This includes both the OEM SecureEdge products as well as the
143           SME product line.
144
145 config SH_HS7751RVOIP
146         bool "HS7751RVOIP"
147         select CPU_SUBTYPE_SH7751R
148         help
149           Select HS7751RVOIP if configuring for a Renesas Technology
150           Sales VoIP board.
151
152 config SH_7710VOIPGW
153         bool "SH7710-VOIP-GW"
154         select CPU_SUBTYPE_SH7710
155         help
156           Select this option to build a kernel for the SH7710 based
157           VOIP GW.
158
159 config SH_RTS7751R2D
160         bool "RTS7751R2D"
161         select CPU_SUBTYPE_SH7751R
162         help
163           Select RTS7751R2D if configuring for a Renesas Technology
164           Sales SH-Graphics board.
165
166 config SH_R7780RP
167         bool "R7780RP-1"
168         select CPU_SUBTYPE_SH7780
169         help
170           Select R7780RP-1 if configuring for a Renesas Solutions
171           HIGHLANDER board.
172
173 config SH_EDOSK7705
174         bool "EDOSK7705"
175         select CPU_SUBTYPE_SH7705
176
177 config SH_SH4202_MICRODEV
178         bool "SH4-202 MicroDev"
179         select CPU_SUBTYPE_SH4_202
180         help
181           Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
182           with an SH4-202 CPU.
183
184 config SH_LANDISK
185         bool "LANDISK"
186         select CPU_SUBTYPE_SH7751R
187         help
188           I-O DATA DEVICE, INC. "LANDISK Series" support.
189
190 config SH_TITAN
191         bool "TITAN"
192         select CPU_SUBTYPE_SH7751R
193         help
194           Select Titan if you are configuring for a Nimble Microsystems
195           NetEngine NP51R.
196
197 config SH_SHMIN
198         bool "SHMIN"
199         select CPU_SUBTYPE_SH7706
200         help
201           Select SHMIN if configureing for the SHMIN board
202
203 config SH_UNKNOWN
204         bool "BareCPU"
205         help
206           "Bare CPU" aka "unknown" means an SH-based system which is not one
207           of the specific ones mentioned above, which means you need to enter
208           all sorts of stuff like CONFIG_MEMORY_START because the config
209           system doesn't already know what it is.  You get a machine vector
210           without any platform-specific code in it, so things like the RTC may
211           not work.
212
213           This option is for the early stages of porting to a new machine.
214
215 endchoice
216
217 source "arch/sh/mm/Kconfig"
218
219 config CF_ENABLER
220         bool "Compact Flash Enabler support"
221         depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
222         ---help---
223           Compact Flash is a small, removable mass storage device introduced
224           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
225           compile in support for Compact Flash devices directly connected to
226           a SuperH processor.  A Compact Flash FAQ is available at
227           <http://www.compactflash.org/faqs/faq.htm>.
228
229           If your board has "Directly Connected" CompactFlash at area 5 or 6,
230           you may want to enable this option.  Then, you can use CF as
231           primary IDE drive (only tested for SanDisk).
232
233           If in doubt, select 'N'.
234
235 choice
236         prompt "Compact Flash Connection Area"
237         depends on CF_ENABLER
238         default CF_AREA6
239
240 config CF_AREA5
241         bool "Area5"
242         help
243           If your board has "Directly Connected" CompactFlash, You should
244           select the area where your CF is connected to.
245
246           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
247           - "Area6" if it is connected to Area 6 (0x18000000)
248
249           "Area6" will work for most boards.
250
251 config CF_AREA6
252         bool "Area6"
253
254 endchoice
255
256 config CF_BASE_ADDR
257         hex
258         depends on CF_ENABLER
259         default "0xb8000000" if CF_AREA6
260         default "0xb4000000" if CF_AREA5
261
262 menu "Processor features"
263
264 config CPU_LITTLE_ENDIAN
265         bool "Little Endian"
266         help
267           Some SuperH machines can be configured for either little or big
268           endian byte order. These modes require different kernels. Say Y if
269           your machine is little endian, N if it's a big endian machine.
270
271 config SH_FPU
272         bool "FPU support"
273         depends on !CPU_SH3
274         default y
275         help
276           Selecting this option will enable support for SH processors that
277           have FPU units (ie, SH77xx).
278
279           This option must be set in order to enable the FPU.
280
281 config SH_FPU_EMU
282         bool "FPU emulation support"
283         depends on !SH_FPU && EXPERIMENTAL
284         default n
285         help
286           Selecting this option will enable support for software FPU emulation.
287           Most SH-3 users will want to say Y here, whereas most SH-4 users will
288           want to say N.
289
290 config SH_DSP
291         bool "DSP support"
292         default y if SH4AL_DSP || !CPU_SH4
293         default n
294         help
295           Selecting this option will enable support for SH processors that
296           have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
297
298           This option must be set in order to enable the DSP.
299
300 config SH_ADC
301         bool "ADC support"
302         depends on CPU_SH3
303         default y
304         help
305           Selecting this option will allow the Linux kernel to use SH3 on-chip
306           ADC module.
307
308           If unsure, say N.
309
310 config SH_STORE_QUEUES
311         bool "Support for Store Queues"
312         depends on CPU_SH4
313         help
314           Selecting this option will enable an in-kernel API for manipulating
315           the store queues integrated in the SH-4 processors.
316
317 config CPU_HAS_INTEVT
318         bool
319
320 config CPU_HAS_PINT_IRQ
321         bool
322
323 config CPU_HAS_MASKREG_IRQ
324         bool
325
326 config CPU_HAS_INTC2_IRQ
327         bool
328
329 config CPU_HAS_SR_RB
330         bool "CPU has SR.RB"
331         depends on CPU_SH3 || CPU_SH4
332         default y
333         help
334           This will enable the use of SR.RB register bank usage. Processors
335           that are lacking this bit must have another method in place for
336           accomplishing what is taken care of by the banked registers.
337
338           See <file:Documentation/sh/register-banks.txt> for further
339           information on SR.RB and register banking in the kernel in general.
340
341 endmenu
342
343 menu "Timer support"
344
345 config SH_TMU
346         bool "TMU timer support"
347         default y
348         help
349           This enables the use of the TMU as the system timer.
350
351 endmenu
352
353 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
354
355 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
356
357 source "arch/sh/boards/renesas/r7780rp/Kconfig"
358
359 config SH_PCLK_FREQ
360         int "Peripheral clock frequency (in Hz)"
361         default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
362         default "60000000" if CPU_SUBTYPE_SH7751
363         default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
364                               CPU_SUBTYPE_SH7760
365         default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
366         default "66000000" if CPU_SUBTYPE_SH4_202
367         help
368           This option is used to specify the peripheral clock frequency.
369           This is necessary for determining the reference clock value on
370           platforms lacking an RTC.
371
372 menu "CPU Frequency scaling"
373
374 source "drivers/cpufreq/Kconfig"
375
376 config SH_CPU_FREQ
377         tristate "SuperH CPU Frequency driver"
378         depends on CPU_FREQ
379         select CPU_FREQ_TABLE
380         help
381           This adds the cpufreq driver for SuperH. At present, only
382           the SH-4 is supported.
383
384           For details, take a look at <file:Documentation/cpu-freq>.
385
386           If unsure, say N.
387
388 endmenu
389
390 source "arch/sh/drivers/dma/Kconfig"
391
392 source "arch/sh/cchips/Kconfig"
393
394 config HEARTBEAT
395         bool "Heartbeat LED"
396         depends on SH_MPC1211 || SH_SH03 || \
397                    SH_BIGSUR || \
398                    SH_7751_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || \
399                    SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || \
400                    SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK
401         help
402           Use the power-on LED on your machine as a load meter.  The exact
403           behavior is platform-dependent, but normally the flash frequency is
404           a hyperbolic function of the 5-minute load average.
405
406 endmenu
407
408 config ISA_DMA_API
409         bool
410         depends on SH_MPC1211
411         default y
412
413 menu "Kernel features"
414
415 source kernel/Kconfig.hz
416
417 config KEXEC
418         bool "kexec system call (EXPERIMENTAL)"
419         depends on EXPERIMENTAL
420         help
421           kexec is a system call that implements the ability to shutdown your
422           current kernel, and to start another kernel.  It is like a reboot
423           but it is independent of the system firmware.  And like a reboot
424           you can start any kernel with it, not just Linux.
425
426           The name comes from the similarity to the exec system call.
427
428           It is an ongoing process to be certain the hardware in a machine
429           is properly shutdown, so do not be surprised if this code does not
430           initially work for you.  It may help to enable device hotplugging
431           support.  As of this writing the exact hardware interface is
432           strongly in flux, so no good recommendation can be made.
433
434 config PREEMPT
435         bool "Preemptible Kernel (EXPERIMENTAL)"
436         depends on EXPERIMENTAL
437
438 config SMP
439         bool "Symmetric multi-processing support"
440         ---help---
441           This enables support for systems with more than one CPU. If you have
442           a system with only one CPU, like most personal computers, say N. If
443           you have a system with more than one CPU, say Y.
444
445           If you say N here, the kernel will run on single and multiprocessor
446           machines, but will use only one CPU of a multiprocessor machine. If
447           you say Y here, the kernel will run on many, but not all,
448           singleprocessor machines. On a singleprocessor machine, the kernel
449           will run faster if you say N here.
450
451           People using multiprocessor machines who say Y here should also say
452           Y to "Enhanced Real Time Clock Support", below.
453
454           See also the <file:Documentation/smp.txt>,
455           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
456           at <http://www.tldp.org/docs.html#howto>.
457
458           If you don't know what to do here, say N.
459
460 config NR_CPUS
461         int "Maximum number of CPUs (2-32)"
462         range 2 32
463         depends on SMP
464         default "2"
465         help
466           This allows you to specify the maximum number of CPUs which this
467           kernel will support.  The maximum supported value is 32 and the
468           minimum value which makes sense is 2.
469
470           This is purely to save memory - each supported CPU adds
471           approximately eight kilobytes to the kernel image.
472
473 source "kernel/Kconfig.preempt"
474
475 config CPU_HAS_SR_RB
476         bool "CPU has SR.RB"
477         depends on CPU_SH3 || CPU_SH4
478         default y
479         help
480           This will enable the use of SR.RB register bank usage. Processors
481           that are lacking this bit must have another method in place for
482           accomplishing what is taken care of by the banked registers.
483
484           See <file:Documentation/sh/register-banks.txt> for further
485           information on SR.RB and register banking in the kernel in general.
486
487 config NODES_SHIFT
488         int
489         default "1"
490         depends on NEED_MULTIPLE_NODES
491
492 endmenu
493
494 menu "Boot options"
495
496 config ZERO_PAGE_OFFSET
497         hex "Zero page offset"
498         default "0x00004000" if SH_MPC1211 || SH_SH03
499         default "0x00001000"
500         help
501           This sets the default offset of zero page.
502
503 config BOOT_LINK_OFFSET
504         hex "Link address offset for booting"
505         default "0x00800000"
506         help
507           This option allows you to set the link address offset of the zImage.
508           This can be useful if you are on a board which has a small amount of
509           memory.
510
511 config UBC_WAKEUP
512         bool "Wakeup UBC on startup"
513         help
514           Selecting this option will wakeup the User Break Controller (UBC) on
515           startup. Although the UBC is left in an awake state when the processor
516           comes up, some boot loaders misbehave by putting the UBC to sleep in a
517           power saving state, which causes issues with things like ptrace().
518
519           If unsure, say N.
520
521 config CMDLINE_BOOL
522         bool "Default bootloader kernel arguments"
523
524 config CMDLINE
525         string "Initial kernel command string"
526         depends on CMDLINE_BOOL
527         default "console=ttySC1,115200"
528
529 endmenu
530
531 menu "Bus options"
532
533 # Even on SuperH devices which don't have an ISA bus,
534 # this variable helps the PCMCIA modules handle
535 # IRQ requesting properly -- Greg Banks.
536 #
537 # Though we're generally not interested in it when
538 # we're not using PCMCIA, so we make it dependent on
539 # PCMCIA outright. -- PFM.
540 config ISA
541         bool
542         default y if PCMCIA
543         help
544           Find out whether you have ISA slots on your motherboard.  ISA is the
545           name of a bus system, i.e. the way the CPU talks to the other stuff
546           inside your box.  Other bus systems are PCI, EISA, MicroChannel
547           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
548           newer boards don't support it.  If you have ISA, say Y, otherwise N.
549
550 config EISA
551         bool
552         ---help---
553           The Extended Industry Standard Architecture (EISA) bus was
554           developed as an open alternative to the IBM MicroChannel bus.
555
556           The EISA bus provided some of the features of the IBM MicroChannel
557           bus while maintaining backward compatibility with cards made for
558           the older ISA bus.  The EISA bus saw limited use between 1988 and
559           1995 when it was made obsolete by the PCI bus.
560
561           Say Y here if you are building a kernel for an EISA-based machine.
562
563           Otherwise, say N.
564
565 config MCA
566         bool
567         help
568           MicroChannel Architecture is found in some IBM PS/2 machines and
569           laptops.  It is a bus system similar to PCI or ISA. See
570           <file:Documentation/mca.txt> (and especially the web page given
571           there) before attempting to build an MCA bus kernel.
572
573 config SBUS
574         bool
575
576 config SUPERHYWAY
577         tristate "SuperHyway Bus support"
578         depends on CPU_SUBTYPE_SH4_202
579
580 source "arch/sh/drivers/pci/Kconfig"
581
582 source "drivers/pci/Kconfig"
583
584 source "drivers/pcmcia/Kconfig"
585
586 source "drivers/pci/hotplug/Kconfig"
587
588 endmenu
589
590 menu "Executable file formats"
591
592 source "fs/Kconfig.binfmt"
593
594 endmenu
595
596 menu "Power management options (EXPERIMENTAL)"
597 depends on EXPERIMENTAL
598
599 source kernel/power/Kconfig
600
601 config APM
602         bool "Advanced Power Management Emulation"
603         depends on PM
604 endmenu
605
606 source "net/Kconfig"
607
608 source "drivers/Kconfig"
609
610 source "fs/Kconfig"
611
612 source "arch/sh/oprofile/Kconfig"
613
614 source "arch/sh/Kconfig.debug"
615
616 source "security/Kconfig"
617
618 source "crypto/Kconfig"
619
620 source "lib/Kconfig"