xref: /openbmc/linux/arch/sh/Kconfig (revision 43db595e)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
36a108a14SDavid Rientjes	select EXPERT
46d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
586e4dd5aSPaul Mundt	select HAVE_IDE if HAS_IOPORT
695f72d1eSYinghai Lu	select HAVE_MEMBLOCK
742d4b839SMathieu Desnoyers	select HAVE_OPROFILE
89de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
9d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
10f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1173c926beSPaul Mundt	select HAVE_DMA_ATTRS
12e360adbeSPeter Zijlstra	select HAVE_IRQ_WORK
13cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
14df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
1572f0c137SPaul Mundt	select PERF_USE_VMALLOC
16df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
1707e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
1807e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
1950cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
20c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
21a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
22eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
2357b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
2457b81330SPaul Mundt	select HAVE_SPARSE_IRQ
25ed170924SPaul Mundt	select IRQ_FORCED_THREADING
266eac1af0SPaul Mundt	select RTC_LIB
27f01789c6SPaul Mundt	select GENERIC_ATOMIC64
283d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
29ea0e1a9aSPaul Mundt	help
30ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
31ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
32ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
33ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
34ea0e1a9aSPaul Mundt
35ea0e1a9aSPaul Mundtconfig SUPERH32
363cc000b5SPaul Mundt	def_bool ARCH = "sh"
37d39f5450SChris Smith	select HAVE_KPROBES
38d39f5450SChris Smith	select HAVE_KRETPROBES
396d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
40694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
41fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
42fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
43c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
44e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
45327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
46ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
476fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
480102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
49e583d6b3SSam Ravnborg	select PERF_EVENTS
508dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
5157b81330SPaul Mundt	select SPARSE_IRQ
52ea0e1a9aSPaul Mundt
53ea0e1a9aSPaul Mundtconfig SUPERH64
543cc000b5SPaul Mundt	def_bool ARCH = "sh64"
55ea0e1a9aSPaul Mundt
56f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
57f42b7e3dSPaul Mundt	string
58f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
59f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
60f42b7e3dSPaul Mundt
61ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
62d7ef4fb3SHarvey Harrison	def_bool y
63ea0e1a9aSPaul Mundt
64ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
65ea0e1a9aSPaul Mundt	bool
66ea0e1a9aSPaul Mundt
67ea0e1a9aSPaul Mundtconfig GENERIC_BUG
68ea0e1a9aSPaul Mundt	def_bool y
69a82d53ecSPaul Mundt	depends on BUG && SUPERH32
70ea0e1a9aSPaul Mundt
713767f3f1SPaul Mundtconfig GENERIC_CSUM
723767f3f1SPaul Mundt	def_bool y
733767f3f1SPaul Mundt	depends on SUPERH64
743767f3f1SPaul Mundt
75ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
76d7ef4fb3SHarvey Harrison	def_bool y
77ea0e1a9aSPaul Mundt
782eb2a436SPaul Mundtconfig IRQ_PER_CPU
792eb2a436SPaul Mundt	def_bool y
802eb2a436SPaul Mundt
812967dab1SMagnus Dammconfig GENERIC_GPIO
822967dab1SMagnus Damm	def_bool n
832967dab1SMagnus Damm
84ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
85cf204fa7SPaul Mundt	bool
86ea0e1a9aSPaul Mundt
87ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
88938edae1SPaul Mundt	def_bool y
89ea0e1a9aSPaul Mundt
908c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
918c24594dSPaul Mundt	bool
928c24594dSPaul Mundt
936d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
946d134b9eSPaul Mundt	def_bool y
956d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
966d134b9eSPaul Mundt
97bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
98bdcab87bSPaul Mundt	def_bool y
99bdcab87bSPaul Mundt	depends on SMP && PREEMPT
100bdcab87bSPaul Mundt
101af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
102af998a9aSMagnus Damm	def_bool n
103af998a9aSMagnus Damm
104af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
105af998a9aSMagnus Damm	def_bool n
106ea0e1a9aSPaul Mundt
107ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
108ea0e1a9aSPaul Mundt	bool
109af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
110ea0e1a9aSPaul Mundt
111ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
112ffb4a73dSPaul Mundt	bool
113ffb4a73dSPaul Mundt
114ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
115ea0e1a9aSPaul Mundt	bool
116ea0e1a9aSPaul Mundt
117ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
118ea0e1a9aSPaul Mundt	bool
119ea0e1a9aSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
121ea0e1a9aSPaul Mundt	bool
122ea0e1a9aSPaul Mundt
123f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
124f5ad881bSPaul Mundt	bool
125f5ad881bSPaul Mundt
126d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
127d5ed4c2eSMagnus Damm	bool
128d5ed4c2eSMagnus Damm
1299570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1309570ef20SMagnus Damm	bool
1319570ef20SMagnus Damm
132ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
133d7ef4fb3SHarvey Harrison	def_bool y
134ea0e1a9aSPaul Mundt
135ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
136d7ef4fb3SHarvey Harrison	def_bool y
137ea0e1a9aSPaul Mundt
1385a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1395a89f1adSPaul Mundt	def_bool y
1405a89f1adSPaul Mundt
141ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
142d7ef4fb3SHarvey Harrison	def_bool n
143ea0e1a9aSPaul Mundt
144ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
145d7ef4fb3SHarvey Harrison	def_bool n
146ea0e1a9aSPaul Mundt
147ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
148ea0e1a9aSPaul Mundt	def_bool y
149ea0e1a9aSPaul Mundt
150e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
151e869a90eSPaul Mundt	def_bool y
152e869a90eSPaul Mundt
1532e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1542e046b94SPaul Mundt	def_bool y
1552e046b94SPaul Mundt
15686e4dd5aSPaul Mundtconfig NO_IOPORT
15737b7a978SPaul Mundt	def_bool !PCI
1584e2b1084SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN
15986e4dd5aSPaul Mundt
160e7cc9a73SMagnus Dammconfig IO_TRAPPED
161e7cc9a73SMagnus Damm	bool
162e7cc9a73SMagnus Damm
16301be5d63SPaul Mundtconfig DMA_COHERENT
16401be5d63SPaul Mundt	bool
16501be5d63SPaul Mundt
16601be5d63SPaul Mundtconfig DMA_NONCOHERENT
16701be5d63SPaul Mundt	def_bool !DMA_COHERENT
16801be5d63SPaul Mundt
1695cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1705cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1715cabbb62SFUJITA Tomonori
17218e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
17318e98307SFUJITA Tomonori	def_bool y
17418e98307SFUJITA Tomonori
175ea0e1a9aSPaul Mundtsource "init/Kconfig"
176ea0e1a9aSPaul Mundt
177dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
178dc52ddc0SMatt Helsley
179ea0e1a9aSPaul Mundtmenu "System type"
180ea0e1a9aSPaul Mundt
181ea0e1a9aSPaul Mundt#
182ea0e1a9aSPaul Mundt# Processor families
183ea0e1a9aSPaul Mundt#
184ea0e1a9aSPaul Mundtconfig CPU_SH2
185ea0e1a9aSPaul Mundt	bool
186ea0e1a9aSPaul Mundt
187ea0e1a9aSPaul Mundtconfig CPU_SH2A
188ea0e1a9aSPaul Mundt	bool
189ea0e1a9aSPaul Mundt	select CPU_SH2
190e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
191ea0e1a9aSPaul Mundt
192ea0e1a9aSPaul Mundtconfig CPU_SH3
193ea0e1a9aSPaul Mundt	bool
194ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
195ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
1964fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
197ea0e1a9aSPaul Mundt
198ea0e1a9aSPaul Mundtconfig CPU_SH4
199ea0e1a9aSPaul Mundt	bool
200ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
201ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
202ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2034fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
204ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
205ea0e1a9aSPaul Mundt
206ea0e1a9aSPaul Mundtconfig CPU_SH4A
207ea0e1a9aSPaul Mundt	bool
208ea0e1a9aSPaul Mundt	select CPU_SH4
209ea0e1a9aSPaul Mundt
210ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
211ea0e1a9aSPaul Mundt	bool
212ea0e1a9aSPaul Mundt	select CPU_SH4A
213ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH5
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
218add47067SPaul Mundt	select SYS_SUPPORTS_TMU
219ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
220ea0e1a9aSPaul Mundt
221ea0e1a9aSPaul Mundtconfig CPU_SHX2
222ea0e1a9aSPaul Mundt	bool
223ea0e1a9aSPaul Mundt
224ea0e1a9aSPaul Mundtconfig CPU_SHX3
225ea0e1a9aSPaul Mundt	bool
22601be5d63SPaul Mundt	select DMA_COHERENT
2274b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2284b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
229ea0e1a9aSPaul Mundt
230dc65a977SPaul Mundtconfig ARCH_SHMOBILE
231dc65a977SPaul Mundt	bool
23277594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
233ac2c596bSMagnus Damm	select PM
234ac2c596bSMagnus Damm	select PM_RUNTIME
235dc65a977SPaul Mundt
23686c8c047SMatt Flemingconfig CPU_HAS_PMU
23786c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
23886c8c047SMatt Fleming       default y
23986c8c047SMatt Fleming       bool
24086c8c047SMatt Fleming
2413cc000b5SPaul Mundtif SUPERH32
2423cc000b5SPaul Mundt
243ea0e1a9aSPaul Mundtchoice
244ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
245ea0e1a9aSPaul Mundt
246ea0e1a9aSPaul Mundt#
247ea0e1a9aSPaul Mundt# Processor subtypes
248ea0e1a9aSPaul Mundt#
249ea0e1a9aSPaul Mundt
250ea0e1a9aSPaul Mundt# SH-2 Processor Support
251ea0e1a9aSPaul Mundt
252ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
253ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
254ea0e1a9aSPaul Mundt	select CPU_SH2
255f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
256ea0e1a9aSPaul Mundt
257ea0e1a9aSPaul Mundt# SH-2A Processor Support
258ea0e1a9aSPaul Mundt
2592825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2602825999eSPeter Griffin	bool "Support SH7201 processor"
2612825999eSPeter Griffin	select CPU_SH2A
2622825999eSPeter Griffin	select CPU_HAS_FPU
263da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2642825999eSPeter Griffin
2656d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2666d01f510SPaul Mundt	bool "Support SH7203 processor"
2676d01f510SPaul Mundt	select CPU_SH2A
26874d99a5eSPaul Mundt	select CPU_HAS_FPU
269f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
270da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
271f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
2726d01f510SPaul Mundt
273ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
274ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
275ea0e1a9aSPaul Mundt	select CPU_SH2A
276f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
277da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
278ea0e1a9aSPaul Mundt
279a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
280a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
281a8f67f4bSPaul Mundt	select CPU_SH2A
28274d99a5eSPaul Mundt	select CPU_HAS_FPU
283f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
284da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
285a8f67f4bSPaul Mundt
2862ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2872ad69908SPaul Mundt	bool "Support MX-G processor"
2882ad69908SPaul Mundt	select CPU_SH2A
289da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2902ad69908SPaul Mundt	help
2912ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
2922ad69908SPaul Mundt
293ea0e1a9aSPaul Mundt# SH-3 Processor Support
294ea0e1a9aSPaul Mundt
295ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
296ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
297ea0e1a9aSPaul Mundt	select CPU_SH3
298ea0e1a9aSPaul Mundt
299ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
300ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
301ea0e1a9aSPaul Mundt	select CPU_SH3
302ea0e1a9aSPaul Mundt	help
303ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
304ea0e1a9aSPaul Mundt
305ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
306ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
307ea0e1a9aSPaul Mundt	select CPU_SH3
308ea0e1a9aSPaul Mundt	help
309ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
310ea0e1a9aSPaul Mundt
311ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
312ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
313ea0e1a9aSPaul Mundt	select CPU_SH3
314ea0e1a9aSPaul Mundt	help
315ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
316ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
317ea0e1a9aSPaul Mundt
318ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
319ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
320ea0e1a9aSPaul Mundt	select CPU_SH3
321ea0e1a9aSPaul Mundt	help
322ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
323ea0e1a9aSPaul Mundt
324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
325ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
326ea0e1a9aSPaul Mundt	select CPU_SH3
327ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
328ea0e1a9aSPaul Mundt	help
329ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
330ea0e1a9aSPaul Mundt
331ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
332ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
333ea0e1a9aSPaul Mundt	select CPU_SH3
334ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
335ea0e1a9aSPaul Mundt	help
336ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
337ea0e1a9aSPaul Mundt
338ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
339ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
340ea0e1a9aSPaul Mundt	select CPU_SH3
341ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3422b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
343f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
344e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3457b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
346ea0e1a9aSPaul Mundt	help
347ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
348ea0e1a9aSPaul Mundt
34931a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
35031a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
35131a49c4bSYoshihiro Shimoda	select CPU_SH3
35231a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3532b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
354e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3557b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
35631a49c4bSYoshihiro Shimoda	help
35731a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
35831a49c4bSYoshihiro Shimoda
359ea0e1a9aSPaul Mundt# SH-4 Processor Support
360ea0e1a9aSPaul Mundt
361ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
362ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
363ea0e1a9aSPaul Mundt	select CPU_SH4
364ea0e1a9aSPaul Mundt	help
365ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
366ea0e1a9aSPaul Mundt
367ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
368ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
369ea0e1a9aSPaul Mundt	select CPU_SH4
370ea0e1a9aSPaul Mundt	help
371ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
372ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
373ea0e1a9aSPaul Mundt
374ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
375ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
376ea0e1a9aSPaul Mundt	select CPU_SH4
377ea0e1a9aSPaul Mundt
378ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
379ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
380ea0e1a9aSPaul Mundt	select CPU_SH4
381ea0e1a9aSPaul Mundt
382ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
383ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
384ea0e1a9aSPaul Mundt	select CPU_SH4
385ea0e1a9aSPaul Mundt	help
386ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
387ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
388ea0e1a9aSPaul Mundt
389ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
390ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
391ea0e1a9aSPaul Mundt	select CPU_SH4
392ea0e1a9aSPaul Mundt
393ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
394ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
395ea0e1a9aSPaul Mundt	select CPU_SH4
396ea0e1a9aSPaul Mundt
397ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
398ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
399ea0e1a9aSPaul Mundt	select CPU_SH4
400ea0e1a9aSPaul Mundt
401ea0e1a9aSPaul Mundt# SH-4A Processor Support
402ea0e1a9aSPaul Mundt
403178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
404178dd0cdSPaul Mundt	bool "Support SH7723 processor"
405178dd0cdSPaul Mundt	select CPU_SH4A
406178dd0cdSPaul Mundt	select CPU_SHX2
407dc65a977SPaul Mundt	select ARCH_SHMOBILE
408178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
409f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
410f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
411178dd0cdSPaul Mundt	help
412178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
413178dd0cdSPaul Mundt
4140207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4150207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4160207a2efSKuninori Morimoto	select CPU_SH4A
4170207a2efSKuninori Morimoto	select CPU_SHX2
41859fe700dSPaul Mundt	select ARCH_SHMOBILE
4190207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4200207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
421f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4220207a2efSKuninori Morimoto	help
4230207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4240207a2efSKuninori Morimoto
425c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
426c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
427c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
428c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
429f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4300fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4310fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
432c01f0f1aSYoshihiro Shimoda	help
433c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
434c01f0f1aSYoshihiro Shimoda
4357d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4367d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4377d740a06SYoshihiro Shimoda	select CPU_SH4A
438e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4397b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4407d740a06SYoshihiro Shimoda	help
4417d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4427d740a06SYoshihiro Shimoda
443ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
444ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
445ea0e1a9aSPaul Mundt	select CPU_SH4A
446ea0e1a9aSPaul Mundt
447ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
448ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
449ea0e1a9aSPaul Mundt	select CPU_SH4A
450ea0e1a9aSPaul Mundt
451ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
452ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
453ea0e1a9aSPaul Mundt	select CPU_SH4A
454ea0e1a9aSPaul Mundt	select CPU_SHX2
455ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
456ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
457f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
458ea0e1a9aSPaul Mundt
45955ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
46055ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
46155ba99ebSKuninori Morimoto	select CPU_SH4A
46237042fbdSPaul Mundt	select CPU_SHX3
4638263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4642eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
465f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
466e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4677b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
468e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
4697b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
47055ba99ebSKuninori Morimoto
471ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
472ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
473ea0e1a9aSPaul Mundt	select CPU_SH4A
474ea0e1a9aSPaul Mundt	select CPU_SHX3
4755840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
476742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
477ea0e1a9aSPaul Mundt
478ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
479ea0e1a9aSPaul Mundt
480ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
481ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
482ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
483dc65a977SPaul Mundt	select ARCH_SHMOBILE
484f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
485ea0e1a9aSPaul Mundt
486ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
487ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
488ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
489ea0e1a9aSPaul Mundt	select CPU_SHX2
490dc65a977SPaul Mundt	select ARCH_SHMOBILE
491ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
492ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
493f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
494f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
495ea0e1a9aSPaul Mundt
4969109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
4979109a30eSMagnus Damm	bool "Support SH7366 processor"
4989109a30eSMagnus Damm	select CPU_SH4AL_DSP
4999109a30eSMagnus Damm	select CPU_SHX2
500dc65a977SPaul Mundt	select ARCH_SHMOBILE
5019109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5029109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
503f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5049109a30eSMagnus Damm
5053cc000b5SPaul Mundtendchoice
5063cc000b5SPaul Mundt
5073cc000b5SPaul Mundtendif
5083cc000b5SPaul Mundt
5093cc000b5SPaul Mundtif SUPERH64
5103cc000b5SPaul Mundt
5113cc000b5SPaul Mundtchoice
5123cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5133cc000b5SPaul Mundt
514ea0e1a9aSPaul Mundt# SH-5 Processor Support
515ea0e1a9aSPaul Mundt
516ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
517ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
518ea0e1a9aSPaul Mundt	select CPU_SH5
519ea0e1a9aSPaul Mundt
520ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
521ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5228ef97dd7SPaul Mundt	select CPU_SH5
523ea0e1a9aSPaul Mundt
524ea0e1a9aSPaul Mundtendchoice
525ea0e1a9aSPaul Mundt
5263cc000b5SPaul Mundtendif
5273cc000b5SPaul Mundt
528ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
529939a24a6SPaul Mundt
530ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
531ea0e1a9aSPaul Mundt
532939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
533ea0e1a9aSPaul Mundt
534ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
535ea0e1a9aSPaul Mundt
5369570ef20SMagnus Dammconfig SH_TIMER_TMU
5379570ef20SMagnus Damm	bool "TMU timer driver"
538f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5399570ef20SMagnus Damm	default y
5409570ef20SMagnus Damm	help
5419570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5429570ef20SMagnus Damm
543f5ad881bSPaul Mundtconfig SH_TIMER_CMT
544f425752fSMagnus Damm	bool "CMT timer driver"
545f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
546f425752fSMagnus Damm	default y
547f425752fSMagnus Damm	help
548f425752fSMagnus Damm	  This enables build of the CMT timer driver.
549f5ad881bSPaul Mundt
550d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
551d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5523280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
553d5ed4c2eSMagnus Damm	default y
554d5ed4c2eSMagnus Damm	help
555d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
556d5ed4c2eSMagnus Damm
557ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
558ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5598152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
560ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5618152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5628152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5638152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5648152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5658152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5668152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
56743a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
568ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
569ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
570ea0e1a9aSPaul Mundt	default "50000000"
571ea0e1a9aSPaul Mundt	help
572ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
573ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
574ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
575ea0e1a9aSPaul Mundt
57636aa1e32SPaul Mundtconfig SH_CLK_CPG
57736aa1e32SPaul Mundt	def_bool y
57836aa1e32SPaul Mundt
579253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58036aa1e32SPaul Mundt	depends on SH_CLK_CPG
58143a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5825924ad0dSPaul Mundt		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757
583253b0887SPaul Mundt
584ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
585ea0e1a9aSPaul Mundt
586ea0e1a9aSPaul Mundtendmenu
587ea0e1a9aSPaul Mundt
588ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
589ea0e1a9aSPaul Mundt
590ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
591ea0e1a9aSPaul Mundt
592ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
593ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
594ea0e1a9aSPaul Mundt	depends on CPU_FREQ
595ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
596ea0e1a9aSPaul Mundt	help
5978a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
5988a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
5998a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6008a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6018a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6028a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
603ea0e1a9aSPaul Mundt
604ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
605ea0e1a9aSPaul Mundt
606ea0e1a9aSPaul Mundt	  If unsure, say N.
607ea0e1a9aSPaul Mundt
608ea0e1a9aSPaul Mundtendmenu
609ea0e1a9aSPaul Mundt
610ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundtendmenu
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundtmenu "Kernel features"
615ea0e1a9aSPaul Mundt
616ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
617ea0e1a9aSPaul Mundt
618ea0e1a9aSPaul Mundtconfig KEXEC
619ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
620f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
621ea0e1a9aSPaul Mundt	help
622ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
623ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
624ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
625ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
626ea0e1a9aSPaul Mundt
627ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
628ea0e1a9aSPaul Mundt
629ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
630ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
631ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
632ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
633ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundtconfig CRASH_DUMP
636ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
637d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
638ea0e1a9aSPaul Mundt	help
639ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
640ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
641ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
642ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
643ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
644ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
645e66ac3f2SSimon Horman	  PHYSICAL_START.
646ea0e1a9aSPaul Mundt
647ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
648ea0e1a9aSPaul Mundt
649b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
650b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
651b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
652b7cf6ddcSMagnus Damm	help
653b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
654b7cf6ddcSMagnus Damm	  code via KEXEC
655b7cf6ddcSMagnus Damm
656e66ac3f2SSimon Hormanconfig PHYSICAL_START
657e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
658e66ac3f2SSimon Horman	default MEMORY_START
659e66ac3f2SSimon Horman	---help---
660e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
661e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
662e66ac3f2SSimon Horman
663e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
664e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
665e66ac3f2SSimon Horman	  than the panic-ed kernel.
666e66ac3f2SSimon Horman
667c4637d47SPaul Mundtconfig SECCOMP
668c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
669c4637d47SPaul Mundt	depends on PROC_FS
670c4637d47SPaul Mundt	help
671c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
672c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
673c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
674c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
675c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
676c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
677c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
678c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
679c4637d47SPaul Mundt	  mode.
680c4637d47SPaul Mundt
681c4637d47SPaul Mundt	  If unsure, say N.
682c4637d47SPaul Mundt
683ea0e1a9aSPaul Mundtconfig SMP
684ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
685ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
686490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
687ea0e1a9aSPaul Mundt	---help---
688ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
689ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
690ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
691ea0e1a9aSPaul Mundt
692ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
693ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
694ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
695ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
696ea0e1a9aSPaul Mundt	  will run faster if you say N here.
697ea0e1a9aSPaul Mundt
698ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
699ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
700ea0e1a9aSPaul Mundt
70103502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
70203502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
703ea0e1a9aSPaul Mundt
704ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
705ea0e1a9aSPaul Mundt
706ea0e1a9aSPaul Mundtconfig NR_CPUS
707ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
708ea0e1a9aSPaul Mundt	range 2 32
709ea0e1a9aSPaul Mundt	depends on SMP
7102eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
711ea0e1a9aSPaul Mundt	default "2"
712ea0e1a9aSPaul Mundt	help
713ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
714ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
715ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
716ea0e1a9aSPaul Mundt
717ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
718ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
719ea0e1a9aSPaul Mundt
720763142d1SPaul Mundtconfig HOTPLUG_CPU
721763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
722763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
723763142d1SPaul Mundt	help
724763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
725763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
726763142d1SPaul Mundt
727ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
728ea0e1a9aSPaul Mundt
729ea0e1a9aSPaul Mundtconfig GUSA
730ea0e1a9aSPaul Mundt	def_bool y
7311efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
732ea0e1a9aSPaul Mundt	help
733ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
734ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
735ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
736ea0e1a9aSPaul Mundt
737ea0e1a9aSPaul Mundt	  For additional information, design information can be found
738ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
739ea0e1a9aSPaul Mundt
740ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
741ea0e1a9aSPaul Mundt	  atomicity implementations exist.
742ea0e1a9aSPaul Mundt
7431efe4ce3SStuart Menefyconfig GUSA_RB
7441efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7451efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7461efe4ce3SStuart Menefy	help
7471efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
748692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7491efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7501efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
751692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7521efe4ce3SStuart Menefy
75386c8c047SMatt Flemingconfig HW_PERF_EVENTS
75486c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
75586c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
75686c8c047SMatt Fleming	default y
75786c8c047SMatt Fleming	help
75886c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
75986c8c047SMatt Fleming	  disabled, perf events will use software events only.
76086c8c047SMatt Fleming
76143b8774dSPaul Mundtsource "drivers/sh/Kconfig"
76243b8774dSPaul Mundt
763ea0e1a9aSPaul Mundtendmenu
764ea0e1a9aSPaul Mundt
765ea0e1a9aSPaul Mundtmenu "Boot options"
766ea0e1a9aSPaul Mundt
767ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
768b412a49aSPaul Mundt	hex
769b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
770b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
771b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
772ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
773ea0e1a9aSPaul Mundt	default "0x00001000"
774ea0e1a9aSPaul Mundt	help
775ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
776ea0e1a9aSPaul Mundt
777ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
778b412a49aSPaul Mundt	hex
779b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
780a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
781b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
782b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
783b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
784b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
785ea0e1a9aSPaul Mundt	default "0x00800000"
786ea0e1a9aSPaul Mundt	help
787ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
788ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
789ea0e1a9aSPaul Mundt	  memory.
790ea0e1a9aSPaul Mundt
791b412a49aSPaul Mundtconfig ENTRY_OFFSET
792b412a49aSPaul Mundt	hex
793b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
794b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
795b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
796b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
797b412a49aSPaul Mundt	default "0x00000000"
798b412a49aSPaul Mundt
7994705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8004705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8014705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
8024705b2e8SMagnus Damm	help
8034705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8044705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8054705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8064705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8074705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8084705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8094705b2e8SMagnus Damm
810d724a9c9SPawel Mollchoice
811d724a9c9SPawel Moll	prompt "Kernel command line"
812d724a9c9SPawel Moll	optional
813d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
814d724a9c9SPawel Moll	help
815d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
816d724a9c9SPawel Moll	  to be set.
817d724a9c9SPawel Moll
818d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
819d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
820d724a9c9SPawel Moll	help
821d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
822d724a9c9SPawel Moll	  a bootloader.
823d724a9c9SPawel Moll
824d724a9c9SPawel Mollconfig CMDLINE_EXTEND
825d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
826d724a9c9SPawel Moll	help
827d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
828d724a9c9SPawel Moll	  by a bootloader.
829d724a9c9SPawel Moll
830d724a9c9SPawel Mollendchoice
831ea0e1a9aSPaul Mundt
832ea0e1a9aSPaul Mundtconfig CMDLINE
833d724a9c9SPawel Moll	string "Kernel command line arguments string"
834d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
835ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
836ea0e1a9aSPaul Mundt
837ea0e1a9aSPaul Mundtendmenu
838ea0e1a9aSPaul Mundt
839ea0e1a9aSPaul Mundtmenu "Bus options"
840ea0e1a9aSPaul Mundt
841ea0e1a9aSPaul Mundtconfig SUPERHYWAY
842ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
843ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
844ea0e1a9aSPaul Mundt
845ea0e1a9aSPaul Mundtconfig MAPLE
846ea0e1a9aSPaul Mundt	bool "Maple Bus support"
847ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
848ea0e1a9aSPaul Mundt	help
849ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
850ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
851ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
852ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
853ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
854ea0e1a9aSPaul Mundt	 connection.
855ea0e1a9aSPaul Mundt
8567693465dSPaul Mundtconfig PCI
8577693465dSPaul Mundt	bool "PCI support"
8587693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
859320e68daSPaul Mundt	select PCI_DOMAINS
86043db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8617693465dSPaul Mundt	help
8627693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8637693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8647693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
865ea0e1a9aSPaul Mundt
866320e68daSPaul Mundtconfig PCI_DOMAINS
867320e68daSPaul Mundt	bool
868320e68daSPaul Mundt
869e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
870e16038abSPaul Mundt
871ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
872ea0e1a9aSPaul Mundt
873ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
874ea0e1a9aSPaul Mundt
875ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
876ea0e1a9aSPaul Mundt
877ea0e1a9aSPaul Mundtendmenu
878ea0e1a9aSPaul Mundt
879ea0e1a9aSPaul Mundtmenu "Executable file formats"
880ea0e1a9aSPaul Mundt
881ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
882ea0e1a9aSPaul Mundt
883ea0e1a9aSPaul Mundtendmenu
884ea0e1a9aSPaul Mundt
885ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
886af998a9aSMagnus Dammdepends on EXPERIMENTAL
887f4cb5700SJohannes Berg
888c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
889c6f17cb2SMagnus Damm
890c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
891ea0e1a9aSPaul Mundt
892ea0e1a9aSPaul Mundtendmenu
893ea0e1a9aSPaul Mundt
894ea0e1a9aSPaul Mundtsource "net/Kconfig"
895ea0e1a9aSPaul Mundt
896ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
897ea0e1a9aSPaul Mundt
898ea0e1a9aSPaul Mundtsource "fs/Kconfig"
899ea0e1a9aSPaul Mundt
900ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
901ea0e1a9aSPaul Mundt
902ea0e1a9aSPaul Mundtsource "security/Kconfig"
903ea0e1a9aSPaul Mundt
904ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
905ea0e1a9aSPaul Mundt
906ea0e1a9aSPaul Mundtsource "lib/Kconfig"
907