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