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