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