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