sh: Move out the solution engine headers to arch/sh/include/mach-se/
[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         def_bool y
10         select EMBEDDED
11         select HAVE_CLK
12         select HAVE_IDE
13         select HAVE_OPROFILE
14         help
15           The SuperH is a RISC processor targeted for use in embedded systems
16           and consumer electronics; it was also used in the Sega Dreamcast
17           gaming console.  The SuperH port has a home page at
18           <http://www.linux-sh.org/>.
19
20 config SUPERH32
21         def_bool !SUPERH64
22
23 config SUPERH64
24         def_bool y if CPU_SH5
25
26 config ARCH_DEFCONFIG
27         string
28         default "arch/sh/configs/shx3_defconfig" if SUPERH32
29         default "arch/sh/configs/cayman_defconfig" if SUPERH64
30
31 config RWSEM_GENERIC_SPINLOCK
32         def_bool y
33
34 config RWSEM_XCHGADD_ALGORITHM
35         bool
36
37 config GENERIC_BUG
38         def_bool y
39         depends on BUG && SUPERH32
40
41 config GENERIC_FIND_NEXT_BIT
42         def_bool y
43
44 config GENERIC_HWEIGHT
45         def_bool y
46
47 config GENERIC_HARDIRQS
48         def_bool y
49
50 config GENERIC_IRQ_PROBE
51         def_bool y
52
53 config GENERIC_CALIBRATE_DELAY
54         def_bool y
55
56 config GENERIC_IOMAP
57         bool
58
59 config GENERIC_TIME
60         def_bool n
61
62 config GENERIC_CLOCKEVENTS
63         def_bool n
64
65 config SYS_SUPPORTS_PM
66         bool
67
68 config SYS_SUPPORTS_APM_EMULATION
69         bool
70         select SYS_SUPPORTS_PM
71
72 config SYS_SUPPORTS_SMP
73         bool
74
75 config SYS_SUPPORTS_NUMA
76         bool
77
78 config SYS_SUPPORTS_PCI
79         bool
80
81 config STACKTRACE_SUPPORT
82         def_bool y
83
84 config LOCKDEP_SUPPORT
85         def_bool y
86
87 config ARCH_HAS_ILOG2_U32
88         def_bool n
89
90 config ARCH_HAS_ILOG2_U64
91         def_bool n
92
93 config ARCH_NO_VIRT_TO_BUS
94         def_bool y
95
96 config ARCH_SUPPORTS_AOUT
97         def_bool y
98
99 config IO_TRAPPED
100         bool
101
102 source "init/Kconfig"
103
104 menu "System type"
105
106 #
107 # Processor families
108 #
109 config CPU_SH2
110         bool
111
112 config CPU_SH2A
113         bool
114         select CPU_SH2
115
116 config CPU_SH3
117         bool
118         select CPU_HAS_INTEVT
119         select CPU_HAS_SR_RB
120
121 config CPU_SH4
122         bool
123         select CPU_HAS_INTEVT
124         select CPU_HAS_SR_RB
125         select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
126         select CPU_HAS_FPU if !CPU_SH4AL_DSP
127
128 config CPU_SH4A
129         bool
130         select CPU_SH4
131
132 config CPU_SH4AL_DSP
133         bool
134         select CPU_SH4A
135         select CPU_HAS_DSP
136
137 config CPU_SH5
138         bool
139         select CPU_HAS_FPU
140
141 config CPU_SHX2
142         bool
143
144 config CPU_SHX3
145         bool
146
147 choice
148         prompt "Processor sub-type selection"
149
150 #
151 # Processor subtypes
152 #
153
154 # SH-2 Processor Support
155
156 config CPU_SUBTYPE_SH7619
157         bool "Support SH7619 processor"
158         select CPU_SH2
159
160 # SH-2A Processor Support
161
162 config CPU_SUBTYPE_SH7203
163         bool "Support SH7203 processor"
164         select CPU_SH2A
165         select CPU_HAS_FPU
166
167 config CPU_SUBTYPE_SH7206
168         bool "Support SH7206 processor"
169         select CPU_SH2A
170
171 config CPU_SUBTYPE_SH7263
172         bool "Support SH7263 processor"
173         select CPU_SH2A
174         select CPU_HAS_FPU
175
176 config CPU_SUBTYPE_MXG
177         bool "Support MX-G processor"
178         select CPU_SH2A
179         help
180           Select MX-G if running on an R8A03022BG part.
181
182 # SH-3 Processor Support
183
184 config CPU_SUBTYPE_SH7705
185         bool "Support SH7705 processor"
186         select CPU_SH3
187
188 config CPU_SUBTYPE_SH7706
189         bool "Support SH7706 processor"
190         select CPU_SH3
191         help
192           Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
193
194 config CPU_SUBTYPE_SH7707
195         bool "Support SH7707 processor"
196         select CPU_SH3
197         help
198           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
199
200 config CPU_SUBTYPE_SH7708
201         bool "Support SH7708 processor"
202         select CPU_SH3
203         help
204           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
205           if you have a 100 Mhz SH-3 HD6417708R CPU.
206
207 config CPU_SUBTYPE_SH7709
208         bool "Support SH7709 processor"
209         select CPU_SH3
210         help
211           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
212
213 config CPU_SUBTYPE_SH7710
214         bool "Support SH7710 processor"
215         select CPU_SH3
216         select CPU_HAS_DSP
217         help
218           Select SH7710 if you have a SH3-DSP SH7710 CPU.
219
220 config CPU_SUBTYPE_SH7712
221         bool "Support SH7712 processor"
222         select CPU_SH3
223         select CPU_HAS_DSP
224         help
225           Select SH7712 if you have a SH3-DSP SH7712 CPU.
226
227 config CPU_SUBTYPE_SH7720
228         bool "Support SH7720 processor"
229         select CPU_SH3
230         select CPU_HAS_DSP
231         help
232           Select SH7720 if you have a SH3-DSP SH7720 CPU.
233
234 config CPU_SUBTYPE_SH7721
235         bool "Support SH7721 processor"
236         select CPU_SH3
237         select CPU_HAS_DSP
238         help
239           Select SH7721 if you have a SH3-DSP SH7721 CPU.
240
241 # SH-4 Processor Support
242
243 config CPU_SUBTYPE_SH7750
244         bool "Support SH7750 processor"
245         select CPU_SH4
246         help
247           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
248
249 config CPU_SUBTYPE_SH7091
250         bool "Support SH7091 processor"
251         select CPU_SH4
252         help
253           Select SH7091 if you have an SH-4 based Sega device (such as
254           the Dreamcast, Naomi, and Naomi 2).
255
256 config CPU_SUBTYPE_SH7750R
257         bool "Support SH7750R processor"
258         select CPU_SH4
259
260 config CPU_SUBTYPE_SH7750S
261         bool "Support SH7750S processor"
262         select CPU_SH4
263
264 config CPU_SUBTYPE_SH7751
265         bool "Support SH7751 processor"
266         select CPU_SH4
267         help
268           Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
269           or if you have a HD6417751R CPU.
270
271 config CPU_SUBTYPE_SH7751R
272         bool "Support SH7751R processor"
273         select CPU_SH4
274
275 config CPU_SUBTYPE_SH7760
276         bool "Support SH7760 processor"
277         select CPU_SH4
278
279 config CPU_SUBTYPE_SH4_202
280         bool "Support SH4-202 processor"
281         select CPU_SH4
282
283 # SH-4A Processor Support
284
285 config CPU_SUBTYPE_SH7723
286         bool "Support SH7723 processor"
287         select CPU_SH4A
288         select CPU_SHX2
289         select ARCH_SPARSEMEM_ENABLE
290         help
291           Select SH7723 if you have an SH-MobileR2 CPU.
292
293 config CPU_SUBTYPE_SH7763
294         bool "Support SH7763 processor"
295         select CPU_SH4A
296         help
297           Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
298
299 config CPU_SUBTYPE_SH7770
300         bool "Support SH7770 processor"
301         select CPU_SH4A
302
303 config CPU_SUBTYPE_SH7780
304         bool "Support SH7780 processor"
305         select CPU_SH4A
306
307 config CPU_SUBTYPE_SH7785
308         bool "Support SH7785 processor"
309         select CPU_SH4A
310         select CPU_SHX2
311         select ARCH_SPARSEMEM_ENABLE
312         select SYS_SUPPORTS_NUMA
313
314 config CPU_SUBTYPE_SHX3
315         bool "Support SH-X3 processor"
316         select CPU_SH4A
317         select CPU_SHX3
318         select ARCH_SPARSEMEM_ENABLE
319         select SYS_SUPPORTS_NUMA
320         select SYS_SUPPORTS_SMP
321
322 # SH4AL-DSP Processor Support
323
324 config CPU_SUBTYPE_SH7343
325         bool "Support SH7343 processor"
326         select CPU_SH4AL_DSP
327
328 config CPU_SUBTYPE_SH7722
329         bool "Support SH7722 processor"
330         select CPU_SH4AL_DSP
331         select CPU_SHX2
332         select ARCH_SPARSEMEM_ENABLE
333         select SYS_SUPPORTS_NUMA
334
335 config CPU_SUBTYPE_SH7366
336         bool "Support SH7366 processor"
337         select CPU_SH4AL_DSP
338         select CPU_SHX2
339         select ARCH_SPARSEMEM_ENABLE
340         select SYS_SUPPORTS_NUMA
341
342 # SH-5 Processor Support
343
344 config CPU_SUBTYPE_SH5_101
345         bool "Support SH5-101 processor"
346         select CPU_SH5
347
348 config CPU_SUBTYPE_SH5_103
349         bool "Support SH5-103 processor"
350         select CPU_SH5
351
352 endchoice
353
354 source "arch/sh/mm/Kconfig"
355  
356 source "arch/sh/Kconfig.cpu"
357
358 source "arch/sh/boards/Kconfig"
359
360 menu "Timer and clock configuration"
361
362 config SH_TMU
363         def_bool y
364         prompt "TMU timer support"
365         depends on CPU_SH3 || CPU_SH4
366         select GENERIC_TIME
367         select GENERIC_CLOCKEVENTS
368         help
369           This enables the use of the TMU as the system timer.
370
371 config SH_CMT
372         def_bool y
373         prompt "CMT timer support"
374         depends on CPU_SH2 && !CPU_SUBTYPE_MXG
375         help
376           This enables the use of the CMT as the system timer.
377
378 config SH_MTU2
379         def_bool n
380         prompt "MTU2 timer support"
381         depends on CPU_SH2A
382         help
383           This enables the use of the MTU2 as the system timer.
384
385 config SH_TIMER_IRQ
386         int
387         default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
388                         CPU_SUBTYPE_SH7763
389         default "86" if CPU_SUBTYPE_SH7619
390         default "140" if CPU_SUBTYPE_SH7206
391         default "142" if CPU_SUBTYPE_SH7203
392         default "238" if CPU_SUBTYPE_MXG
393         default "16"
394
395 config SH_PCLK_FREQ
396         int "Peripheral clock frequency (in Hz)"
397         default "27000000" if CPU_SUBTYPE_SH7343
398         default "31250000" if CPU_SUBTYPE_SH7619
399         default "32000000" if CPU_SUBTYPE_SH7722
400         default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
401                               CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
402                               CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
403                               CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
404         default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
405         default "66000000" if CPU_SUBTYPE_SH4_202
406         default "50000000"
407         help
408           This option is used to specify the peripheral clock frequency.
409           This is necessary for determining the reference clock value on
410           platforms lacking an RTC.
411
412 config SH_CLK_MD
413         int "CPU Mode Pin Setting"
414         depends on CPU_SH2
415         default 6 if CPU_SUBTYPE_SH7206
416         default 5 if CPU_SUBTYPE_SH7619
417         default 0
418         help
419           MD2 - MD0 pin setting.
420
421 source "kernel/time/Kconfig"
422
423 endmenu
424
425 menu "CPU Frequency scaling"
426
427 source "drivers/cpufreq/Kconfig"
428
429 config SH_CPU_FREQ
430         tristate "SuperH CPU Frequency driver"
431         depends on CPU_FREQ
432         select CPU_FREQ_TABLE
433         help
434           This adds the cpufreq driver for SuperH. At present, only
435           the SH-4 is supported.
436
437           For details, take a look at <file:Documentation/cpu-freq>.
438
439           If unsure, say N.
440
441 endmenu
442
443 source "arch/sh/drivers/Kconfig"
444
445 endmenu
446
447 config ISA_DMA_API
448         bool
449
450 menu "Kernel features"
451
452 source kernel/Kconfig.hz
453
454 config KEXEC
455         bool "kexec system call (EXPERIMENTAL)"
456         depends on SUPERH32 && EXPERIMENTAL
457         help
458           kexec is a system call that implements the ability to shutdown your
459           current kernel, and to start another kernel.  It is like a reboot
460           but it is independent of the system firmware.  And like a reboot
461           you can start any kernel with it, not just Linux.
462
463           The name comes from the similarity to the exec system call.
464
465           It is an ongoing process to be certain the hardware in a machine
466           is properly shutdown, so do not be surprised if this code does not
467           initially work for you.  It may help to enable device hotplugging
468           support.  As of this writing the exact hardware interface is
469           strongly in flux, so no good recommendation can be made.
470
471 config CRASH_DUMP
472         bool "kernel crash dumps (EXPERIMENTAL)"
473         depends on SUPERH32 && EXPERIMENTAL
474         help
475           Generate crash dump after being started by kexec.
476           This should be normally only set in special crash dump kernels
477           which are loaded in the main kernel with kexec-tools into
478           a specially reserved region and then later executed after
479           a crash by kdump/kexec. The crash dump kernel must be compiled
480           to a memory address not used by the main kernel using
481           MEMORY_START.
482
483           For more details see Documentation/kdump/kdump.txt
484
485 config SMP
486         bool "Symmetric multi-processing support"
487         depends on SYS_SUPPORTS_SMP
488         select USE_GENERIC_SMP_HELPERS
489         ---help---
490           This enables support for systems with more than one CPU. If you have
491           a system with only one CPU, like most personal computers, say N. If
492           you have a system with more than one CPU, say Y.
493
494           If you say N here, the kernel will run on single and multiprocessor
495           machines, but will use only one CPU of a multiprocessor machine. If
496           you say Y here, the kernel will run on many, but not all,
497           singleprocessor machines. On a singleprocessor machine, the kernel
498           will run faster if you say N here.
499
500           People using multiprocessor machines who say Y here should also say
501           Y to "Enhanced Real Time Clock Support", below.
502
503           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
504           available at <http://www.tldp.org/docs.html#howto>.
505
506           If you don't know what to do here, say N.
507
508 config NR_CPUS
509         int "Maximum number of CPUs (2-32)"
510         range 2 32
511         depends on SMP
512         default "4" if CPU_SHX3
513         default "2"
514         help
515           This allows you to specify the maximum number of CPUs which this
516           kernel will support.  The maximum supported value is 32 and the
517           minimum value which makes sense is 2.
518
519           This is purely to save memory - each supported CPU adds
520           approximately eight kilobytes to the kernel image.
521
522 source "kernel/Kconfig.preempt"
523
524 config GUSA
525         def_bool y
526         depends on !SMP && SUPERH32
527         help
528           This enables support for gUSA (general UserSpace Atomicity).
529           This is the default implementation for both UP and non-ll/sc
530           CPUs, and is used by the libc, amongst others.
531
532           For additional information, design information can be found 
533           in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
534
535           This should only be disabled for special cases where alternate
536           atomicity implementations exist.
537
538 config GUSA_RB
539         bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
540         depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
541         help
542           Enabling this option will allow the kernel to implement some
543           atomic operations using a software implemention of load-locked/
544           store-conditional (LLSC). On machines which do not have hardware
545           LLSC, this should be more efficient than the other alternative of
546           disabling insterrupts around the atomic sequence.
547
548 endmenu
549
550 menu "Boot options"
551
552 config ZERO_PAGE_OFFSET
553         hex "Zero page offset"
554         default "0x00004000" if SH_SH03
555         default "0x00010000" if PAGE_SIZE_64KB
556         default "0x00002000" if PAGE_SIZE_8KB
557         default "0x00001000"
558         help
559           This sets the default offset of zero page.
560
561 config BOOT_LINK_OFFSET
562         hex "Link address offset for booting"
563         default "0x00800000"
564         help
565           This option allows you to set the link address offset of the zImage.
566           This can be useful if you are on a board which has a small amount of
567           memory.
568
569 config UBC_WAKEUP
570         bool "Wakeup UBC on startup"
571         depends on CPU_SH4 && !CPU_SH4A
572         help
573           Selecting this option will wakeup the User Break Controller (UBC) on
574           startup. Although the UBC is left in an awake state when the processor
575           comes up, some boot loaders misbehave by putting the UBC to sleep in a
576           power saving state, which causes issues with things like ptrace().
577
578           If unsure, say N.
579
580 config CMDLINE_BOOL
581         bool "Default bootloader kernel arguments"
582
583 config CMDLINE
584         string "Initial kernel command string"
585         depends on CMDLINE_BOOL
586         default "console=ttySC1,115200"
587
588 endmenu
589
590 menu "Bus options"
591
592 # Even on SuperH devices which don't have an ISA bus,
593 # this variable helps the PCMCIA modules handle
594 # IRQ requesting properly -- Greg Banks.
595 #
596 # Though we're generally not interested in it when
597 # we're not using PCMCIA, so we make it dependent on
598 # PCMCIA outright. -- PFM.
599 config ISA
600         def_bool y
601         depends on PCMCIA && HD6446X_SERIES
602         help
603           Find out whether you have ISA slots on your motherboard.  ISA is the
604           name of a bus system, i.e. the way the CPU talks to the other stuff
605           inside your box.  Other bus systems are PCI, EISA, MicroChannel
606           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
607           newer boards don't support it.  If you have ISA, say Y, otherwise N.
608
609 config EISA
610         bool
611         ---help---
612           The Extended Industry Standard Architecture (EISA) bus was
613           developed as an open alternative to the IBM MicroChannel bus.
614
615           The EISA bus provided some of the features of the IBM MicroChannel
616           bus while maintaining backward compatibility with cards made for
617           the older ISA bus.  The EISA bus saw limited use between 1988 and
618           1995 when it was made obsolete by the PCI bus.
619
620           Say Y here if you are building a kernel for an EISA-based machine.
621
622           Otherwise, say N.
623
624 config MCA
625         bool
626         help
627           MicroChannel Architecture is found in some IBM PS/2 machines and
628           laptops.  It is a bus system similar to PCI or ISA. See
629           <file:Documentation/mca.txt> (and especially the web page given
630           there) before attempting to build an MCA bus kernel.
631
632 config SBUS
633         bool
634
635 config SUPERHYWAY
636         tristate "SuperHyway Bus support"
637         depends on CPU_SUBTYPE_SH4_202
638
639 config MAPLE
640        bool "Maple Bus support"
641        depends on SH_DREAMCAST
642        help
643          The Maple Bus is SEGA's serial communication bus for peripherals
644          on the Dreamcast. Without this bus support you won't be able to
645          get your Dreamcast keyboard etc to work, so most users
646          probably want to say 'Y' here, unless you are only using the
647          Dreamcast with a serial line terminal or a remote network
648          connection.
649
650 config CF_ENABLER
651         bool "Compact Flash Enabler support"
652         depends on SOLUTION_ENGINE || SH_SH03
653         ---help---
654           Compact Flash is a small, removable mass storage device introduced
655           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
656           compile in support for Compact Flash devices directly connected to
657           a SuperH processor.  A Compact Flash FAQ is available at
658           <http://www.compactflash.org/faqs/faq.htm>.
659
660           If your board has "Directly Connected" CompactFlash at area 5 or 6,
661           you may want to enable this option.  Then, you can use CF as
662           primary IDE drive (only tested for SanDisk).
663
664           If in doubt, select 'N'.
665
666 choice
667         prompt "Compact Flash Connection Area"
668         depends on CF_ENABLER
669         default CF_AREA6
670
671 config CF_AREA5
672         bool "Area5"
673         help
674           If your board has "Directly Connected" CompactFlash, You should
675           select the area where your CF is connected to.
676
677           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
678           - "Area6" if it is connected to Area 6 (0x18000000)
679
680           "Area6" will work for most boards.
681
682 config CF_AREA6
683         bool "Area6"
684
685 endchoice
686
687 config CF_BASE_ADDR
688         hex
689         depends on CF_ENABLER
690         default "0xb8000000" if CF_AREA6
691         default "0xb4000000" if CF_AREA5
692
693 source "arch/sh/drivers/pci/Kconfig"
694
695 source "drivers/pci/Kconfig"
696
697 source "drivers/pcmcia/Kconfig"
698
699 source "drivers/pci/hotplug/Kconfig"
700
701 endmenu
702
703 menu "Executable file formats"
704
705 source "fs/Kconfig.binfmt"
706
707 endmenu
708
709 menu "Power management options (EXPERIMENTAL)"
710 depends on EXPERIMENTAL && SYS_SUPPORTS_PM
711
712 config ARCH_SUSPEND_POSSIBLE
713         def_bool y
714         depends on !SMP
715
716 source kernel/power/Kconfig
717
718 endmenu
719
720 source "net/Kconfig"
721
722 source "drivers/Kconfig"
723
724 source "fs/Kconfig"
725
726 source "arch/sh/Kconfig.debug"
727
728 source "security/Kconfig"
729
730 source "crypto/Kconfig"
731
732 source "lib/Kconfig"