xref: /linux/arch/sh/Kconfig (revision 98366c20a275e957416e9516db5dcb7195b4e101)
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 GENERIC_CLOCKEVENTS
56	def_bool n
57
58config SYS_SUPPORTS_PM
59	bool
60
61config SYS_SUPPORTS_APM_EMULATION
62	bool
63	select SYS_SUPPORTS_PM
64
65config SYS_SUPPORTS_SMP
66	bool
67
68config SYS_SUPPORTS_NUMA
69	bool
70
71config SYS_SUPPORTS_PCI
72	bool
73
74config ARCH_MAY_HAVE_PC_FDC
75	bool
76
77config STACKTRACE_SUPPORT
78	bool
79	default y
80
81config LOCKDEP_SUPPORT
82	bool
83	default y
84
85config ARCH_HAS_ILOG2_U32
86	bool
87	default n
88
89config ARCH_HAS_ILOG2_U64
90	bool
91	default n
92
93config ARCH_NO_VIRT_TO_BUS
94	def_bool y
95
96source "init/Kconfig"
97
98menu "System type"
99
100source "arch/sh/mm/Kconfig"
101
102menu "Processor features"
103
104choice
105	prompt "Endianess selection"
106	default CPU_LITTLE_ENDIAN
107	help
108	  Some SuperH machines can be configured for either little or big
109	  endian byte order. These modes require different kernels.
110
111config CPU_LITTLE_ENDIAN
112	bool "Little Endian"
113
114config CPU_BIG_ENDIAN
115	bool "Big Endian"
116
117endchoice
118
119config SH_FPU
120	bool "FPU support"
121	depends on CPU_HAS_FPU
122	default y
123	help
124	  Selecting this option will enable support for SH processors that
125	  have FPU units (ie, SH77xx).
126
127	  This option must be set in order to enable the FPU.
128
129config SH_FPU_EMU
130	bool "FPU emulation support"
131	depends on !SH_FPU && EXPERIMENTAL
132	default n
133	help
134	  Selecting this option will enable support for software FPU emulation.
135	  Most SH-3 users will want to say Y here, whereas most SH-4 users will
136	  want to say N.
137
138config SH_DSP
139	bool "DSP support"
140	depends on CPU_HAS_DSP
141	default y
142	help
143	  Selecting this option will enable support for SH processors that
144	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
145
146	  This option must be set in order to enable the DSP.
147
148config SH_ADC
149	bool "ADC support"
150	depends on CPU_SH3
151	default y
152	help
153	  Selecting this option will allow the Linux kernel to use SH3 on-chip
154	  ADC module.
155
156	  If unsure, say N.
157
158config SH_STORE_QUEUES
159	bool "Support for Store Queues"
160	depends on CPU_SH4
161	help
162	  Selecting this option will enable an in-kernel API for manipulating
163	  the store queues integrated in the SH-4 processors.
164
165config SPECULATIVE_EXECUTION
166	bool "Speculative subroutine return"
167	depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
168	help
169	  This enables support for a speculative instruction fetch for
170	  subroutine return. There are various pitfalls associated with
171	  this, as outlined in the SH7780 hardware manual.
172
173	  If unsure, say N.
174
175config CPU_HAS_INTEVT
176	bool
177
178config CPU_HAS_MASKREG_IRQ
179	bool
180
181config CPU_HAS_IPR_IRQ
182	bool
183
184config CPU_HAS_SR_RB
185	bool
186	help
187	  This will enable the use of SR.RB register bank usage. Processors
188	  that are lacking this bit must have another method in place for
189	  accomplishing what is taken care of by the banked registers.
190
191	  See <file:Documentation/sh/register-banks.txt> for further
192	  information on SR.RB and register banking in the kernel in general.
193
194config CPU_HAS_PTEA
195	bool
196
197config CPU_HAS_DSP
198	bool
199
200config CPU_HAS_FPU
201	bool
202
203endmenu
204
205menu "Board support"
206
207config SOLUTION_ENGINE
208	bool
209
210config SH_SOLUTION_ENGINE
211	bool "SolutionEngine"
212	select SOLUTION_ENGINE
213	select CPU_HAS_IPR_IRQ
214	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
215	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
216	  CPU_SUBTYPE_SH7750R
217	help
218	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
219	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
220
221config SH_7206_SOLUTION_ENGINE
222	bool "SolutionEngine7206"
223	select SOLUTION_ENGINE
224	depends on CPU_SUBTYPE_SH7206
225	help
226	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
227	  evaluation board.
228
229config SH_7619_SOLUTION_ENGINE
230	bool "SolutionEngine7619"
231	select SOLUTION_ENGINE
232	depends on CPU_SUBTYPE_SH7619
233	help
234	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
235	  evaluation board.
236
237config SH_7722_SOLUTION_ENGINE
238	bool "SolutionEngine7722"
239	select SOLUTION_ENGINE
240	depends on CPU_SUBTYPE_SH7722
241	help
242	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
243	  evaluation board.
244
245config SH_7751_SOLUTION_ENGINE
246	bool "SolutionEngine7751"
247	select SOLUTION_ENGINE
248	select CPU_HAS_IPR_IRQ
249	depends on CPU_SUBTYPE_SH7751
250	help
251	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
252	  evaluation board.
253
254config SH_7780_SOLUTION_ENGINE
255	bool "SolutionEngine7780"
256	select SOLUTION_ENGINE
257	select SYS_SUPPORTS_PCI
258	depends on CPU_SUBTYPE_SH7780
259	help
260	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
261	  evaluation board.
262
263config SH_7343_SOLUTION_ENGINE
264	bool "SolutionEngine7343"
265	select SOLUTION_ENGINE
266	depends on CPU_SUBTYPE_SH7343
267	help
268	  Select 7343 SolutionEngine if configuring for a Hitachi
269	  SH7343 (SH-Mobile 3AS) evaluation board.
270
271config SH_7751_SYSTEMH
272	bool "SystemH7751R"
273	depends on CPU_SUBTYPE_SH7751R
274	help
275	  Select SystemH if you are configuring for a Renesas SystemH
276	  7751R evaluation board.
277
278config SH_HP6XX
279	bool "HP6XX"
280	select SYS_SUPPORTS_APM_EMULATION
281	select HD6446X_SERIES
282	depends on CPU_SUBTYPE_SH7709
283	help
284	  Select HP6XX if configuring for a HP jornada HP6xx.
285	  More information (hardware only) at
286	  <http://www.hp.com/jornada/>.
287
288config SH_DREAMCAST
289	bool "Dreamcast"
290	select SYS_SUPPORTS_PCI
291	depends on CPU_SUBTYPE_SH7091
292	help
293	  Select Dreamcast if configuring for a SEGA Dreamcast.
294	  More information at <http://www.linux-sh.org>
295
296config SH_MPC1211
297	bool "Interface MPC1211"
298	depends on CPU_SUBTYPE_SH7751 && BROKEN
299	help
300	  CTP/PCI-SH02 is a CPU module computer that is produced
301	  by Interface Corporation.
302	  More information at <http://www.interface.co.jp>
303
304config SH_SH03
305	bool "Interface CTP/PCI-SH03"
306	depends on CPU_SUBTYPE_SH7751
307	select CPU_HAS_IPR_IRQ
308	select SYS_SUPPORTS_PCI
309	help
310	  CTP/PCI-SH03 is a CPU module computer that is produced
311	  by Interface Corporation.
312	  More information at <http://www.interface.co.jp>
313
314config SH_SECUREEDGE5410
315	bool "SecureEdge5410"
316	depends on CPU_SUBTYPE_SH7751R
317	select CPU_HAS_IPR_IRQ
318	select SYS_SUPPORTS_PCI
319	help
320	  Select SecureEdge5410 if configuring for a SnapGear SH board.
321	  This includes both the OEM SecureEdge products as well as the
322	  SME product line.
323
324config SH_HS7751RVOIP
325	bool "HS7751RVOIP"
326	depends on CPU_SUBTYPE_SH7751R
327	help
328	  Select HS7751RVOIP if configuring for a Renesas Technology
329	  Sales VoIP board.
330
331config SH_7710VOIPGW
332	bool "SH7710-VOIP-GW"
333	depends on CPU_SUBTYPE_SH7710
334	help
335	  Select this option to build a kernel for the SH7710 based
336	  VOIP GW.
337
338config SH_RTS7751R2D
339	bool "RTS7751R2D"
340	depends on CPU_SUBTYPE_SH7751R
341	select SYS_SUPPORTS_PCI
342	help
343	  Select RTS7751R2D if configuring for a Renesas Technology
344	  Sales SH-Graphics board.
345
346config SH_HIGHLANDER
347	bool "Highlander"
348	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
349	select SYS_SUPPORTS_PCI
350
351config SH_EDOSK7705
352	bool "EDOSK7705"
353	depends on CPU_SUBTYPE_SH7705
354
355config SH_SH4202_MICRODEV
356	bool "SH4-202 MicroDev"
357	depends on CPU_SUBTYPE_SH4_202
358	help
359	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
360	  with an SH4-202 CPU.
361
362config SH_LANDISK
363	bool "LANDISK"
364	depends on CPU_SUBTYPE_SH7751R
365	select SYS_SUPPORTS_PCI
366	help
367	  I-O DATA DEVICE, INC. "LANDISK Series" support.
368
369config SH_TITAN
370	bool "TITAN"
371	depends on CPU_SUBTYPE_SH7751R
372	select CPU_HAS_IPR_IRQ
373	select SYS_SUPPORTS_PCI
374	help
375	  Select Titan if you are configuring for a Nimble Microsystems
376	  NetEngine NP51R.
377
378config SH_SHMIN
379	bool "SHMIN"
380	depends on CPU_SUBTYPE_SH7706
381	select CPU_HAS_IPR_IRQ
382	help
383	  Select SHMIN if configuring for the SHMIN board.
384
385config SH_LBOX_RE2
386	bool "L-BOX RE2"
387	depends on CPU_SUBTYPE_SH7751R
388	select SYS_SUPPORTS_PCI
389	help
390	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
391
392config SH_X3PROTO
393	bool "SH-X3 Prototype board"
394	depends on CPU_SUBTYPE_SHX3
395
396config SH_MAGIC_PANEL_R2
397	bool "Magic Panel R2"
398	depends on CPU_SUBTYPE_SH7720
399	help
400	  Select Magic Panel R2 if configuring for Magic Panel R2.
401
402endmenu
403
404source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
405source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
406source "arch/sh/boards/renesas/r7780rp/Kconfig"
407source "arch/sh/boards/magicpanelr2/Kconfig"
408
409menu "Timer and clock configuration"
410
411config SH_TMU
412	bool "TMU timer support"
413	depends on CPU_SH3 || CPU_SH4
414	select GENERIC_TIME
415	select GENERIC_CLOCKEVENTS
416	default y
417	help
418	  This enables the use of the TMU as the system timer.
419
420config SH_CMT
421	bool "CMT timer support"
422	depends on CPU_SH2
423	default y
424	help
425	  This enables the use of the CMT as the system timer.
426
427config SH_MTU2
428	bool "MTU2 timer support"
429	depends on CPU_SH2A
430	default n
431	help
432	  This enables the use of the MTU2 as the system timer.
433
434config SH_TIMER_IRQ
435	int
436	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
437	default "86" if CPU_SUBTYPE_SH7619
438	default "140" if CPU_SUBTYPE_SH7206
439	default "16"
440
441config SH_PCLK_FREQ
442	int "Peripheral clock frequency (in Hz)"
443	default "27000000" if CPU_SUBTYPE_SH7343
444	default "31250000" if CPU_SUBTYPE_SH7619
445	default "32000000" if CPU_SUBTYPE_SH7722
446	default "33333333" if CPU_SUBTYPE_SH7770 || \
447			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
448			      CPU_SUBTYPE_SH7206
449	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
450	default "66000000" if CPU_SUBTYPE_SH4_202
451	default "50000000"
452	help
453	  This option is used to specify the peripheral clock frequency.
454	  This is necessary for determining the reference clock value on
455	  platforms lacking an RTC.
456
457config SH_CLK_MD
458	int "CPU Mode Pin Setting"
459	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
460	default 6 if CPU_SUBTYPE_SH7206
461	default 5 if CPU_SUBTYPE_SH7619
462	default 0
463	help
464	  MD2 - MD0 pin setting.
465
466source "kernel/time/Kconfig"
467
468endmenu
469
470menu "CPU Frequency scaling"
471
472source "drivers/cpufreq/Kconfig"
473
474config SH_CPU_FREQ
475	tristate "SuperH CPU Frequency driver"
476	depends on CPU_FREQ
477	select CPU_FREQ_TABLE
478	help
479	  This adds the cpufreq driver for SuperH. At present, only
480	  the SH-4 is supported.
481
482	  For details, take a look at <file:Documentation/cpu-freq>.
483
484	  If unsure, say N.
485
486endmenu
487
488source "arch/sh/drivers/Kconfig"
489
490endmenu
491
492config ISA_DMA_API
493	bool
494	depends on SH_MPC1211
495	default y
496
497menu "Kernel features"
498
499source kernel/Kconfig.hz
500
501config KEXEC
502	bool "kexec system call (EXPERIMENTAL)"
503	depends on EXPERIMENTAL
504	help
505	  kexec is a system call that implements the ability to shutdown your
506	  current kernel, and to start another kernel.  It is like a reboot
507	  but it is independent of the system firmware.  And like a reboot
508	  you can start any kernel with it, not just Linux.
509
510	  The name comes from the similarity to the exec system call.
511
512	  It is an ongoing process to be certain the hardware in a machine
513	  is properly shutdown, so do not be surprised if this code does not
514	  initially work for you.  It may help to enable device hotplugging
515	  support.  As of this writing the exact hardware interface is
516	  strongly in flux, so no good recommendation can be made.
517
518config CRASH_DUMP
519	bool "kernel crash dumps (EXPERIMENTAL)"
520	depends on EXPERIMENTAL
521	help
522	  Generate crash dump after being started by kexec.
523	  This should be normally only set in special crash dump kernels
524	  which are loaded in the main kernel with kexec-tools into
525	  a specially reserved region and then later executed after
526	  a crash by kdump/kexec. The crash dump kernel must be compiled
527	  to a memory address not used by the main kernel using
528	  MEMORY_START.
529
530	  For more details see Documentation/kdump/kdump.txt
531
532config SMP
533	bool "Symmetric multi-processing support"
534	depends on SYS_SUPPORTS_SMP
535	---help---
536	  This enables support for systems with more than one CPU. If you have
537	  a system with only one CPU, like most personal computers, say N. If
538	  you have a system with more than one CPU, say Y.
539
540	  If you say N here, the kernel will run on single and multiprocessor
541	  machines, but will use only one CPU of a multiprocessor machine. If
542	  you say Y here, the kernel will run on many, but not all,
543	  singleprocessor machines. On a singleprocessor machine, the kernel
544	  will run faster if you say N here.
545
546	  People using multiprocessor machines who say Y here should also say
547	  Y to "Enhanced Real Time Clock Support", below.
548
549	  See also the <file:Documentation/smp.txt>,
550	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
551	  at <http://www.tldp.org/docs.html#howto>.
552
553	  If you don't know what to do here, say N.
554
555config NR_CPUS
556	int "Maximum number of CPUs (2-32)"
557	range 2 32
558	depends on SMP
559	default "4" if CPU_SHX3
560	default "2"
561	help
562	  This allows you to specify the maximum number of CPUs which this
563	  kernel will support.  The maximum supported value is 32 and the
564	  minimum value which makes sense is 2.
565
566	  This is purely to save memory - each supported CPU adds
567	  approximately eight kilobytes to the kernel image.
568
569source "kernel/Kconfig.preempt"
570
571config GUSA
572	def_bool y
573	depends on !SMP
574	help
575	  This enables support for gUSA (general UserSpace Atomicity).
576	  This is the default implementation for both UP and non-ll/sc
577	  CPUs, and is used by the libc, amongst others.
578
579	  For additional information, design information can be found
580	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
581
582	  This should only be disabled for special cases where alternate
583	  atomicity implementations exist.
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	depends on CPU_SH4 && !CPU_SH4A
609	help
610	  Selecting this option will wakeup the User Break Controller (UBC) on
611	  startup. Although the UBC is left in an awake state when the processor
612	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
613	  power saving state, which causes issues with things like ptrace().
614
615	  If unsure, say N.
616
617config CMDLINE_BOOL
618	bool "Default bootloader kernel arguments"
619
620config CMDLINE
621	string "Initial kernel command string"
622	depends on CMDLINE_BOOL
623	default "console=ttySC1,115200"
624
625endmenu
626
627menu "Bus options"
628
629# Even on SuperH devices which don't have an ISA bus,
630# this variable helps the PCMCIA modules handle
631# IRQ requesting properly -- Greg Banks.
632#
633# Though we're generally not interested in it when
634# we're not using PCMCIA, so we make it dependent on
635# PCMCIA outright. -- PFM.
636config ISA
637	def_bool y
638	depends on PCMCIA && HD6446X_SERIES
639	help
640	  Find out whether you have ISA slots on your motherboard.  ISA is the
641	  name of a bus system, i.e. the way the CPU talks to the other stuff
642	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
643	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
644	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
645
646config EISA
647	bool
648	---help---
649	  The Extended Industry Standard Architecture (EISA) bus was
650	  developed as an open alternative to the IBM MicroChannel bus.
651
652	  The EISA bus provided some of the features of the IBM MicroChannel
653	  bus while maintaining backward compatibility with cards made for
654	  the older ISA bus.  The EISA bus saw limited use between 1988 and
655	  1995 when it was made obsolete by the PCI bus.
656
657	  Say Y here if you are building a kernel for an EISA-based machine.
658
659	  Otherwise, say N.
660
661config MCA
662	bool
663	help
664	  MicroChannel Architecture is found in some IBM PS/2 machines and
665	  laptops.  It is a bus system similar to PCI or ISA. See
666	  <file:Documentation/mca.txt> (and especially the web page given
667	  there) before attempting to build an MCA bus kernel.
668
669config SBUS
670	bool
671
672config SUPERHYWAY
673	tristate "SuperHyway Bus support"
674	depends on CPU_SUBTYPE_SH4_202
675
676config MAPLE
677       bool "Maple Bus support"
678       depends on SH_DREAMCAST
679       help
680         The Maple Bus is SEGA's serial communication bus for peripherals
681         on the Dreamcast. Without this bus support you won't be able to
682         get your Dreamcast keyboard etc to work, so most users
683         probably want to say 'Y' here, unless you are only using the
684         Dreamcast with a serial line terminal or a remote network
685         connection.
686
687config CF_ENABLER
688	bool "Compact Flash Enabler support"
689	depends on SOLUTION_ENGINE || SH_SH03
690	---help---
691	  Compact Flash is a small, removable mass storage device introduced
692	  in 1994 originally as a PCMCIA device.  If you say `Y' here, you
693	  compile in support for Compact Flash devices directly connected to
694	  a SuperH processor.  A Compact Flash FAQ is available at
695	  <http://www.compactflash.org/faqs/faq.htm>.
696
697	  If your board has "Directly Connected" CompactFlash at area 5 or 6,
698	  you may want to enable this option.  Then, you can use CF as
699	  primary IDE drive (only tested for SanDisk).
700
701	  If in doubt, select 'N'.
702
703choice
704	prompt "Compact Flash Connection Area"
705	depends on CF_ENABLER
706	default CF_AREA6
707
708config CF_AREA5
709	bool "Area5"
710	help
711	  If your board has "Directly Connected" CompactFlash, You should
712	  select the area where your CF is connected to.
713
714	  - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
715	  - "Area6" if it is connected to Area 6 (0x18000000)
716
717	  "Area6" will work for most boards.
718
719config CF_AREA6
720	bool "Area6"
721
722endchoice
723
724config CF_BASE_ADDR
725	hex
726	depends on CF_ENABLER
727	default "0xb8000000" if CF_AREA6
728	default "0xb4000000" if CF_AREA5
729
730source "arch/sh/drivers/pci/Kconfig"
731
732source "drivers/pci/Kconfig"
733
734source "drivers/pcmcia/Kconfig"
735
736source "drivers/pci/hotplug/Kconfig"
737
738endmenu
739
740menu "Executable file formats"
741
742source "fs/Kconfig.binfmt"
743
744endmenu
745
746menu "Power management options (EXPERIMENTAL)"
747depends on EXPERIMENTAL && SYS_SUPPORTS_PM
748
749source kernel/power/Kconfig
750
751endmenu
752
753source "net/Kconfig"
754
755source "drivers/Kconfig"
756
757source "fs/Kconfig"
758
759source "kernel/Kconfig.instrumentation"
760
761source "arch/sh/Kconfig.debug"
762
763source "security/Kconfig"
764
765source "crypto/Kconfig"
766
767source "lib/Kconfig"
768