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