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