xref: /openbmc/linux/arch/sh/Kconfig (revision da2014a2)
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	def_bool y
10	select EMBEDDED
11	select HAVE_CLK
12	select HAVE_IDE
13	select HAVE_OPROFILE
14	help
15	  The SuperH is a RISC processor targeted for use in embedded systems
16	  and consumer electronics; it was also used in the Sega Dreamcast
17	  gaming console.  The SuperH port has a home page at
18	  <http://www.linux-sh.org/>.
19
20config SUPERH32
21	def_bool !SUPERH64
22
23config SUPERH64
24	def_bool y if CPU_SH5
25
26config ARCH_DEFCONFIG
27	string
28	default "arch/sh/configs/shx3_defconfig" if SUPERH32
29	default "arch/sh/configs/cayman_defconfig" if SUPERH64
30
31config RWSEM_GENERIC_SPINLOCK
32	def_bool y
33
34config RWSEM_XCHGADD_ALGORITHM
35	bool
36
37config GENERIC_BUG
38	def_bool y
39	depends on BUG && SUPERH32
40
41config GENERIC_FIND_NEXT_BIT
42	def_bool y
43
44config GENERIC_HWEIGHT
45	def_bool y
46
47config GENERIC_HARDIRQS
48	def_bool y
49
50config GENERIC_IRQ_PROBE
51	def_bool y
52
53config GENERIC_CALIBRATE_DELAY
54	def_bool y
55
56config GENERIC_IOMAP
57	bool
58
59config GENERIC_TIME
60	def_bool n
61
62config GENERIC_CLOCKEVENTS
63	def_bool n
64
65config SYS_SUPPORTS_PM
66	bool
67
68config SYS_SUPPORTS_APM_EMULATION
69	bool
70	select SYS_SUPPORTS_PM
71
72config SYS_SUPPORTS_SMP
73	bool
74
75config SYS_SUPPORTS_NUMA
76	bool
77
78config SYS_SUPPORTS_PCI
79	bool
80
81config STACKTRACE_SUPPORT
82	def_bool y
83
84config LOCKDEP_SUPPORT
85	def_bool y
86
87config ARCH_HAS_ILOG2_U32
88	def_bool n
89
90config ARCH_HAS_ILOG2_U64
91	def_bool n
92
93config ARCH_NO_VIRT_TO_BUS
94	def_bool y
95
96config ARCH_SUPPORTS_AOUT
97	def_bool y
98
99config IO_TRAPPED
100	bool
101
102source "init/Kconfig"
103
104menu "System type"
105
106#
107# Processor families
108#
109config CPU_SH2
110	bool
111
112config CPU_SH2A
113	bool
114	select CPU_SH2
115
116config CPU_SH3
117	bool
118	select CPU_HAS_INTEVT
119	select CPU_HAS_SR_RB
120
121config CPU_SH4
122	bool
123	select CPU_HAS_INTEVT
124	select CPU_HAS_SR_RB
125	select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
126	select CPU_HAS_FPU if !CPU_SH4AL_DSP
127
128config CPU_SH4A
129	bool
130	select CPU_SH4
131
132config CPU_SH4AL_DSP
133	bool
134	select CPU_SH4A
135	select CPU_HAS_DSP
136
137config CPU_SH5
138	bool
139	select CPU_HAS_FPU
140
141config CPU_SHX2
142	bool
143
144config CPU_SHX3
145	bool
146
147choice
148	prompt "Processor sub-type selection"
149
150#
151# Processor subtypes
152#
153
154# SH-2 Processor Support
155
156config CPU_SUBTYPE_SH7619
157	bool "Support SH7619 processor"
158	select CPU_SH2
159
160# SH-2A Processor Support
161
162config CPU_SUBTYPE_SH7203
163	bool "Support SH7203 processor"
164	select CPU_SH2A
165	select CPU_HAS_FPU
166
167config CPU_SUBTYPE_SH7206
168	bool "Support SH7206 processor"
169	select CPU_SH2A
170
171config CPU_SUBTYPE_SH7263
172	bool "Support SH7263 processor"
173	select CPU_SH2A
174	select CPU_HAS_FPU
175
176config CPU_SUBTYPE_MXG
177	bool "Support MX-G processor"
178	select CPU_SH2A
179	help
180	  Select MX-G if running on an R8A03022BG part.
181
182# SH-3 Processor Support
183
184config CPU_SUBTYPE_SH7705
185	bool "Support SH7705 processor"
186	select CPU_SH3
187
188config CPU_SUBTYPE_SH7706
189	bool "Support SH7706 processor"
190	select CPU_SH3
191	help
192	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
193
194config CPU_SUBTYPE_SH7707
195	bool "Support SH7707 processor"
196	select CPU_SH3
197	help
198	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
199
200config CPU_SUBTYPE_SH7708
201	bool "Support SH7708 processor"
202	select CPU_SH3
203	help
204	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
205	  if you have a 100 Mhz SH-3 HD6417708R CPU.
206
207config CPU_SUBTYPE_SH7709
208	bool "Support SH7709 processor"
209	select CPU_SH3
210	help
211	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
212
213config CPU_SUBTYPE_SH7710
214	bool "Support SH7710 processor"
215	select CPU_SH3
216	select CPU_HAS_DSP
217	help
218	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
219
220config CPU_SUBTYPE_SH7712
221	bool "Support SH7712 processor"
222	select CPU_SH3
223	select CPU_HAS_DSP
224	help
225	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
226
227config CPU_SUBTYPE_SH7720
228	bool "Support SH7720 processor"
229	select CPU_SH3
230	select CPU_HAS_DSP
231	help
232	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
233
234config CPU_SUBTYPE_SH7721
235	bool "Support SH7721 processor"
236	select CPU_SH3
237	select CPU_HAS_DSP
238	help
239	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
240
241# SH-4 Processor Support
242
243config CPU_SUBTYPE_SH7750
244	bool "Support SH7750 processor"
245	select CPU_SH4
246	help
247	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
248
249config CPU_SUBTYPE_SH7091
250	bool "Support SH7091 processor"
251	select CPU_SH4
252	help
253	  Select SH7091 if you have an SH-4 based Sega device (such as
254	  the Dreamcast, Naomi, and Naomi 2).
255
256config CPU_SUBTYPE_SH7750R
257	bool "Support SH7750R processor"
258	select CPU_SH4
259
260config CPU_SUBTYPE_SH7750S
261	bool "Support SH7750S processor"
262	select CPU_SH4
263
264config CPU_SUBTYPE_SH7751
265	bool "Support SH7751 processor"
266	select CPU_SH4
267	help
268	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
269	  or if you have a HD6417751R CPU.
270
271config CPU_SUBTYPE_SH7751R
272	bool "Support SH7751R processor"
273	select CPU_SH4
274
275config CPU_SUBTYPE_SH7760
276	bool "Support SH7760 processor"
277	select CPU_SH4
278
279config CPU_SUBTYPE_SH4_202
280	bool "Support SH4-202 processor"
281	select CPU_SH4
282
283# SH-4A Processor Support
284
285config CPU_SUBTYPE_SH7723
286	bool "Support SH7723 processor"
287	select CPU_SH4A
288	select CPU_SHX2
289	select ARCH_SPARSEMEM_ENABLE
290	help
291	  Select SH7723 if you have an SH-MobileR2 CPU.
292
293config CPU_SUBTYPE_SH7763
294	bool "Support SH7763 processor"
295	select CPU_SH4A
296	help
297	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
298
299config CPU_SUBTYPE_SH7770
300	bool "Support SH7770 processor"
301	select CPU_SH4A
302
303config CPU_SUBTYPE_SH7780
304	bool "Support SH7780 processor"
305	select CPU_SH4A
306
307config CPU_SUBTYPE_SH7785
308	bool "Support SH7785 processor"
309	select CPU_SH4A
310	select CPU_SHX2
311	select ARCH_SPARSEMEM_ENABLE
312	select SYS_SUPPORTS_NUMA
313
314config CPU_SUBTYPE_SHX3
315	bool "Support SH-X3 processor"
316	select CPU_SH4A
317	select CPU_SHX3
318	select ARCH_SPARSEMEM_ENABLE
319	select SYS_SUPPORTS_NUMA
320	select SYS_SUPPORTS_SMP
321
322# SH4AL-DSP Processor Support
323
324config CPU_SUBTYPE_SH7343
325	bool "Support SH7343 processor"
326	select CPU_SH4AL_DSP
327
328config CPU_SUBTYPE_SH7722
329	bool "Support SH7722 processor"
330	select CPU_SH4AL_DSP
331	select CPU_SHX2
332	select ARCH_SPARSEMEM_ENABLE
333	select SYS_SUPPORTS_NUMA
334
335config CPU_SUBTYPE_SH7366
336	bool "Support SH7366 processor"
337	select CPU_SH4AL_DSP
338	select CPU_SHX2
339	select ARCH_SPARSEMEM_ENABLE
340	select SYS_SUPPORTS_NUMA
341
342# SH-5 Processor Support
343
344config CPU_SUBTYPE_SH5_101
345	bool "Support SH5-101 processor"
346	select CPU_SH5
347
348config CPU_SUBTYPE_SH5_103
349	bool "Support SH5-103 processor"
350	select CPU_SH5
351
352endchoice
353
354source "arch/sh/mm/Kconfig"
355source "arch/sh/Kconfig.cpu"
356
357menu "Board support"
358
359config SOLUTION_ENGINE
360	bool
361
362config SH_SOLUTION_ENGINE
363	bool "SolutionEngine"
364	select SOLUTION_ENGINE
365	select CPU_HAS_IPR_IRQ
366	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
367	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
368	  CPU_SUBTYPE_SH7750R
369	help
370	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
371	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
372
373config SH_7206_SOLUTION_ENGINE
374	bool "SolutionEngine7206"
375	select SOLUTION_ENGINE
376	depends on CPU_SUBTYPE_SH7206
377	help
378	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
379	  evaluation board.
380
381config SH_7619_SOLUTION_ENGINE
382	bool "SolutionEngine7619"
383	select SOLUTION_ENGINE
384	depends on CPU_SUBTYPE_SH7619
385	help
386	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
387	  evaluation board.
388
389config SH_7721_SOLUTION_ENGINE
390	bool "SolutionEngine7721"
391	select SOLUTION_ENGINE
392	depends on CPU_SUBTYPE_SH7721
393	help
394	  Select 7721 SolutionEngine if configuring for a Hitachi SH7721
395	  evaluation board.
396
397config SH_7722_SOLUTION_ENGINE
398	bool "SolutionEngine7722"
399	select SOLUTION_ENGINE
400	depends on CPU_SUBTYPE_SH7722
401	help
402	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
403	  evaluation board.
404
405config SH_7751_SOLUTION_ENGINE
406	bool "SolutionEngine7751"
407	select SOLUTION_ENGINE
408	select CPU_HAS_IPR_IRQ
409	depends on CPU_SUBTYPE_SH7751
410	help
411	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
412	  evaluation board.
413
414config SH_7780_SOLUTION_ENGINE
415	bool "SolutionEngine7780"
416	select SOLUTION_ENGINE
417	select SYS_SUPPORTS_PCI
418	depends on CPU_SUBTYPE_SH7780
419	help
420	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
421	  evaluation board.
422
423config SH_7343_SOLUTION_ENGINE
424	bool "SolutionEngine7343"
425	select SOLUTION_ENGINE
426	depends on CPU_SUBTYPE_SH7343
427	help
428	  Select 7343 SolutionEngine if configuring for a Hitachi
429	  SH7343 (SH-Mobile 3AS) evaluation board.
430
431config SH_7751_SYSTEMH
432	bool "SystemH7751R"
433	depends on CPU_SUBTYPE_SH7751R
434	help
435	  Select SystemH if you are configuring for a Renesas SystemH
436	  7751R evaluation board.
437
438config SH_HP6XX
439	bool "HP6XX"
440	select SYS_SUPPORTS_APM_EMULATION
441	select HD6446X_SERIES
442	depends on CPU_SUBTYPE_SH7709
443	help
444	  Select HP6XX if configuring for a HP jornada HP6xx.
445	  More information (hardware only) at
446	  <http://www.hp.com/jornada/>.
447
448config SH_DREAMCAST
449	bool "Dreamcast"
450	select SYS_SUPPORTS_PCI
451	depends on CPU_SUBTYPE_SH7091
452	help
453	  Select Dreamcast if configuring for a SEGA Dreamcast.
454	  More information at <http://www.linux-sh.org>
455
456config SH_SH03
457	bool "Interface CTP/PCI-SH03"
458	depends on CPU_SUBTYPE_SH7751
459	select CPU_HAS_IPR_IRQ
460	select SYS_SUPPORTS_PCI
461	help
462	  CTP/PCI-SH03 is a CPU module computer that is produced
463	  by Interface Corporation.
464	  More information at <http://www.interface.co.jp>
465
466config SH_SECUREEDGE5410
467	bool "SecureEdge5410"
468	depends on CPU_SUBTYPE_SH7751R
469	select CPU_HAS_IPR_IRQ
470	select SYS_SUPPORTS_PCI
471	help
472	  Select SecureEdge5410 if configuring for a SnapGear SH board.
473	  This includes both the OEM SecureEdge products as well as the
474	  SME product line.
475
476config SH_RTS7751R2D
477	bool "RTS7751R2D"
478	depends on CPU_SUBTYPE_SH7751R
479	select SYS_SUPPORTS_PCI
480	select IO_TRAPPED
481	help
482	  Select RTS7751R2D if configuring for a Renesas Technology
483	  Sales SH-Graphics board.
484
485config SH_RSK7203
486	bool "RSK7203"
487	depends on CPU_SUBTYPE_SH7203
488
489config SH_SDK7780
490	bool "SDK7780R3"
491	depends on CPU_SUBTYPE_SH7780
492	select SYS_SUPPORTS_PCI
493	help
494	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
495	  evaluation board.
496
497config SH_HIGHLANDER
498	bool "Highlander"
499	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
500	select SYS_SUPPORTS_PCI
501	select IO_TRAPPED
502
503config SH_SH7785LCR
504	bool "SH7785LCR"
505	depends on CPU_SUBTYPE_SH7785
506	select SYS_SUPPORTS_PCI
507	select IO_TRAPPED
508
509config SH_SH7785LCR_29BIT_PHYSMAPS
510	bool "SH7785LCR 29bit physmaps"
511	depends on SH_SH7785LCR
512	default y
513	help
514	  This board has 2 physical memory maps. It can be changed with
515	  DIP switch(S2-5). If you set the DIP switch for S2-5 = ON,
516	  you can access all on-board device in 29bit address mode.
517
518config SH_MIGOR
519	bool "Migo-R"
520	depends on CPU_SUBTYPE_SH7722
521	help
522	  Select Migo-R if configuring for the SH7722 Migo-R platform
523          by Renesas System Solutions Asia Pte. Ltd.
524
525config SH_AP325RXA
526	bool "AP-325RXA"
527	depends on CPU_SUBTYPE_SH7723
528	help
529	  Renesas "AP-325RXA" support.
530	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"
531
532config SH_SH7763RDP
533	bool "SH7763RDP"
534	depends on CPU_SUBTYPE_SH7763
535	help
536	  Select SH7763RDP if configuring for a Renesas SH7763
537	  evaluation board.
538
539config SH_EDOSK7705
540	bool "EDOSK7705"
541	depends on CPU_SUBTYPE_SH7705
542
543config SH_SH4202_MICRODEV
544	bool "SH4-202 MicroDev"
545	depends on CPU_SUBTYPE_SH4_202
546	help
547	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
548	  with an SH4-202 CPU.
549
550config SH_LANDISK
551	bool "LANDISK"
552	depends on CPU_SUBTYPE_SH7751R
553	select SYS_SUPPORTS_PCI
554	help
555	  I-O DATA DEVICE, INC. "LANDISK Series" support.
556
557config SH_TITAN
558	bool "TITAN"
559	depends on CPU_SUBTYPE_SH7751R
560	select CPU_HAS_IPR_IRQ
561	select SYS_SUPPORTS_PCI
562	help
563	  Select Titan if you are configuring for a Nimble Microsystems
564	  NetEngine NP51R.
565
566config SH_SHMIN
567	bool "SHMIN"
568	depends on CPU_SUBTYPE_SH7706
569	select CPU_HAS_IPR_IRQ
570	help
571	  Select SHMIN if configuring for the SHMIN board.
572
573config SH_LBOX_RE2
574	bool "L-BOX RE2"
575	depends on CPU_SUBTYPE_SH7751R
576	select SYS_SUPPORTS_PCI
577	help
578	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
579
580config SH_X3PROTO
581	bool "SH-X3 Prototype board"
582	depends on CPU_SUBTYPE_SHX3
583
584config SH_MAGIC_PANEL_R2
585	bool "Magic Panel R2"
586	depends on CPU_SUBTYPE_SH7720
587	help
588	  Select Magic Panel R2 if configuring for Magic Panel R2.
589
590config SH_CAYMAN
591	bool "Hitachi Cayman"
592	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
593	select SYS_SUPPORTS_PCI
594
595endmenu
596
597source "arch/sh/boards/mach-r2d/Kconfig"
598source "arch/sh/boards/mach-highlander/Kconfig"
599source "arch/sh/boards/mach-sdk7780/Kconfig"
600source "arch/sh/boards/mach-migor/Kconfig"
601source "arch/sh/boards/mach-magicpanelr2/Kconfig"
602
603menu "Timer and clock configuration"
604
605config SH_TMU
606	def_bool y
607	prompt "TMU timer support"
608	depends on CPU_SH3 || CPU_SH4
609	select GENERIC_TIME
610	select GENERIC_CLOCKEVENTS
611	help
612	  This enables the use of the TMU as the system timer.
613
614config SH_CMT
615	def_bool y
616	prompt "CMT timer support"
617	depends on CPU_SH2 && !CPU_SUBTYPE_MXG
618	help
619	  This enables the use of the CMT as the system timer.
620
621config SH_MTU2
622	def_bool n
623	prompt "MTU2 timer support"
624	depends on CPU_SH2A
625	help
626	  This enables the use of the MTU2 as the system timer.
627
628config SH_TIMER_IRQ
629	int
630	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
631			CPU_SUBTYPE_SH7763
632	default "86" if CPU_SUBTYPE_SH7619
633	default "140" if CPU_SUBTYPE_SH7206
634	default "142" if CPU_SUBTYPE_SH7203
635	default "238" if CPU_SUBTYPE_MXG
636	default "16"
637
638config SH_PCLK_FREQ
639	int "Peripheral clock frequency (in Hz)"
640	default "27000000" if CPU_SUBTYPE_SH7343
641	default "31250000" if CPU_SUBTYPE_SH7619
642	default "32000000" if CPU_SUBTYPE_SH7722
643	default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \
644			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
645			      CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
646			      CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG
647	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
648	default "66000000" if CPU_SUBTYPE_SH4_202
649	default "50000000"
650	help
651	  This option is used to specify the peripheral clock frequency.
652	  This is necessary for determining the reference clock value on
653	  platforms lacking an RTC.
654
655config SH_CLK_MD
656	int "CPU Mode Pin Setting"
657	depends on CPU_SH2
658	default 6 if CPU_SUBTYPE_SH7206
659	default 5 if CPU_SUBTYPE_SH7619
660	default 0
661	help
662	  MD2 - MD0 pin setting.
663
664source "kernel/time/Kconfig"
665
666endmenu
667
668menu "CPU Frequency scaling"
669
670source "drivers/cpufreq/Kconfig"
671
672config SH_CPU_FREQ
673	tristate "SuperH CPU Frequency driver"
674	depends on CPU_FREQ
675	select CPU_FREQ_TABLE
676	help
677	  This adds the cpufreq driver for SuperH. At present, only
678	  the SH-4 is supported.
679
680	  For details, take a look at <file:Documentation/cpu-freq>.
681
682	  If unsure, say N.
683
684endmenu
685
686source "arch/sh/drivers/Kconfig"
687
688endmenu
689
690config ISA_DMA_API
691	bool
692
693menu "Kernel features"
694
695source kernel/Kconfig.hz
696
697config KEXEC
698	bool "kexec system call (EXPERIMENTAL)"
699	depends on SUPERH32 && EXPERIMENTAL
700	help
701	  kexec is a system call that implements the ability to shutdown your
702	  current kernel, and to start another kernel.  It is like a reboot
703	  but it is independent of the system firmware.  And like a reboot
704	  you can start any kernel with it, not just Linux.
705
706	  The name comes from the similarity to the exec system call.
707
708	  It is an ongoing process to be certain the hardware in a machine
709	  is properly shutdown, so do not be surprised if this code does not
710	  initially work for you.  It may help to enable device hotplugging
711	  support.  As of this writing the exact hardware interface is
712	  strongly in flux, so no good recommendation can be made.
713
714config CRASH_DUMP
715	bool "kernel crash dumps (EXPERIMENTAL)"
716	depends on SUPERH32 && EXPERIMENTAL
717	help
718	  Generate crash dump after being started by kexec.
719	  This should be normally only set in special crash dump kernels
720	  which are loaded in the main kernel with kexec-tools into
721	  a specially reserved region and then later executed after
722	  a crash by kdump/kexec. The crash dump kernel must be compiled
723	  to a memory address not used by the main kernel using
724	  MEMORY_START.
725
726	  For more details see Documentation/kdump/kdump.txt
727
728config SMP
729	bool "Symmetric multi-processing support"
730	depends on SYS_SUPPORTS_SMP
731	select USE_GENERIC_SMP_HELPERS
732	---help---
733	  This enables support for systems with more than one CPU. If you have
734	  a system with only one CPU, like most personal computers, say N. If
735	  you have a system with more than one CPU, say Y.
736
737	  If you say N here, the kernel will run on single and multiprocessor
738	  machines, but will use only one CPU of a multiprocessor machine. If
739	  you say Y here, the kernel will run on many, but not all,
740	  singleprocessor machines. On a singleprocessor machine, the kernel
741	  will run faster if you say N here.
742
743	  People using multiprocessor machines who say Y here should also say
744	  Y to "Enhanced Real Time Clock Support", below.
745
746	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
747	  available at <http://www.tldp.org/docs.html#howto>.
748
749	  If you don't know what to do here, say N.
750
751config NR_CPUS
752	int "Maximum number of CPUs (2-32)"
753	range 2 32
754	depends on SMP
755	default "4" if CPU_SHX3
756	default "2"
757	help
758	  This allows you to specify the maximum number of CPUs which this
759	  kernel will support.  The maximum supported value is 32 and the
760	  minimum value which makes sense is 2.
761
762	  This is purely to save memory - each supported CPU adds
763	  approximately eight kilobytes to the kernel image.
764
765source "kernel/Kconfig.preempt"
766
767config GUSA
768	def_bool y
769	depends on !SMP && SUPERH32
770	help
771	  This enables support for gUSA (general UserSpace Atomicity).
772	  This is the default implementation for both UP and non-ll/sc
773	  CPUs, and is used by the libc, amongst others.
774
775	  For additional information, design information can be found
776	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
777
778	  This should only be disabled for special cases where alternate
779	  atomicity implementations exist.
780
781config GUSA_RB
782	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
783	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
784	help
785	  Enabling this option will allow the kernel to implement some
786	  atomic operations using a software implemention of load-locked/
787	  store-conditional (LLSC). On machines which do not have hardware
788	  LLSC, this should be more efficient than the other alternative of
789	  disabling insterrupts around the atomic sequence.
790
791endmenu
792
793menu "Boot options"
794
795config ZERO_PAGE_OFFSET
796	hex "Zero page offset"
797	default "0x00004000" if SH_SH03
798	default "0x00010000" if PAGE_SIZE_64KB
799	default "0x00002000" if PAGE_SIZE_8KB
800	default "0x00001000"
801	help
802	  This sets the default offset of zero page.
803
804config BOOT_LINK_OFFSET
805	hex "Link address offset for booting"
806	default "0x00800000"
807	help
808	  This option allows you to set the link address offset of the zImage.
809	  This can be useful if you are on a board which has a small amount of
810	  memory.
811
812config UBC_WAKEUP
813	bool "Wakeup UBC on startup"
814	depends on CPU_SH4 && !CPU_SH4A
815	help
816	  Selecting this option will wakeup the User Break Controller (UBC) on
817	  startup. Although the UBC is left in an awake state when the processor
818	  comes up, some boot loaders misbehave by putting the UBC to sleep in a
819	  power saving state, which causes issues with things like ptrace().
820
821	  If unsure, say N.
822
823config CMDLINE_BOOL
824	bool "Default bootloader kernel arguments"
825
826config CMDLINE
827	string "Initial kernel command string"
828	depends on CMDLINE_BOOL
829	default "console=ttySC1,115200"
830
831endmenu
832
833menu "Bus options"
834
835# Even on SuperH devices which don't have an ISA bus,
836# this variable helps the PCMCIA modules handle
837# IRQ requesting properly -- Greg Banks.
838#
839# Though we're generally not interested in it when
840# we're not using PCMCIA, so we make it dependent on
841# PCMCIA outright. -- PFM.
842config ISA
843	def_bool y
844	depends on PCMCIA && HD6446X_SERIES
845	help
846	  Find out whether you have ISA slots on your motherboard.  ISA is the
847	  name of a bus system, i.e. the way the CPU talks to the other stuff
848	  inside your box.  Other bus systems are PCI, EISA, MicroChannel
849	  (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
850	  newer boards don't support it.  If you have ISA, say Y, otherwise N.
851
852config EISA
853	bool
854	---help---
855	  The Extended Industry Standard Architecture (EISA) bus was
856	  developed as an open alternative to the IBM MicroChannel bus.
857
858	  The EISA bus provided some of the features of the IBM MicroChannel
859	  bus while maintaining backward compatibility with cards made for
860	  the older ISA bus.  The EISA bus saw limited use between 1988 and
861	  1995 when it was made obsolete by the PCI bus.
862
863	  Say Y here if you are building a kernel for an EISA-based machine.
864
865	  Otherwise, say N.
866
867config MCA
868	bool
869	help
870	  MicroChannel Architecture is found in some IBM PS/2 machines and
871	  laptops.  It is a bus system similar to PCI or ISA. See
872	  <file:Documentation/mca.txt> (and especially the web page given
873	  there) before attempting to build an MCA bus kernel.
874
875config SBUS
876	bool
877
878config SUPERHYWAY
879	tristate "SuperHyway Bus support"
880	depends on CPU_SUBTYPE_SH4_202
881
882config MAPLE
883       bool "Maple Bus support"
884       depends on SH_DREAMCAST
885       help
886         The Maple Bus is SEGA's serial communication bus for peripherals
887         on the Dreamcast. Without this bus support you won't be able to
888         get your Dreamcast keyboard etc to work, so most users
889         probably want to say 'Y' here, unless you are only using the
890         Dreamcast with a serial line terminal or a remote network
891         connection.
892
893config CF_ENABLER
894	bool "Compact Flash Enabler support"
895	depends on SOLUTION_ENGINE || SH_SH03
896	---help---
897	  Compact Flash is a small, removable mass storage device introduced
898	  in 1994 originally as a PCMCIA device.  If you say `Y' here, you
899	  compile in support for Compact Flash devices directly connected to
900	  a SuperH processor.  A Compact Flash FAQ is available at
901	  <http://www.compactflash.org/faqs/faq.htm>.
902
903	  If your board has "Directly Connected" CompactFlash at area 5 or 6,
904	  you may want to enable this option.  Then, you can use CF as
905	  primary IDE drive (only tested for SanDisk).
906
907	  If in doubt, select 'N'.
908
909choice
910	prompt "Compact Flash Connection Area"
911	depends on CF_ENABLER
912	default CF_AREA6
913
914config CF_AREA5
915	bool "Area5"
916	help
917	  If your board has "Directly Connected" CompactFlash, You should
918	  select the area where your CF is connected to.
919
920	  - "Area5" if CompactFlash is connected to Area 5 (0x14000000)
921	  - "Area6" if it is connected to Area 6 (0x18000000)
922
923	  "Area6" will work for most boards.
924
925config CF_AREA6
926	bool "Area6"
927
928endchoice
929
930config CF_BASE_ADDR
931	hex
932	depends on CF_ENABLER
933	default "0xb8000000" if CF_AREA6
934	default "0xb4000000" if CF_AREA5
935
936source "arch/sh/drivers/pci/Kconfig"
937
938source "drivers/pci/Kconfig"
939
940source "drivers/pcmcia/Kconfig"
941
942source "drivers/pci/hotplug/Kconfig"
943
944endmenu
945
946menu "Executable file formats"
947
948source "fs/Kconfig.binfmt"
949
950endmenu
951
952menu "Power management options (EXPERIMENTAL)"
953depends on EXPERIMENTAL && SYS_SUPPORTS_PM
954
955config ARCH_SUSPEND_POSSIBLE
956	def_bool y
957	depends on !SMP
958
959source kernel/power/Kconfig
960
961endmenu
962
963source "net/Kconfig"
964
965source "drivers/Kconfig"
966
967source "fs/Kconfig"
968
969source "arch/sh/Kconfig.debug"
970
971source "security/Kconfig"
972
973source "crypto/Kconfig"
974
975source "lib/Kconfig"
976