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