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