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