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