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