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