xref: /openbmc/linux/arch/sh/Kconfig (revision 7563bbf8)
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
7534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
8adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
942d4b839SMathieu Desnoyers	select HAVE_OPROFILE
109de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
11d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
12f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1373c926beSPaul Mundt	select HAVE_DMA_ATTRS
14e360adbeSPeter Zijlstra	select HAVE_IRQ_WORK
15cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
167563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
17df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
1872f0c137SPaul Mundt	select PERF_USE_VMALLOC
19df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2007e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2107e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2250cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
23c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
24a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
25eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
2657b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
272ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
28ed170924SPaul Mundt	select IRQ_FORCED_THREADING
296eac1af0SPaul Mundt	select RTC_LIB
30f01789c6SPaul Mundt	select GENERIC_ATOMIC64
313d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
32ea0e1a9aSPaul Mundt	help
33ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
34ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
35ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
36ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
37ea0e1a9aSPaul Mundt
38ea0e1a9aSPaul Mundtconfig SUPERH32
393cc000b5SPaul Mundt	def_bool ARCH = "sh"
40d39f5450SChris Smith	select HAVE_KPROBES
41d39f5450SChris Smith	select HAVE_KRETPROBES
426d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
43694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
44fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
45fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
46c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
47e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
48327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
49ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
506fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
510102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
52e583d6b3SSam Ravnborg	select PERF_EVENTS
538dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
5457b81330SPaul Mundt	select SPARSE_IRQ
55ea0e1a9aSPaul Mundt
56ea0e1a9aSPaul Mundtconfig SUPERH64
573cc000b5SPaul Mundt	def_bool ARCH = "sh64"
58ea0e1a9aSPaul Mundt
59f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
60f42b7e3dSPaul Mundt	string
61f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
62f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
63f42b7e3dSPaul Mundt
64ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
65d7ef4fb3SHarvey Harrison	def_bool y
66ea0e1a9aSPaul Mundt
67ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
68ea0e1a9aSPaul Mundt	bool
69ea0e1a9aSPaul Mundt
70ea0e1a9aSPaul Mundtconfig GENERIC_BUG
71ea0e1a9aSPaul Mundt	def_bool y
72a82d53ecSPaul Mundt	depends on BUG && SUPERH32
73ea0e1a9aSPaul Mundt
743767f3f1SPaul Mundtconfig GENERIC_CSUM
753767f3f1SPaul Mundt	def_bool y
763767f3f1SPaul Mundt	depends on SUPERH64
773767f3f1SPaul Mundt
78ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
79d7ef4fb3SHarvey Harrison	def_bool y
80ea0e1a9aSPaul Mundt
812eb2a436SPaul Mundtconfig IRQ_PER_CPU
822eb2a436SPaul Mundt	def_bool y
832eb2a436SPaul Mundt
842967dab1SMagnus Dammconfig GENERIC_GPIO
852967dab1SMagnus Damm	def_bool n
862967dab1SMagnus Damm
87ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
88cf204fa7SPaul Mundt	bool
89ea0e1a9aSPaul Mundt
90ea0e1a9aSPaul Mundtconfig GENERIC_CLOCKEVENTS
91938edae1SPaul Mundt	def_bool y
92ea0e1a9aSPaul Mundt
938c24594dSPaul Mundtconfig GENERIC_CLOCKEVENTS_BROADCAST
948c24594dSPaul Mundt	bool
958c24594dSPaul Mundt
966d134b9eSPaul Mundtconfig GENERIC_CMOS_UPDATE
976d134b9eSPaul Mundt	def_bool y
986d134b9eSPaul Mundt	depends on SH_SH03 || SH_DREAMCAST
996d134b9eSPaul Mundt
100bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
101bdcab87bSPaul Mundt	def_bool y
102bdcab87bSPaul Mundt	depends on SMP && PREEMPT
103bdcab87bSPaul Mundt
104af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
105af998a9aSMagnus Damm	def_bool n
106af998a9aSMagnus Damm
107af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
108af998a9aSMagnus Damm	def_bool n
109ea0e1a9aSPaul Mundt
110ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
111ea0e1a9aSPaul Mundt	bool
112af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
113ea0e1a9aSPaul Mundt
114ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
115ffb4a73dSPaul Mundt	bool
116ffb4a73dSPaul Mundt
117ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
118ea0e1a9aSPaul Mundt	bool
119ea0e1a9aSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
121ea0e1a9aSPaul Mundt	bool
122ea0e1a9aSPaul Mundt
123ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
124ea0e1a9aSPaul Mundt	bool
125ea0e1a9aSPaul Mundt
126f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
127f5ad881bSPaul Mundt	bool
128f5ad881bSPaul Mundt
129d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
130d5ed4c2eSMagnus Damm	bool
131d5ed4c2eSMagnus Damm
1329570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1339570ef20SMagnus Damm	bool
1349570ef20SMagnus Damm
135ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
136d7ef4fb3SHarvey Harrison	def_bool y
137ea0e1a9aSPaul Mundt
138ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
139d7ef4fb3SHarvey Harrison	def_bool y
140ea0e1a9aSPaul Mundt
1415a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1425a89f1adSPaul Mundt	def_bool y
1435a89f1adSPaul Mundt
144ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
145d7ef4fb3SHarvey Harrison	def_bool n
146ea0e1a9aSPaul Mundt
147ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
148d7ef4fb3SHarvey Harrison	def_bool n
149ea0e1a9aSPaul Mundt
150ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
151ea0e1a9aSPaul Mundt	def_bool y
152ea0e1a9aSPaul Mundt
153e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
154e869a90eSPaul Mundt	def_bool y
155e869a90eSPaul Mundt
1562e046b94SPaul Mundtconfig ARCH_HAS_CPU_IDLE_WAIT
1572e046b94SPaul Mundt	def_bool y
1582e046b94SPaul Mundt
15986e4dd5aSPaul Mundtconfig NO_IOPORT
16037b7a978SPaul Mundt	def_bool !PCI
1614e2b1084SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN
16286e4dd5aSPaul Mundt
163e7cc9a73SMagnus Dammconfig IO_TRAPPED
164e7cc9a73SMagnus Damm	bool
165e7cc9a73SMagnus Damm
166b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
167b7e68d68SPaul Mundt	bool
168b7e68d68SPaul Mundt
16901be5d63SPaul Mundtconfig DMA_COHERENT
17001be5d63SPaul Mundt	bool
17101be5d63SPaul Mundt
17201be5d63SPaul Mundtconfig DMA_NONCOHERENT
17301be5d63SPaul Mundt	def_bool !DMA_COHERENT
17401be5d63SPaul Mundt
1755cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1765cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1775cabbb62SFUJITA Tomonori
17818e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
17918e98307SFUJITA Tomonori	def_bool y
18018e98307SFUJITA Tomonori
181ea0e1a9aSPaul Mundtsource "init/Kconfig"
182ea0e1a9aSPaul Mundt
183dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
184dc52ddc0SMatt Helsley
185ea0e1a9aSPaul Mundtmenu "System type"
186ea0e1a9aSPaul Mundt
187ea0e1a9aSPaul Mundt#
188ea0e1a9aSPaul Mundt# Processor families
189ea0e1a9aSPaul Mundt#
190ea0e1a9aSPaul Mundtconfig CPU_SH2
191ea0e1a9aSPaul Mundt	bool
192ea0e1a9aSPaul Mundt
193ea0e1a9aSPaul Mundtconfig CPU_SH2A
194ea0e1a9aSPaul Mundt	bool
195ea0e1a9aSPaul Mundt	select CPU_SH2
196e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
197ea0e1a9aSPaul Mundt
198ea0e1a9aSPaul Mundtconfig CPU_SH3
199ea0e1a9aSPaul Mundt	bool
200ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
201ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2024fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
203ea0e1a9aSPaul Mundt
204ea0e1a9aSPaul Mundtconfig CPU_SH4
205ea0e1a9aSPaul Mundt	bool
206ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
207ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
208ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2094fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
210ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
211ea0e1a9aSPaul Mundt
212ea0e1a9aSPaul Mundtconfig CPU_SH4A
213ea0e1a9aSPaul Mundt	bool
214ea0e1a9aSPaul Mundt	select CPU_SH4
215ea0e1a9aSPaul Mundt
216ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
217ea0e1a9aSPaul Mundt	bool
218ea0e1a9aSPaul Mundt	select CPU_SH4A
219ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
220ea0e1a9aSPaul Mundt
221ea0e1a9aSPaul Mundtconfig CPU_SH5
222ea0e1a9aSPaul Mundt	bool
223ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
224add47067SPaul Mundt	select SYS_SUPPORTS_TMU
225ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
226ea0e1a9aSPaul Mundt
227ea0e1a9aSPaul Mundtconfig CPU_SHX2
228ea0e1a9aSPaul Mundt	bool
229ea0e1a9aSPaul Mundt
230ea0e1a9aSPaul Mundtconfig CPU_SHX3
231ea0e1a9aSPaul Mundt	bool
23201be5d63SPaul Mundt	select DMA_COHERENT
2334b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2344b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
235ea0e1a9aSPaul Mundt
236dc65a977SPaul Mundtconfig ARCH_SHMOBILE
237dc65a977SPaul Mundt	bool
23877594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
239ac2c596bSMagnus Damm	select PM
240ac2c596bSMagnus Damm	select PM_RUNTIME
241dc65a977SPaul Mundt
24286c8c047SMatt Flemingconfig CPU_HAS_PMU
24386c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24486c8c047SMatt Fleming       default y
24586c8c047SMatt Fleming       bool
24686c8c047SMatt Fleming
2473cc000b5SPaul Mundtif SUPERH32
2483cc000b5SPaul Mundt
249ea0e1a9aSPaul Mundtchoice
250ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
251ea0e1a9aSPaul Mundt
252ea0e1a9aSPaul Mundt#
253ea0e1a9aSPaul Mundt# Processor subtypes
254ea0e1a9aSPaul Mundt#
255ea0e1a9aSPaul Mundt
256ea0e1a9aSPaul Mundt# SH-2 Processor Support
257ea0e1a9aSPaul Mundt
258ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
259ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
260ea0e1a9aSPaul Mundt	select CPU_SH2
261f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
262ea0e1a9aSPaul Mundt
263ea0e1a9aSPaul Mundt# SH-2A Processor Support
264ea0e1a9aSPaul Mundt
2652825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2662825999eSPeter Griffin	bool "Support SH7201 processor"
2672825999eSPeter Griffin	select CPU_SH2A
2682825999eSPeter Griffin	select CPU_HAS_FPU
269da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2702825999eSPeter Griffin
2716d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2726d01f510SPaul Mundt	bool "Support SH7203 processor"
2736d01f510SPaul Mundt	select CPU_SH2A
27474d99a5eSPaul Mundt	select CPU_HAS_FPU
275f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
276da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
277f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
2786d01f510SPaul Mundt
279ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
280ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
281ea0e1a9aSPaul Mundt	select CPU_SH2A
282f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
283da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
284ea0e1a9aSPaul Mundt
285a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
286a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
287a8f67f4bSPaul Mundt	select CPU_SH2A
28874d99a5eSPaul Mundt	select CPU_HAS_FPU
289f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
290da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
291a8f67f4bSPaul Mundt
2922ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2932ad69908SPaul Mundt	bool "Support MX-G processor"
2942ad69908SPaul Mundt	select CPU_SH2A
295da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2962ad69908SPaul Mundt	help
2972ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
2982ad69908SPaul Mundt
299ea0e1a9aSPaul Mundt# SH-3 Processor Support
300ea0e1a9aSPaul Mundt
301ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
302ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
303ea0e1a9aSPaul Mundt	select CPU_SH3
304ea0e1a9aSPaul Mundt
305ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
306ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
307ea0e1a9aSPaul Mundt	select CPU_SH3
308ea0e1a9aSPaul Mundt	help
309ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
310ea0e1a9aSPaul Mundt
311ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
312ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
313ea0e1a9aSPaul Mundt	select CPU_SH3
314ea0e1a9aSPaul Mundt	help
315ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
316ea0e1a9aSPaul Mundt
317ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
318ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
319ea0e1a9aSPaul Mundt	select CPU_SH3
320ea0e1a9aSPaul Mundt	help
321ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
322ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
323ea0e1a9aSPaul Mundt
324ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
325ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
326ea0e1a9aSPaul Mundt	select CPU_SH3
327ea0e1a9aSPaul Mundt	help
328ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
329ea0e1a9aSPaul Mundt
330ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
331ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
332ea0e1a9aSPaul Mundt	select CPU_SH3
333ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
334ea0e1a9aSPaul Mundt	help
335ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
336ea0e1a9aSPaul Mundt
337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
338ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
339ea0e1a9aSPaul Mundt	select CPU_SH3
340ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
341ea0e1a9aSPaul Mundt	help
342ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
343ea0e1a9aSPaul Mundt
344ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
345ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
346ea0e1a9aSPaul Mundt	select CPU_SH3
347ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3482b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
349f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
350e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3517b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
352ea0e1a9aSPaul Mundt	help
353ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
354ea0e1a9aSPaul Mundt
35531a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
35631a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
35731a49c4bSYoshihiro Shimoda	select CPU_SH3
35831a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3592b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
360e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3617b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36231a49c4bSYoshihiro Shimoda	help
36331a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
36431a49c4bSYoshihiro Shimoda
365ea0e1a9aSPaul Mundt# SH-4 Processor Support
366ea0e1a9aSPaul Mundt
367ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
368ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
369ea0e1a9aSPaul Mundt	select CPU_SH4
370ea0e1a9aSPaul Mundt	help
371ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
372ea0e1a9aSPaul Mundt
373ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
374ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
375ea0e1a9aSPaul Mundt	select CPU_SH4
376ea0e1a9aSPaul Mundt	help
377ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
378ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
379ea0e1a9aSPaul Mundt
380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
381ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
382ea0e1a9aSPaul Mundt	select CPU_SH4
383ea0e1a9aSPaul Mundt
384ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
385ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
386ea0e1a9aSPaul Mundt	select CPU_SH4
387ea0e1a9aSPaul Mundt
388ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
389ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
390ea0e1a9aSPaul Mundt	select CPU_SH4
391ea0e1a9aSPaul Mundt	help
392ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
393ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
394ea0e1a9aSPaul Mundt
395ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
396ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
397ea0e1a9aSPaul Mundt	select CPU_SH4
398ea0e1a9aSPaul Mundt
399ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
400ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
401ea0e1a9aSPaul Mundt	select CPU_SH4
402ea0e1a9aSPaul Mundt
403ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
404ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
405ea0e1a9aSPaul Mundt	select CPU_SH4
406ea0e1a9aSPaul Mundt
407ea0e1a9aSPaul Mundt# SH-4A Processor Support
408ea0e1a9aSPaul Mundt
409178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
410178dd0cdSPaul Mundt	bool "Support SH7723 processor"
411178dd0cdSPaul Mundt	select CPU_SH4A
412178dd0cdSPaul Mundt	select CPU_SHX2
413dc65a977SPaul Mundt	select ARCH_SHMOBILE
414178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
415f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
416f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
417178dd0cdSPaul Mundt	help
418178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
419178dd0cdSPaul Mundt
4200207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4210207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4220207a2efSKuninori Morimoto	select CPU_SH4A
4230207a2efSKuninori Morimoto	select CPU_SHX2
42459fe700dSPaul Mundt	select ARCH_SHMOBILE
4250207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4260207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
427f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4280207a2efSKuninori Morimoto	help
4290207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4300207a2efSKuninori Morimoto
431c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
432c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
433c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
434c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
435f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4360fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4370fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
438c01f0f1aSYoshihiro Shimoda	help
439c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
440c01f0f1aSYoshihiro Shimoda
4417d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4427d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4437d740a06SYoshihiro Shimoda	select CPU_SH4A
444e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4457b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4467d740a06SYoshihiro Shimoda	help
4477d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4487d740a06SYoshihiro Shimoda
449ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
450ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
451ea0e1a9aSPaul Mundt	select CPU_SH4A
452ea0e1a9aSPaul Mundt
453ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
454ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
455ea0e1a9aSPaul Mundt	select CPU_SH4A
456ea0e1a9aSPaul Mundt
457ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
458ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
459ea0e1a9aSPaul Mundt	select CPU_SH4A
460ea0e1a9aSPaul Mundt	select CPU_SHX2
461ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
462ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
463f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
464ea0e1a9aSPaul Mundt
46555ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
46655ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
46755ba99ebSKuninori Morimoto	select CPU_SH4A
46837042fbdSPaul Mundt	select CPU_SHX3
4698263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4702eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
471f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
472e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4737b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
474e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
4757b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
47655ba99ebSKuninori Morimoto
477ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
478ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
479ea0e1a9aSPaul Mundt	select CPU_SH4A
480ea0e1a9aSPaul Mundt	select CPU_SHX3
4815840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
482742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
483ea0e1a9aSPaul Mundt
484ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
485ea0e1a9aSPaul Mundt
486ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
487ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
488ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
489dc65a977SPaul Mundt	select ARCH_SHMOBILE
490f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
491ea0e1a9aSPaul Mundt
492ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
493ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
494ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
495ea0e1a9aSPaul Mundt	select CPU_SHX2
496dc65a977SPaul Mundt	select ARCH_SHMOBILE
497ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
498ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
499f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
500f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
501ea0e1a9aSPaul Mundt
5029109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5039109a30eSMagnus Damm	bool "Support SH7366 processor"
5049109a30eSMagnus Damm	select CPU_SH4AL_DSP
5059109a30eSMagnus Damm	select CPU_SHX2
506dc65a977SPaul Mundt	select ARCH_SHMOBILE
5079109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5089109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
509f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5109109a30eSMagnus Damm
5113cc000b5SPaul Mundtendchoice
5123cc000b5SPaul Mundt
5133cc000b5SPaul Mundtendif
5143cc000b5SPaul Mundt
5153cc000b5SPaul Mundtif SUPERH64
5163cc000b5SPaul Mundt
5173cc000b5SPaul Mundtchoice
5183cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5193cc000b5SPaul Mundt
520ea0e1a9aSPaul Mundt# SH-5 Processor Support
521ea0e1a9aSPaul Mundt
522ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
523ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
524ea0e1a9aSPaul Mundt	select CPU_SH5
525ea0e1a9aSPaul Mundt
526ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
527ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5288ef97dd7SPaul Mundt	select CPU_SH5
529ea0e1a9aSPaul Mundt
530ea0e1a9aSPaul Mundtendchoice
531ea0e1a9aSPaul Mundt
5323cc000b5SPaul Mundtendif
5333cc000b5SPaul Mundt
534ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
535939a24a6SPaul Mundt
536ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
537ea0e1a9aSPaul Mundt
538939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
539ea0e1a9aSPaul Mundt
540ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
541ea0e1a9aSPaul Mundt
5429570ef20SMagnus Dammconfig SH_TIMER_TMU
5439570ef20SMagnus Damm	bool "TMU timer driver"
544f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5459570ef20SMagnus Damm	default y
5469570ef20SMagnus Damm	help
5479570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5489570ef20SMagnus Damm
549f5ad881bSPaul Mundtconfig SH_TIMER_CMT
550f425752fSMagnus Damm	bool "CMT timer driver"
551f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
552f425752fSMagnus Damm	default y
553f425752fSMagnus Damm	help
554f425752fSMagnus Damm	  This enables build of the CMT timer driver.
555f5ad881bSPaul Mundt
556d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
557d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5583280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
559d5ed4c2eSMagnus Damm	default y
560d5ed4c2eSMagnus Damm	help
561d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
562d5ed4c2eSMagnus Damm
563ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
564ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5658152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
566ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5678152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5688152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5698152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5708152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5718152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5728152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
57343a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
574ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
575ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
576ea0e1a9aSPaul Mundt	default "50000000"
577ea0e1a9aSPaul Mundt	help
578ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
579ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
580ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
581ea0e1a9aSPaul Mundt
58236aa1e32SPaul Mundtconfig SH_CLK_CPG
58336aa1e32SPaul Mundt	def_bool y
58436aa1e32SPaul Mundt
585253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58636aa1e32SPaul Mundt	depends on SH_CLK_CPG
58743a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5885924ad0dSPaul Mundt		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757
589253b0887SPaul Mundt
590ea0e1a9aSPaul Mundtsource "kernel/time/Kconfig"
591ea0e1a9aSPaul Mundt
592ea0e1a9aSPaul Mundtendmenu
593ea0e1a9aSPaul Mundt
594ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
595ea0e1a9aSPaul Mundt
596ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
597ea0e1a9aSPaul Mundt
598ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
599ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
600ea0e1a9aSPaul Mundt	depends on CPU_FREQ
601ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
602ea0e1a9aSPaul Mundt	help
6038a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6048a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6058a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6068a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6078a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6088a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
609ea0e1a9aSPaul Mundt
610ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundt	  If unsure, say N.
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundtendmenu
615ea0e1a9aSPaul Mundt
616ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
617ea0e1a9aSPaul Mundt
618ea0e1a9aSPaul Mundtendmenu
619ea0e1a9aSPaul Mundt
620ea0e1a9aSPaul Mundtmenu "Kernel features"
621ea0e1a9aSPaul Mundt
622ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
623ea0e1a9aSPaul Mundt
624ea0e1a9aSPaul Mundtconfig KEXEC
625ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
626f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
627ea0e1a9aSPaul Mundt	help
628ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
629ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
630ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
631ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
632ea0e1a9aSPaul Mundt
633ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
636ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
637ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
638ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
639ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
640ea0e1a9aSPaul Mundt
641ea0e1a9aSPaul Mundtconfig CRASH_DUMP
642ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
643d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
644ea0e1a9aSPaul Mundt	help
645ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
646ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
647ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
648ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
649ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
650ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
651e66ac3f2SSimon Horman	  PHYSICAL_START.
652ea0e1a9aSPaul Mundt
653ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
654ea0e1a9aSPaul Mundt
655b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
656b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
657b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
658b7cf6ddcSMagnus Damm	help
659b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
660b7cf6ddcSMagnus Damm	  code via KEXEC
661b7cf6ddcSMagnus Damm
662e66ac3f2SSimon Hormanconfig PHYSICAL_START
663e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
664e66ac3f2SSimon Horman	default MEMORY_START
665e66ac3f2SSimon Horman	---help---
666e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
667e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
668e66ac3f2SSimon Horman
669e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
670e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
671e66ac3f2SSimon Horman	  than the panic-ed kernel.
672e66ac3f2SSimon Horman
673c4637d47SPaul Mundtconfig SECCOMP
674c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
675c4637d47SPaul Mundt	depends on PROC_FS
676c4637d47SPaul Mundt	help
677c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
678c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
679c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
680c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
681c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
682c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
683c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
684c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
685c4637d47SPaul Mundt	  mode.
686c4637d47SPaul Mundt
687c4637d47SPaul Mundt	  If unsure, say N.
688c4637d47SPaul Mundt
689ea0e1a9aSPaul Mundtconfig SMP
690ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
691ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
692490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
693ea0e1a9aSPaul Mundt	---help---
694ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
695ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
696ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
697ea0e1a9aSPaul Mundt
698ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
699ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
700ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
701ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
702ea0e1a9aSPaul Mundt	  will run faster if you say N here.
703ea0e1a9aSPaul Mundt
704ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
705ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
706ea0e1a9aSPaul Mundt
70703502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
70803502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
709ea0e1a9aSPaul Mundt
710ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
711ea0e1a9aSPaul Mundt
712ea0e1a9aSPaul Mundtconfig NR_CPUS
713ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
714ea0e1a9aSPaul Mundt	range 2 32
715ea0e1a9aSPaul Mundt	depends on SMP
7162eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
717ea0e1a9aSPaul Mundt	default "2"
718ea0e1a9aSPaul Mundt	help
719ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
720ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
721ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
722ea0e1a9aSPaul Mundt
723ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
724ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
725ea0e1a9aSPaul Mundt
726763142d1SPaul Mundtconfig HOTPLUG_CPU
727763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
728763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
729763142d1SPaul Mundt	help
730763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
731763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
732763142d1SPaul Mundt
733ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
734ea0e1a9aSPaul Mundt
735ea0e1a9aSPaul Mundtconfig GUSA
736ea0e1a9aSPaul Mundt	def_bool y
7371efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
738ea0e1a9aSPaul Mundt	help
739ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
740ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
741ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
742ea0e1a9aSPaul Mundt
743ea0e1a9aSPaul Mundt	  For additional information, design information can be found
744ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
745ea0e1a9aSPaul Mundt
746ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
747ea0e1a9aSPaul Mundt	  atomicity implementations exist.
748ea0e1a9aSPaul Mundt
7491efe4ce3SStuart Menefyconfig GUSA_RB
7501efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7511efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7521efe4ce3SStuart Menefy	help
7531efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
754692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7551efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7561efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
757692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7581efe4ce3SStuart Menefy
75986c8c047SMatt Flemingconfig HW_PERF_EVENTS
76086c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
76186c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
76286c8c047SMatt Fleming	default y
76386c8c047SMatt Fleming	help
76486c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
76586c8c047SMatt Fleming	  disabled, perf events will use software events only.
76686c8c047SMatt Fleming
76743b8774dSPaul Mundtsource "drivers/sh/Kconfig"
76843b8774dSPaul Mundt
769ea0e1a9aSPaul Mundtendmenu
770ea0e1a9aSPaul Mundt
771ea0e1a9aSPaul Mundtmenu "Boot options"
772ea0e1a9aSPaul Mundt
773ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
774b412a49aSPaul Mundt	hex
775b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
776b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
777b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
778ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
779ea0e1a9aSPaul Mundt	default "0x00001000"
780ea0e1a9aSPaul Mundt	help
781ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
782ea0e1a9aSPaul Mundt
783ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
784b412a49aSPaul Mundt	hex
785b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
786a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
787b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
788b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
789b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
790b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
791ea0e1a9aSPaul Mundt	default "0x00800000"
792ea0e1a9aSPaul Mundt	help
793ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
794ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
795ea0e1a9aSPaul Mundt	  memory.
796ea0e1a9aSPaul Mundt
797b412a49aSPaul Mundtconfig ENTRY_OFFSET
798b412a49aSPaul Mundt	hex
799b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
800b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
801b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
802b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
803b412a49aSPaul Mundt	default "0x00000000"
804b412a49aSPaul Mundt
8054705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8064705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8074705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
8084705b2e8SMagnus Damm	help
8094705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8104705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8114705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8124705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8134705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8144705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8154705b2e8SMagnus Damm
816d724a9c9SPawel Mollchoice
817d724a9c9SPawel Moll	prompt "Kernel command line"
818d724a9c9SPawel Moll	optional
819d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
820d724a9c9SPawel Moll	help
821d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
822d724a9c9SPawel Moll	  to be set.
823d724a9c9SPawel Moll
824d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
825d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
826d724a9c9SPawel Moll	help
827d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
828d724a9c9SPawel Moll	  a bootloader.
829d724a9c9SPawel Moll
830d724a9c9SPawel Mollconfig CMDLINE_EXTEND
831d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
832d724a9c9SPawel Moll	help
833d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
834d724a9c9SPawel Moll	  by a bootloader.
835d724a9c9SPawel Moll
836d724a9c9SPawel Mollendchoice
837ea0e1a9aSPaul Mundt
838ea0e1a9aSPaul Mundtconfig CMDLINE
839d724a9c9SPawel Moll	string "Kernel command line arguments string"
840d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
841ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
842ea0e1a9aSPaul Mundt
843ea0e1a9aSPaul Mundtendmenu
844ea0e1a9aSPaul Mundt
845ea0e1a9aSPaul Mundtmenu "Bus options"
846ea0e1a9aSPaul Mundt
847ea0e1a9aSPaul Mundtconfig SUPERHYWAY
848ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
849ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
850ea0e1a9aSPaul Mundt
851ea0e1a9aSPaul Mundtconfig MAPLE
852ea0e1a9aSPaul Mundt	bool "Maple Bus support"
853ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
854ea0e1a9aSPaul Mundt	help
855ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
856ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
857ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
858ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
859ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
860ea0e1a9aSPaul Mundt	 connection.
861ea0e1a9aSPaul Mundt
8627693465dSPaul Mundtconfig PCI
8637693465dSPaul Mundt	bool "PCI support"
8647693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
865320e68daSPaul Mundt	select PCI_DOMAINS
86643db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8671e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
8687693465dSPaul Mundt	help
8697693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8707693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8717693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
872ea0e1a9aSPaul Mundt
873320e68daSPaul Mundtconfig PCI_DOMAINS
874320e68daSPaul Mundt	bool
875320e68daSPaul Mundt
876e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
877e16038abSPaul Mundt
878ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
879ea0e1a9aSPaul Mundt
880ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
881ea0e1a9aSPaul Mundt
882ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtendmenu
885ea0e1a9aSPaul Mundt
886ea0e1a9aSPaul Mundtmenu "Executable file formats"
887ea0e1a9aSPaul Mundt
888ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
889ea0e1a9aSPaul Mundt
890ea0e1a9aSPaul Mundtendmenu
891ea0e1a9aSPaul Mundt
892ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
893af998a9aSMagnus Dammdepends on EXPERIMENTAL
894f4cb5700SJohannes Berg
895c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
896c6f17cb2SMagnus Damm
897c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
898ea0e1a9aSPaul Mundt
899ea0e1a9aSPaul Mundtendmenu
900ea0e1a9aSPaul Mundt
901ea0e1a9aSPaul Mundtsource "net/Kconfig"
902ea0e1a9aSPaul Mundt
903ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
904ea0e1a9aSPaul Mundt
905ea0e1a9aSPaul Mundtsource "fs/Kconfig"
906ea0e1a9aSPaul Mundt
907ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
908ea0e1a9aSPaul Mundt
909ea0e1a9aSPaul Mundtsource "security/Kconfig"
910ea0e1a9aSPaul Mundt
911ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
912ea0e1a9aSPaul Mundt
913ea0e1a9aSPaul Mundtsource "lib/Kconfig"
914