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