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