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