sh: Add support for SH7706/SH7710/SH7343 CPUs.
[powerpc.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         help
12           The SuperH is a RISC processor targeted for use in embedded systems
13           and consumer electronics; it was also used in the Sega Dreamcast
14           gaming console.  The SuperH port has a home page at
15           <http://www.linux-sh.org/>.
16
17 config RWSEM_GENERIC_SPINLOCK
18         bool
19         default y
20
21 config RWSEM_XCHGADD_ALGORITHM
22         bool
23
24 config GENERIC_FIND_NEXT_BIT
25         bool
26         default y
27
28 config GENERIC_HWEIGHT
29         bool
30         default y
31
32 config GENERIC_HARDIRQS
33         bool
34         default y
35
36 config GENERIC_IRQ_PROBE
37         bool
38         default y
39
40 config GENERIC_CALIBRATE_DELAY
41         bool
42         default y
43
44 config GENERIC_IOMAP
45         bool
46
47 config ARCH_MAY_HAVE_PC_FDC
48         bool
49
50 source "init/Kconfig"
51
52 menu "System type"
53
54 choice
55         prompt "SuperH system type"
56         default SH_UNKNOWN
57
58 config SH_SOLUTION_ENGINE
59         bool "SolutionEngine"
60         help
61           Select SolutionEngine if configuring for a Hitachi SH7709
62           or SH7750 evaluation board.
63
64 config SH_7751_SOLUTION_ENGINE
65         bool "SolutionEngine7751"
66         select CPU_SUBTYPE_SH7751
67         help
68           Select 7751 SolutionEngine if configuring for a Hitachi SH7751
69           evaluation board.
70
71 config SH_7300_SOLUTION_ENGINE
72         bool "SolutionEngine7300"
73         select CPU_SUBTYPE_SH7300
74         help
75           Select 7300 SolutionEngine if configuring for a Hitachi SH7300(SH-Mobile V)
76           evaluation board.
77
78 config SH_73180_SOLUTION_ENGINE
79        bool "SolutionEngine73180"
80        select CPU_SUBTYPE_SH73180
81        help
82          Select 73180 SolutionEngine if configuring for a Hitachi SH73180(SH-Mobile 3)
83          evaluation board.
84
85 config SH_7751_SYSTEMH
86         bool "SystemH7751R"
87         select CPU_SUBTYPE_SH7751R
88         help
89           Select SystemH if you are configuring for a Renesas SystemH
90           7751R evaluation board.
91
92 config SH_STB1_HARP
93         bool "STB1_Harp"
94
95 config SH_STB1_OVERDRIVE
96         bool "STB1_Overdrive"
97
98 config SH_HP6XX
99         bool "HP6XX"
100         help
101           Select HP6XX if configuring for a HP jornada HP6xx.
102           More information (hardware only) at
103           <http://www.hp.com/jornada/>.
104
105 config SH_CQREEK
106         bool "CqREEK"
107         help
108           Select CqREEK if configuring for a CqREEK SH7708 or SH7750.
109           More information at
110           <http://sources.redhat.com/ecos/hardware.html#SuperH>.
111
112 config SH_DMIDA
113         bool "DMIDA"
114         help
115           Select DMIDA if configuring for a DataMyte 4000 Industrial
116           Digital Assistant. More information at <http://www.dmida.com/>.
117
118 config SH_EC3104
119         bool "EC3104"
120         help
121           Select EC3104 if configuring for a system with an Eclipse
122           International EC3104 chip, e.g. the Harris AD2000.
123
124 config SH_SATURN
125         bool "Saturn"
126         select CPU_SUBTYPE_SH7604
127         help
128           Select Saturn if configuring for a SEGA Saturn.
129
130 config SH_DREAMCAST
131         bool "Dreamcast"
132         select CPU_SUBTYPE_SH7091
133         help
134           Select Dreamcast if configuring for a SEGA Dreamcast.
135           More information at
136           <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
137           Dreamcast project is at <http://linuxdc.sourceforge.net/>.
138
139 config SH_CAT68701
140         bool "CAT68701"
141
142 config SH_BIGSUR
143         bool "BigSur"
144
145 config SH_SH2000
146         bool "SH2000"
147         select CPU_SUBTYPE_SH7709
148         help
149           SH-2000 is a single-board computer based around SH7709A chip
150           intended for embedded applications.
151           It has an Ethernet interface (CS8900A), direct connected
152           Compact Flash socket, three serial ports and PC-104 bus.
153           More information at <http://sh2000.sh-linux.org>.
154
155 config SH_ADX
156         bool "ADX"
157
158 config SH_MPC1211
159         bool "Interface MPC1211"
160         help
161           CTP/PCI-SH02 is a CPU module computer that is produced
162           by Interface Corporation.
163           More information at <http://www.interface.co.jp>
164
165 config SH_SH03
166         bool "Interface CTP/PCI-SH03"
167         help
168           CTP/PCI-SH03 is a CPU module computer that is produced
169           by Interface Corporation.
170           More information at <http://www.interface.co.jp>
171
172 config SH_SECUREEDGE5410
173         bool "SecureEdge5410"
174         select CPU_SUBTYPE_SH7751R
175         help
176           Select SecureEdge5410 if configuring for a SnapGear SH board.
177           This includes both the OEM SecureEdge products as well as the
178           SME product line.
179
180 config SH_HS7751RVOIP
181         bool "HS7751RVOIP"
182         select CPU_SUBTYPE_SH7751R
183         help
184           Select HS7751RVOIP if configuring for a Renesas Technology
185           Sales VoIP board.
186
187 config SH_RTS7751R2D
188         bool "RTS7751R2D"
189         select CPU_SUBTYPE_SH7751R
190         help
191           Select RTS7751R2D if configuring for a Renesas Technology
192           Sales SH-Graphics board.
193
194 config SH_R7780RP
195         bool "R7780RP-1"
196         select CPU_SUBTYPE_SH7780
197         help
198           Select R7780RP-1 if configuring for a Renesas Solutions
199           HIGHLANDER board.
200
201 config SH_EDOSK7705
202         bool "EDOSK7705"
203         select CPU_SUBTYPE_SH7705
204
205 config SH_SH4202_MICRODEV
206         bool "SH4-202 MicroDev"
207         select CPU_SUBTYPE_SH4_202
208         help
209           Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
210           with an SH4-202 CPU.
211
212 config SH_LANDISK
213         bool "LANDISK"
214         select CPU_SUBTYPE_SH7751R
215         help
216           I-O DATA DEVICE, INC. "LANDISK Series" support.
217
218 config SH_TITAN
219         bool "TITAN"
220         select CPU_SUBTYPE_SH7751R
221         help
222           Select Titan if you are configuring for a Nimble Microsystems
223           NetEngine NP51R.
224
225 config SH_UNKNOWN
226         bool "BareCPU"
227         help
228           "Bare CPU" aka "unknown" means an SH-based system which is not one
229           of the specific ones mentioned above, which means you need to enter
230           all sorts of stuff like CONFIG_MEMORY_START because the config
231           system doesn't already know what it is.  You get a machine vector
232           without any platform-specific code in it, so things like the RTC may
233           not work.
234
235           This option is for the early stages of porting to a new machine.
236
237 endchoice
238
239 source "arch/sh/mm/Kconfig"
240
241 config CF_ENABLER
242         bool "Compact Flash Enabler support"
243         depends on SH_ADX || SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_CAT68701 || SH_SH03
244         ---help---
245           Compact Flash is a small, removable mass storage device introduced
246           in 1994 originally as a PCMCIA device.  If you say `Y' here, you
247           compile in support for Compact Flash devices directly connected to
248           a SuperH processor.  A Compact Flash FAQ is available at
249           <http://www.compactflash.org/faqs/faq.htm>.
250
251           If your board has "Directly Connected" CompactFlash at area 5 or 6,
252           you may want to enable this option.  Then, you can use CF as
253           primary IDE drive (only tested for SanDisk).
254
255           If in doubt, select 'N'.
256
257 choice
258         prompt "Compact Flash Connection Area"
259         depends on CF_ENABLER
260         default CF_AREA6
261
262 config CF_AREA5
263         bool "Area5"
264         help
265           If your board has "Directly Connected" CompactFlash, You should
266           select the area where your CF is connected to.
267
268           - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
269           - "Area6" if it is connected to Area 6 (0x18000000)
270
271           "Area6" will work for most boards. For ADX, select "Area5".
272
273 config CF_AREA6
274         bool "Area6"
275
276 endchoice
277
278 config CF_BASE_ADDR
279         hex
280         depends on CF_ENABLER
281         default "0xb8000000" if CF_AREA6
282         default "0xb4000000" if CF_AREA5
283
284 menu "Processor features"
285
286 config CPU_LITTLE_ENDIAN
287         bool "Little Endian"
288         help
289           Some SuperH machines can be configured for either little or big
290           endian byte order. These modes require different kernels. Say Y if
291           your machine is little endian, N if it's a big endian machine.
292
293 # The SH7750 RTC module is disabled in the Dreamcast
294 config SH_RTC
295         bool
296         depends on !SH_DREAMCAST && !SH_SATURN && !SH_7300_SOLUTION_ENGINE && \
297                    !SH_73180_SOLUTION_ENGINE && !SH_LANDISK && \
298                    !SH_R7780RP
299         default y
300         help
301           Selecting this option will allow the Linux kernel to emulate
302           PC's RTC.
303
304           If unsure, say N.
305
306 config SH_FPU
307         bool "FPU support"
308         depends on !CPU_SH3
309         default y
310         help
311           Selecting this option will enable support for SH processors that
312           have FPU units (ie, SH77xx).
313
314           This option must be set in order to enable the FPU.
315
316 config SH_FPU_EMU
317         bool "FPU emulation support"
318         depends on !SH_FPU && EXPERIMENTAL
319         default n
320         help
321           Selecting this option will enable support for software FPU emulation.
322           Most SH-3 users will want to say Y here, whereas most SH-4 users will
323           want to say N.
324
325 config SH_DSP
326         bool "DSP support"
327         default y if SH4AL_DSP || !CPU_SH4
328         default n
329         help
330           Selecting this option will enable support for SH processors that
331           have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
332
333           This option must be set in order to enable the DSP.
334
335 config SH_ADC
336         bool "ADC support"
337         depends on CPU_SH3
338         default y
339         help
340           Selecting this option will allow the Linux kernel to use SH3 on-chip
341           ADC module.
342
343           If unsure, say N.
344
345 config SH_STORE_QUEUES
346         bool "Support for Store Queues"
347         depends on CPU_SH4
348         help
349           Selecting this option will enable an in-kernel API for manipulating
350           the store queues integrated in the SH-4 processors.
351
352 config CPU_HAS_INTEVT
353         bool
354
355 config CPU_HAS_PINT_IRQ
356         bool
357
358 config CPU_HAS_INTC2_IRQ
359         bool
360
361 config CPU_HAS_SR_RB
362         bool "CPU has SR.RB"
363         depends on CPU_SH3 || CPU_SH4
364         default y
365         help
366           This will enable the use of SR.RB register bank usage. Processors
367           that are lacking this bit must have another method in place for
368           accomplishing what is taken care of by the banked registers.
369
370           See <file:Documentation/sh/register-banks.txt> for further
371           information on SR.RB and register banking in the kernel in general.
372
373 endmenu
374
375 menu "Timer support"
376
377 config SH_TMU
378         bool "TMU timer support"
379         default y
380         help
381           This enables the use of the TMU as the system timer.
382
383 endmenu
384
385 source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
386
387 source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
388
389 source "arch/sh/boards/renesas/r7780rp/Kconfig"
390
391 config SH_PCLK_FREQ
392         int "Peripheral clock frequency (in Hz)"
393         default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
394         default "60000000" if CPU_SUBTYPE_SH7751
395         default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
396                               CPU_SUBTYPE_SH7760
397         default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
398         default "66000000" if CPU_SUBTYPE_SH4_202
399         help
400           This option is used to specify the peripheral clock frequency.
401           This is necessary for determining the reference clock value on
402           platforms lacking an RTC.
403
404 menu "CPU Frequency scaling"
405
406 source "drivers/cpufreq/Kconfig"
407
408 config SH_CPU_FREQ
409         tristate "SuperH CPU Frequency driver"
410         depends on CPU_FREQ
411         select CPU_FREQ_TABLE
412         help
413           This adds the cpufreq driver for SuperH. At present, only
414           the SH-4 is supported.
415
416           For details, take a look at <file:Documentation/cpu-freq>.
417
418           If unsure, say N.
419
420 endmenu
421
422 source "arch/sh/drivers/dma/Kconfig"
423
424 source "arch/sh/cchips/Kconfig"
425
426 config HEARTBEAT
427         bool "Heartbeat LED"
428         depends on SH_MPC1211 || SH_SH03 || SH_CAT68701 || \
429                    SH_STB1_HARP || SH_STB1_OVERDRIVE || SH_BIGSUR || \
430                    SH_7751_SOLUTION_ENGINE || SH_7300_SOLUTION_ENGINE || \
431                    SH_73180_SOLUTION_ENGINE || SH_SOLUTION_ENGINE || \
432                    SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK
433         help
434           Use the power-on LED on your machine as a load meter.  The exact
435           behavior is platform-dependent, but normally the flash frequency is
436           a hyperbolic function of the 5-minute load average.
437
438 endmenu
439
440 config ISA_DMA_API
441         bool
442         depends on SH_MPC1211
443         default y
444
445 menu "Kernel features"
446
447 config KEXEC
448         bool "kexec system call (EXPERIMENTAL)"
449         depends on EXPERIMENTAL
450         help
451           kexec is a system call that implements the ability to shutdown your
452           current kernel, and to start another kernel.  It is like a reboot
453           but it is independent of the system firmware.  And like a reboot
454           you can start any kernel with it, not just Linux.
455
456           The name comes from the similarity to the exec system call.
457
458           It is an ongoing process to be certain the hardware in a machine
459           is properly shutdown, so do not be surprised if this code does not
460           initially work for you.  It may help to enable device hotplugging
461           support.  As of this writing the exact hardware interface is
462           strongly in flux, so no good recommendation can be made.
463
464 config PREEMPT
465         bool "Preemptible Kernel (EXPERIMENTAL)"
466         depends on EXPERIMENTAL
467
468 config SMP
469         bool "Symmetric multi-processing support"
470         ---help---
471           This enables support for systems with more than one CPU. If you have
472           a system with only one CPU, like most personal computers, say N. If
473           you have a system with more than one CPU, say Y.
474
475           If you say N here, the kernel will run on single and multiprocessor
476           machines, but will use only one CPU of a multiprocessor machine. If
477           you say Y here, the kernel will run on many, but not all,
478           singleprocessor machines. On a singleprocessor machine, the kernel
479           will run faster if you say N here.
480
481           People using multiprocessor machines who say Y here should also say
482           Y to "Enhanced Real Time Clock Support", below.
483
484           See also the <file:Documentation/smp.txt>,
485           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
486           at <http://www.tldp.org/docs.html#howto>.
487
488           If you don't know what to do here, say N.
489
490 config NR_CPUS
491         int "Maximum number of CPUs (2-32)"
492         range 2 32
493         depends on SMP
494         default "2"
495         help
496           This allows you to specify the maximum number of CPUs which this
497           kernel will support.  The maximum supported value is 32 and the
498           minimum value which makes sense is 2.
499
500           This is purely to save memory - each supported CPU adds
501           approximately eight kilobytes to the kernel image.
502
503 config CPU_HAS_SR_RB
504         bool "CPU has SR.RB"
505         depends on CPU_SH3 || CPU_SH4
506         default y
507         help
508           This will enable the use of SR.RB register bank usage. Processors
509           that are lacking this bit must have another method in place for
510           accomplishing what is taken care of by the banked registers.
511
512           See <file:Documentation/sh/register-banks.txt> for further
513           information on SR.RB and register banking in the kernel in general.
514
515 config NODES_SHIFT
516         int
517         default "1"
518         depends on NEED_MULTIPLE_NODES
519
520 endmenu
521
522 menu "Boot options"
523
524 config ZERO_PAGE_OFFSET
525         hex "Zero page offset"
526         default "0x00004000" if SH_MPC1211 || SH_SH03
527         default "0x00001000"
528         help
529           This sets the default offset of zero page.
530
531 config BOOT_LINK_OFFSET
532         hex "Link address offset for booting"
533         default "0x00800000"
534         help
535           This option allows you to set the link address offset of the zImage.
536           This can be useful if you are on a board which has a small amount of
537           memory.
538
539 config UBC_WAKEUP
540         bool "Wakeup UBC on startup"
541         help
542           Selecting this option will wakeup the User Break Controller (UBC) on
543           startup. Although the UBC is left in an awake state when the processor
544           comes up, some boot loaders misbehave by putting the UBC to sleep in a
545           power saving state, which causes issues with things like ptrace().
546
547           If unsure, say N.
548
549 config CMDLINE_BOOL
550         bool "Default bootloader kernel arguments"
551
552 config CMDLINE
553         string "Initial kernel command string"
554         depends on CMDLINE_BOOL
555         default "console=ttySC1,115200"
556
557 endmenu
558
559 menu "Bus options"
560
561 # Even on SuperH devices which don't have an ISA bus,
562 # this variable helps the PCMCIA modules handle
563 # IRQ requesting properly -- Greg Banks.
564 #
565 # Though we're generally not interested in it when
566 # we're not using PCMCIA, so we make it dependent on
567 # PCMCIA outright. -- PFM.
568 config ISA
569         bool
570         default y if PCMCIA
571         help
572           Find out whether you have ISA slots on your motherboard.  ISA is the
573           name of a bus system, i.e. the way the CPU talks to the other stuff
574           inside your box.  Other bus systems are PCI, EISA, MicroChannel
575           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
576           newer boards don't support it.  If you have ISA, say Y, otherwise N.
577
578 config EISA
579         bool
580         ---help---
581           The Extended Industry Standard Architecture (EISA) bus was
582           developed as an open alternative to the IBM MicroChannel bus.
583
584           The EISA bus provided some of the features of the IBM MicroChannel
585           bus while maintaining backward compatibility with cards made for
586           the older ISA bus.  The EISA bus saw limited use between 1988 and
587           1995 when it was made obsolete by the PCI bus.
588
589           Say Y here if you are building a kernel for an EISA-based machine.
590
591           Otherwise, say N.
592
593 config MCA
594         bool
595         help
596           MicroChannel Architecture is found in some IBM PS/2 machines and
597           laptops.  It is a bus system similar to PCI or ISA. See
598           <file:Documentation/mca.txt> (and especially the web page given
599           there) before attempting to build an MCA bus kernel.
600
601 config SBUS
602         bool
603
604 config SUPERHYWAY
605         tristate "SuperHyway Bus support"
606         depends on CPU_SUBTYPE_SH4_202
607
608 source "arch/sh/drivers/pci/Kconfig"
609
610 source "drivers/pci/Kconfig"
611
612 source "drivers/pcmcia/Kconfig"
613
614 source "drivers/pci/hotplug/Kconfig"
615
616 endmenu
617
618 menu "Executable file formats"
619
620 source "fs/Kconfig.binfmt"
621
622 endmenu
623
624 menu "Power management options (EXPERIMENTAL)"
625 depends on EXPERIMENTAL
626
627 source kernel/power/Kconfig
628
629 config APM
630         bool "Advanced Power Management Emulation"
631         depends on PM
632 endmenu
633
634 source "net/Kconfig"
635
636 source "drivers/Kconfig"
637
638 source "fs/Kconfig"
639
640 source "arch/sh/oprofile/Kconfig"
641
642 source "arch/sh/Kconfig.debug"
643
644 source "security/Kconfig"
645
646 source "crypto/Kconfig"
647
648 source "lib/Kconfig"