xref: /openbmc/linux/arch/sh/Kconfig (revision e1fb4552)
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 "CPU has SR.RB"
186	depends on CPU_SH3 || CPU_SH4
187	default y
188	help
189	  This will enable the use of SR.RB register bank usage. Processors
190	  that are lacking this bit must have another method in place for
191	  accomplishing what is taken care of by the banked registers.
192
193	  See <file:Documentation/sh/register-banks.txt> for further
194	  information on SR.RB and register banking in the kernel in general.
195
196config CPU_HAS_PTEA
197	bool
198
199config CPU_HAS_DSP
200	bool
201
202config CPU_HAS_FPU
203	bool
204
205endmenu
206
207menu "Board support"
208
209config SOLUTION_ENGINE
210	bool
211
212config SH_SOLUTION_ENGINE
213	bool "SolutionEngine"
214	select SOLUTION_ENGINE
215	select CPU_HAS_IPR_IRQ
216	depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
217	help
218	  Select SolutionEngine if configuring for a Hitachi SH7709
219	  or SH7750 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
295	  <http://www.m17n.org/linux-sh/dreamcast/>.  There is a
296	  Dreamcast project is at <http://linuxdc.sourceforge.net/>.
297
298config SH_MPC1211
299	bool "Interface MPC1211"
300	depends on CPU_SUBTYPE_SH7751 && BROKEN
301	help
302	  CTP/PCI-SH02 is a CPU module computer that is produced
303	  by Interface Corporation.
304	  More information at <http://www.interface.co.jp>
305
306config SH_SH03
307	bool "Interface CTP/PCI-SH03"
308	depends on CPU_SUBTYPE_SH7751
309	select CPU_HAS_IPR_IRQ
310	select SYS_SUPPORTS_PCI
311	help
312	  CTP/PCI-SH03 is a CPU module computer that is produced
313	  by Interface Corporation.
314	  More information at <http://www.interface.co.jp>
315
316config SH_SECUREEDGE5410
317	bool "SecureEdge5410"
318	depends on CPU_SUBTYPE_SH7751R
319	select CPU_HAS_IPR_IRQ
320	select SYS_SUPPORTS_PCI
321	help
322	  Select SecureEdge5410 if configuring for a SnapGear SH board.
323	  This includes both the OEM SecureEdge products as well as the
324	  SME product line.
325
326config SH_HS7751RVOIP
327	bool "HS7751RVOIP"
328	depends on CPU_SUBTYPE_SH7751R
329	help
330	  Select HS7751RVOIP if configuring for a Renesas Technology
331	  Sales VoIP board.
332
333config SH_7710VOIPGW
334	bool "SH7710-VOIP-GW"
335	depends on CPU_SUBTYPE_SH7710
336	help
337	  Select this option to build a kernel for the SH7710 based
338	  VOIP GW.
339
340config SH_RTS7751R2D
341	bool "RTS7751R2D"
342	depends on CPU_SUBTYPE_SH7751R
343	select SYS_SUPPORTS_PCI
344	help
345	  Select RTS7751R2D if configuring for a Renesas Technology
346	  Sales SH-Graphics board.
347
348config SH_HIGHLANDER
349	bool "Highlander"
350	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
351	select SYS_SUPPORTS_PCI
352
353config SH_EDOSK7705
354	bool "EDOSK7705"
355	depends on CPU_SUBTYPE_SH7705
356
357config SH_SH4202_MICRODEV
358	bool "SH4-202 MicroDev"
359	depends on CPU_SUBTYPE_SH4_202
360	help
361	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
362	  with an SH4-202 CPU.
363
364config SH_LANDISK
365	bool "LANDISK"
366	depends on CPU_SUBTYPE_SH7751R
367	select SYS_SUPPORTS_PCI
368	help
369	  I-O DATA DEVICE, INC. "LANDISK Series" support.
370
371config SH_TITAN
372	bool "TITAN"
373	depends on CPU_SUBTYPE_SH7751R
374	select CPU_HAS_IPR_IRQ
375	select SYS_SUPPORTS_PCI
376	help
377	  Select Titan if you are configuring for a Nimble Microsystems
378	  NetEngine NP51R.
379
380config SH_SHMIN
381	bool "SHMIN"
382	depends on CPU_SUBTYPE_SH7706
383	select CPU_HAS_IPR_IRQ
384	help
385	  Select SHMIN if configuring for the SHMIN board.
386
387config SH_LBOX_RE2
388	bool "L-BOX RE2"
389	depends on CPU_SUBTYPE_SH7751R
390	select SYS_SUPPORTS_PCI
391	help
392	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
393
394config SH_X3PROTO
395	bool "SH-X3 Prototype board"
396	depends on CPU_SUBTYPE_SHX3
397
398config SH_MAGIC_PANEL_R2
399	bool "Magic Panel R2"
400	depends on CPU_SUBTYPE_SH7720
401	help
402	  Select Magic Panel R2 if configuring for Magic Panel R2.
403
404endmenu
405
406source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
407source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
408source "arch/sh/boards/renesas/r7780rp/Kconfig"
409source "arch/sh/boards/magicpanelr2/Kconfig"
410
411menu "Timer and clock configuration"
412
413config SH_TMU
414	bool "TMU timer support"
415	depends on CPU_SH3 || CPU_SH4
416	select GENERIC_TIME
417	select GENERIC_CLOCKEVENTS
418	default y
419	help
420	  This enables the use of the TMU as the system timer.
421
422config SH_CMT
423	bool "CMT timer support"
424	depends on CPU_SH2
425	default y
426	help
427	  This enables the use of the CMT as the system timer.
428
429config SH_MTU2
430	bool "MTU2 timer support"
431	depends on CPU_SH2A
432	default n
433	help
434	  This enables the use of the MTU2 as the system timer.
435
436config SH_TIMER_IRQ
437	int
438	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
439	default "86" if CPU_SUBTYPE_SH7619
440	default "140" if CPU_SUBTYPE_SH7206
441	default "16"
442
443config SH_PCLK_FREQ
444	int "Peripheral clock frequency (in Hz)"
445	default "27000000" if CPU_SUBTYPE_SH7343
446	default "31250000" if CPU_SUBTYPE_SH7619
447	default "32000000" if CPU_SUBTYPE_SH7722
448	default "33333333" if CPU_SUBTYPE_SH7770 || \
449			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
450			      CPU_SUBTYPE_SH7206
451	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
452	default "66000000" if CPU_SUBTYPE_SH4_202
453	default "50000000"
454	help
455	  This option is used to specify the peripheral clock frequency.
456	  This is necessary for determining the reference clock value on
457	  platforms lacking an RTC.
458
459config SH_CLK_MD
460	int "CPU Mode Pin Setting"
461	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
462	default 6 if CPU_SUBTYPE_SH7206
463	default 5 if CPU_SUBTYPE_SH7619
464	default 0
465	help
466	  MD2 - MD0 pin setting.
467
468source "kernel/time/Kconfig"
469
470endmenu
471
472menu "CPU Frequency scaling"
473
474source "drivers/cpufreq/Kconfig"
475
476config SH_CPU_FREQ
477	tristate "SuperH CPU Frequency driver"
478	depends on CPU_FREQ
479	select CPU_FREQ_TABLE
480	help
481	  This adds the cpufreq driver for SuperH. At present, only
482	  the SH-4 is supported.
483
484	  For details, take a look at <file:Documentation/cpu-freq>.
485
486	  If unsure, say N.
487
488endmenu
489
490source "arch/sh/drivers/Kconfig"
491
492endmenu
493
494config ISA_DMA_API
495	bool
496	depends on SH_MPC1211
497	default y
498
499menu "Kernel features"
500
501source kernel/Kconfig.hz
502
503config KEXEC
504	bool "kexec system call (EXPERIMENTAL)"
505	depends on EXPERIMENTAL
506	help
507	  kexec is a system call that implements the ability to shutdown your
508	  current kernel, and to start another kernel.  It is like a reboot
509	  but it is independent of the system firmware.  And like a reboot
510	  you can start any kernel with it, not just Linux.
511
512	  The name comes from the similarity to the exec system call.
513
514	  It is an ongoing process to be certain the hardware in a machine
515	  is properly shutdown, so do not be surprised if this code does not
516	  initially work for you.  It may help to enable device hotplugging
517	  support.  As of this writing the exact hardware interface is
518	  strongly in flux, so no good recommendation can be made.
519
520config CRASH_DUMP
521	bool "kernel crash dumps (EXPERIMENTAL)"
522	depends on EXPERIMENTAL
523	help
524	  Generate crash dump after being started by kexec.
525	  This should be normally only set in special crash dump kernels
526	  which are loaded in the main kernel with kexec-tools into
527	  a specially reserved region and then later executed after
528	  a crash by kdump/kexec. The crash dump kernel must be compiled
529	  to a memory address not used by the main kernel using
530	  MEMORY_START.
531
532	  For more details see Documentation/kdump/kdump.txt
533
534config SMP
535	bool "Symmetric multi-processing support"
536	depends on SYS_SUPPORTS_SMP
537	---help---
538	  This enables support for systems with more than one CPU. If you have
539	  a system with only one CPU, like most personal computers, say N. If
540	  you have a system with more than one CPU, say Y.
541
542	  If you say N here, the kernel will run on single and multiprocessor
543	  machines, but will use only one CPU of a multiprocessor machine. If
544	  you say Y here, the kernel will run on many, but not all,
545	  singleprocessor machines. On a singleprocessor machine, the kernel
546	  will run faster if you say N here.
547
548	  People using multiprocessor machines who say Y here should also say
549	  Y to "Enhanced Real Time Clock Support", below.
550
551	  See also the <file:Documentation/smp.txt>,
552	  <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available
553	  at <http://www.tldp.org/docs.html#howto>.
554
555	  If you don't know what to do here, say N.
556
557config NR_CPUS
558	int "Maximum number of CPUs (2-32)"
559	range 2 32
560	depends on SMP
561	default "4" if CPU_SHX3
562	default "2"
563	help
564	  This allows you to specify the maximum number of CPUs which this
565	  kernel will support.  The maximum supported value is 32 and the
566	  minimum value which makes sense is 2.
567
568	  This is purely to save memory - each supported CPU adds
569	  approximately eight kilobytes to the kernel image.
570
571source "kernel/Kconfig.preempt"
572
573config GUSA
574	def_bool y
575	depends on !SMP
576	help
577	  This enables support for gUSA (general UserSpace Atomicity).
578	  This is the default implementation for both UP and non-ll/sc
579	  CPUs, and is used by the libc, amongst others.
580
581	  For additional information, design information can be found
582	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
583
584	  This should only be disabled for special cases where alternate
585	  atomicity implementations exist.
586
587endmenu
588
589menu "Boot options"
590
591config ZERO_PAGE_OFFSET
592	hex "Zero page offset"
593	default "0x00004000" if SH_MPC1211 || SH_SH03
594	default "0x00010000" if PAGE_SIZE_64KB
595	default "0x00002000" if PAGE_SIZE_8KB
596	default "0x00001000"
597	help
598	  This sets the default offset of zero page.
599
600config BOOT_LINK_OFFSET
601	hex "Link address offset for booting"
602	default "0x00800000"
603	help
604	  This option allows you to set the link address offset of the zImage.
605	  This can be useful if you are on a board which has a small amount of
606	  memory.
607
608config UBC_WAKEUP
609	bool "Wakeup UBC on startup"
610	depends on CPU_SH4
611	help
612	  Selecting this option will wakeup the User Break Controller (UBC) on
613	  startup. Although the UBC is left in an awake state when the processor
614	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
615	  power saving state, which causes issues with things like ptrace().
616
617	  If unsure, say N.
618
619config CMDLINE_BOOL
620	bool "Default bootloader kernel arguments"
621
622config CMDLINE
623	string "Initial kernel command string"
624	depends on CMDLINE_BOOL
625	default "console=ttySC1,115200"
626
627endmenu
628
629menu "Bus options"
630
631# Even on SuperH devices which don't have an ISA bus,
632# this variable helps the PCMCIA modules handle
633# IRQ requesting properly -- Greg Banks.
634#
635# Though we're generally not interested in it when
636# we're not using PCMCIA, so we make it dependent on
637# PCMCIA outright. -- PFM.
638config ISA
639	def_bool y
640	depends on PCMCIA && HD6446X_SERIES
641	help
642	  Find out whether you have ISA slots on your motherboard.  ISA is the
643	  name of a bus system, i.e. the way the CPU talks to the other stuff
644	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
645	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
646	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
647
648config EISA
649	bool
650	---help---
651	  The Extended Industry Standard Architecture (EISA) bus was
652	  developed as an open alternative to the IBM MicroChannel bus.
653
654	  The EISA bus provided some of the features of the IBM MicroChannel
655	  bus while maintaining backward compatibility with cards made for
656	  the older ISA bus.  The EISA bus saw limited use between 1988 and
657	  1995 when it was made obsolete by the PCI bus.
658
659	  Say Y here if you are building a kernel for an EISA-based machine.
660
661	  Otherwise, say N.
662
663config MCA
664	bool
665	help
666	  MicroChannel Architecture is found in some IBM PS/2 machines and
667	  laptops.  It is a bus system similar to PCI or ISA. See
668	  <file:Documentation/mca.txt> (and especially the web page given
669	  there) before attempting to build an MCA bus kernel.
670
671config SBUS
672	bool
673
674config SUPERHYWAY
675	tristate "SuperHyway Bus support"
676	depends on CPU_SUBTYPE_SH4_202
677
678config MAPLE
679       bool "Maple Bus support"
680       depends on SH_DREAMCAST
681       help
682         The Maple Bus is SEGA's serial communication bus for peripherals
683         on the Dreamcast. Without this bus support you won't be able to
684         get your Dreamcast keyboard etc to work, so most users
685         probably want to say 'Y' here, unless you are only using the
686         Dreamcast with a serial line terminal or a remote network
687         connection.
688
689config CF_ENABLER
690	bool "Compact Flash Enabler support"
691	depends on SOLUTION_ENGINE || SH_SH03
692	---help---
693	  Compact Flash is a small, removable mass storage device introduced
694	  in 1994 originally as a PCMCIA device.  If you say `Y' here, you
695	  compile in support for Compact Flash devices directly connected to
696	  a SuperH processor.  A Compact Flash FAQ is available at
697	  <http://www.compactflash.org/faqs/faq.htm>.
698
699	  If your board has "Directly Connected" CompactFlash at area 5 or 6,
700	  you may want to enable this option.  Then, you can use CF as
701	  primary IDE drive (only tested for SanDisk).
702
703	  If in doubt, select 'N'.
704
705choice
706	prompt "Compact Flash Connection Area"
707	depends on CF_ENABLER
708	default CF_AREA6
709
710config CF_AREA5
711	bool "Area5"
712	help
713	  If your board has "Directly Connected" CompactFlash, You should
714	  select the area where your CF is connected to.
715
716	  - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
717	  - "Area6" if it is connected to Area 6 (0x18000000)
718
719	  "Area6" will work for most boards.
720
721config CF_AREA6
722	bool "Area6"
723
724endchoice
725
726config CF_BASE_ADDR
727	hex
728	depends on CF_ENABLER
729	default "0xb8000000" if CF_AREA6
730	default "0xb4000000" if CF_AREA5
731
732source "arch/sh/drivers/pci/Kconfig"
733
734source "drivers/pci/Kconfig"
735
736source "drivers/pcmcia/Kconfig"
737
738source "drivers/pci/hotplug/Kconfig"
739
740endmenu
741
742menu "Executable file formats"
743
744source "fs/Kconfig.binfmt"
745
746endmenu
747
748menu "Power management options (EXPERIMENTAL)"
749depends on EXPERIMENTAL && SYS_SUPPORTS_PM
750
751source kernel/power/Kconfig
752
753endmenu
754
755source "net/Kconfig"
756
757source "drivers/Kconfig"
758
759source "fs/Kconfig"
760
761source "arch/sh/oprofile/Kconfig"
762
763source "arch/sh/Kconfig.debug"
764
765source "security/Kconfig"
766
767source "crypto/Kconfig"
768
769source "lib/Kconfig"
770