xref: /linux/arch/sh/Kconfig (revision fa69151173b1fc6fa3ced0edd5c2ea83b5d32bc1)
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_R7780RP
201	bool "R7780RP-1"
202	select CPU_SUBTYPE_SH7780
203	help
204	  Select R7780RP-1 if configuring for a Renesas Solutions
205	  HIGHLANDER board.
206
207config SH_EDOSK7705
208	bool "EDOSK7705"
209	select CPU_SUBTYPE_SH7705
210
211config SH_SH4202_MICRODEV
212	bool "SH4-202 MicroDev"
213	select CPU_SUBTYPE_SH4_202
214	help
215	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
216	  with an SH4-202 CPU.
217
218config SH_LANDISK
219	bool "LANDISK"
220	select CPU_SUBTYPE_SH7751R
221	help
222	  I-O DATA DEVICE, INC. "LANDISK Series" support.
223
224config SH_TITAN
225	bool "TITAN"
226	select CPU_SUBTYPE_SH7751R
227	help
228	  Select Titan if you are configuring for a Nimble Microsystems
229	  NetEngine NP51R.
230
231config SH_SHMIN
232	bool "SHMIN"
233	select CPU_SUBTYPE_SH7706
234	help
235	  Select SHMIN if configuring for the SHMIN board.
236
237config SH_7206_SOLUTION_ENGINE
238	bool "SolutionEngine7206"
239	select CPU_SUBTYPE_SH7206
240	help
241	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
242	  evaluation board.
243
244config SH_7619_SOLUTION_ENGINE
245	bool "SolutionEngine7619"
246	select CPU_SUBTYPE_SH7619
247	help
248	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
249	  evaluation board.
250
251config SH_UNKNOWN
252	bool "BareCPU"
253	help
254	  "Bare CPU" aka "unknown" means an SH-based system which is not one
255	  of the specific ones mentioned above, which means you need to enter
256	  all sorts of stuff like CONFIG_MEMORY_START because the config
257	  system doesn't already know what it is.  You get a machine vector
258	  without any platform-specific code in it, so things like the RTC may
259	  not work.
260
261	  This option is for the early stages of porting to a new machine.
262
263endchoice
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 support"
416depends on !GENERIC_TIME
417
418config SH_TMU
419	bool "TMU timer support"
420	depends on CPU_SH3 || CPU_SH4
421	default y
422	help
423	  This enables the use of the TMU as the system timer.
424
425config SH_CMT
426	bool "CMT timer support"
427	depends on CPU_SH2
428	default y
429	help
430	  This enables the use of the CMT as the system timer.
431
432config SH_MTU2
433	bool "MTU2 timer support"
434	depends on CPU_SH2A
435	default n
436	help
437	  This enables the use of the MTU2 as the system timer.
438
439endmenu
440
441source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
442
443source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
444
445source "arch/sh/boards/renesas/r7780rp/Kconfig"
446
447config SH_TIMER_IRQ
448	int
449	default "28" if CPU_SUBTYPE_SH7780
450	default "86" if CPU_SUBTYPE_SH7619
451	default "140" if CPU_SUBTYPE_SH7206
452	default "16"
453
454config NO_IDLE_HZ
455	bool "Dynamic tick timer"
456	help
457	  Select this option if you want to disable continuous timer ticks
458	  and have them programmed to occur as required. This option saves
459	  power as the system can remain in idle state for longer.
460
461	  By default dynamic tick is disabled during the boot, and can be
462	  manually enabled with:
463
464	    echo 1 > /sys/devices/system/timer/timer0/dyn_tick
465
466	  Alternatively, if you want dynamic tick automatically enabled
467	  during boot, pass "dyntick=enable" via the kernel command string.
468
469	  Please note that dynamic tick may affect the accuracy of
470	  timekeeping on some platforms depending on the implementation.
471
472config SH_PCLK_FREQ
473	int "Peripheral clock frequency (in Hz)"
474	default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
475	default "31250000" if CPU_SUBTYPE_SH7619
476	default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
477			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
478			      CPU_SUBTYPE_SH7206
479	default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780
480	default "60000000" if CPU_SUBTYPE_SH7751
481	default "66000000" if CPU_SUBTYPE_SH4_202
482	help
483	  This option is used to specify the peripheral clock frequency.
484	  This is necessary for determining the reference clock value on
485	  platforms lacking an RTC.
486
487config SH_CLK_MD
488	int "CPU Mode Pin Setting"
489	default 0
490	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
491	help
492	  MD2 - MD0 pin setting.
493
494menu "CPU Frequency scaling"
495
496source "drivers/cpufreq/Kconfig"
497
498config SH_CPU_FREQ
499	tristate "SuperH CPU Frequency driver"
500	depends on CPU_FREQ
501	select CPU_FREQ_TABLE
502	help
503	  This adds the cpufreq driver for SuperH. At present, only
504	  the SH-4 is supported.
505
506	  For details, take a look at <file:Documentation/cpu-freq>.
507
508	  If unsure, say N.
509
510endmenu
511
512source "arch/sh/drivers/dma/Kconfig"
513
514source "arch/sh/cchips/Kconfig"
515
516config HEARTBEAT
517	bool "Heartbeat LED"
518	depends on SH_MPC1211 || SH_SH03 || \
519		   SOLUTION_ENGINE || \
520		   SH_RTS7751R2D || SH_SH4202_MICRODEV || SH_LANDISK || \
521		   SH_R7780RP
522	help
523	  Use the power-on LED on your machine as a load meter.  The exact
524	  behavior is platform-dependent, but normally the flash frequency is
525	  a hyperbolic function of the 5-minute load average.
526
527source "arch/sh/drivers/Kconfig"
528
529endmenu
530
531config ISA_DMA_API
532	bool
533	depends on SH_MPC1211
534	default y
535
536menu "Kernel features"
537
538source kernel/Kconfig.hz
539
540config KEXEC
541	bool "kexec system call (EXPERIMENTAL)"
542	depends on EXPERIMENTAL
543	help
544	  kexec is a system call that implements the ability to shutdown your
545	  current kernel, and to start another kernel.  It is like a reboot
546	  but it is independent of the system firmware.  And like a reboot
547	  you can start any kernel with it, not just Linux.
548
549	  The name comes from the similarity to the exec system call.
550
551	  It is an ongoing process to be certain the hardware in a machine
552	  is properly shutdown, so do not be surprised if this code does not
553	  initially work for you.  It may help to enable device hotplugging
554	  support.  As of this writing the exact hardware interface is
555	  strongly in flux, so no good recommendation can be made.
556
557config SMP
558	bool "Symmetric multi-processing support"
559	---help---
560	  This enables support for systems with more than one CPU. If you have
561	  a system with only one CPU, like most personal computers, say N. If
562	  you have a system with more than one CPU, say Y.
563
564	  If you say N here, the kernel will run on single and multiprocessor
565	  machines, but will use only one CPU of a multiprocessor machine. If
566	  you say Y here, the kernel will run on many, but not all,
567	  singleprocessor machines. On a singleprocessor machine, the kernel
568	  will run faster if you say N here.
569
570	  People using multiprocessor machines who say Y here should also say
571	  Y to "Enhanced Real Time Clock Support", below.
572
573	  See also the <file:Documentation/smp.txt>,
574	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
575	  at <http://www.tldp.org/docs.html#howto>.
576
577	  If you don't know what to do here, say N.
578
579config NR_CPUS
580	int "Maximum number of CPUs (2-32)"
581	range 2 32
582	depends on SMP
583	default "2"
584	help
585	  This allows you to specify the maximum number of CPUs which this
586	  kernel will support.  The maximum supported value is 32 and the
587	  minimum value which makes sense is 2.
588
589	  This is purely to save memory - each supported CPU adds
590	  approximately eight kilobytes to the kernel image.
591
592source "kernel/Kconfig.preempt"
593
594config NODES_SHIFT
595	int
596	default "1"
597	depends on NEED_MULTIPLE_NODES
598
599endmenu
600
601menu "Boot options"
602
603config ZERO_PAGE_OFFSET
604	hex "Zero page offset"
605	default "0x00004000" if SH_MPC1211 || SH_SH03
606	default "0x00010000" if PAGE_SIZE_64KB
607	default "0x00002000" if PAGE_SIZE_8KB
608	default "0x00001000"
609	help
610	  This sets the default offset of zero page.
611
612config BOOT_LINK_OFFSET
613	hex "Link address offset for booting"
614	default "0x00800000"
615	help
616	  This option allows you to set the link address offset of the zImage.
617	  This can be useful if you are on a board which has a small amount of
618	  memory.
619
620config UBC_WAKEUP
621	bool "Wakeup UBC on startup"
622	help
623	  Selecting this option will wakeup the User Break Controller (UBC) on
624	  startup. Although the UBC is left in an awake state when the processor
625	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
626	  power saving state, which causes issues with things like ptrace().
627
628	  If unsure, say N.
629
630config CMDLINE_BOOL
631	bool "Default bootloader kernel arguments"
632
633config CMDLINE
634	string "Initial kernel command string"
635	depends on CMDLINE_BOOL
636	default "console=ttySC1,115200"
637
638endmenu
639
640menu "Bus options"
641
642# Even on SuperH devices which don't have an ISA bus,
643# this variable helps the PCMCIA modules handle
644# IRQ requesting properly -- Greg Banks.
645#
646# Though we're generally not interested in it when
647# we're not using PCMCIA, so we make it dependent on
648# PCMCIA outright. -- PFM.
649config ISA
650	bool
651	default y if PCMCIA
652	help
653	  Find out whether you have ISA slots on your motherboard.  ISA is the
654	  name of a bus system, i.e. the way the CPU talks to the other stuff
655	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
656	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
657	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
658
659config EISA
660	bool
661	---help---
662	  The Extended Industry Standard Architecture (EISA) bus was
663	  developed as an open alternative to the IBM MicroChannel bus.
664
665	  The EISA bus provided some of the features of the IBM MicroChannel
666	  bus while maintaining backward compatibility with cards made for
667	  the older ISA bus.  The EISA bus saw limited use between 1988 and
668	  1995 when it was made obsolete by the PCI bus.
669
670	  Say Y here if you are building a kernel for an EISA-based machine.
671
672	  Otherwise, say N.
673
674config MCA
675	bool
676	help
677	  MicroChannel Architecture is found in some IBM PS/2 machines and
678	  laptops.  It is a bus system similar to PCI or ISA. See
679	  <file:Documentation/mca.txt> (and especially the web page given
680	  there) before attempting to build an MCA bus kernel.
681
682config SBUS
683	bool
684
685config SUPERHYWAY
686	tristate "SuperHyway Bus support"
687	depends on CPU_SUBTYPE_SH4_202
688
689source "arch/sh/drivers/pci/Kconfig"
690
691source "drivers/pci/Kconfig"
692
693source "drivers/pcmcia/Kconfig"
694
695source "drivers/pci/hotplug/Kconfig"
696
697endmenu
698
699menu "Executable file formats"
700
701source "fs/Kconfig.binfmt"
702
703endmenu
704
705menu "Power management options (EXPERIMENTAL)"
706depends on EXPERIMENTAL
707
708source kernel/power/Kconfig
709
710endmenu
711
712source "net/Kconfig"
713
714source "drivers/Kconfig"
715
716source "fs/Kconfig"
717
718source "arch/sh/oprofile/Kconfig"
719
720source "arch/sh/Kconfig.debug"
721
722source "security/Kconfig"
723
724source "crypto/Kconfig"
725
726source "lib/Kconfig"
727