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