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