xref: /openbmc/linux/arch/sh/Kconfig (revision fb872fcc)
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
169b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
177563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
18df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
1972f0c137SPaul Mundt	select PERF_USE_VMALLOC
20b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
21df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2207e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2307e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2450cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
25c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
26af1839ebSCatalin Marinas	select HAVE_UID16
27c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
28a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
29eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
3057b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
312ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
32ed170924SPaul Mundt	select IRQ_FORCED_THREADING
336eac1af0SPaul Mundt	select RTC_LIB
34f01789c6SPaul Mundt	select GENERIC_ATOMIC64
353d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
36ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
378cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
388cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
390e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
40cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
41786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
42786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
43ea0e1a9aSPaul Mundt	help
44ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
45ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
46ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
47ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
48ea0e1a9aSPaul Mundt
49ea0e1a9aSPaul Mundtconfig SUPERH32
503cc000b5SPaul Mundt	def_bool ARCH = "sh"
51d39f5450SChris Smith	select HAVE_KPROBES
52d39f5450SChris Smith	select HAVE_KRETPROBES
536d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
54694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
55fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
56fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
57c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
58e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
59c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
60327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
61ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
626fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
630102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
64e583d6b3SSam Ravnborg	select PERF_EVENTS
658dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
6657b81330SPaul Mundt	select SPARSE_IRQ
67ea0e1a9aSPaul Mundt
68ea0e1a9aSPaul Mundtconfig SUPERH64
693cc000b5SPaul Mundt	def_bool ARCH = "sh64"
703a898c0fSPaul Mundt	select KALLSYMS
71ea0e1a9aSPaul Mundt
72f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
73f42b7e3dSPaul Mundt	string
74f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
75f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
76f42b7e3dSPaul Mundt
77ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
78d7ef4fb3SHarvey Harrison	def_bool y
79ea0e1a9aSPaul Mundt
80ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
81ea0e1a9aSPaul Mundt	bool
82ea0e1a9aSPaul Mundt
83ea0e1a9aSPaul Mundtconfig GENERIC_BUG
84ea0e1a9aSPaul Mundt	def_bool y
85a82d53ecSPaul Mundt	depends on BUG && SUPERH32
86ea0e1a9aSPaul Mundt
873767f3f1SPaul Mundtconfig GENERIC_CSUM
883767f3f1SPaul Mundt	def_bool y
893767f3f1SPaul Mundt	depends on SUPERH64
903767f3f1SPaul Mundt
91ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
92d7ef4fb3SHarvey Harrison	def_bool y
93ea0e1a9aSPaul Mundt
942eb2a436SPaul Mundtconfig IRQ_PER_CPU
952eb2a436SPaul Mundt	def_bool y
962eb2a436SPaul Mundt
972967dab1SMagnus Dammconfig GENERIC_GPIO
982967dab1SMagnus Damm	def_bool n
992967dab1SMagnus Damm
100ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
101cf204fa7SPaul Mundt	bool
102ea0e1a9aSPaul Mundt
103bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
104bdcab87bSPaul Mundt	def_bool y
105bdcab87bSPaul Mundt	depends on SMP && PREEMPT
106bdcab87bSPaul Mundt
107af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
108af998a9aSMagnus Damm	def_bool n
109af998a9aSMagnus Damm
110af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
111af998a9aSMagnus Damm	def_bool n
112ea0e1a9aSPaul Mundt
113ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
114ea0e1a9aSPaul Mundt	bool
115af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
116ea0e1a9aSPaul Mundt
117ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
118ffb4a73dSPaul Mundt	bool
119ffb4a73dSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
121ea0e1a9aSPaul Mundt	bool
122ea0e1a9aSPaul Mundt
123ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
124ea0e1a9aSPaul Mundt	bool
125ea0e1a9aSPaul Mundt
126ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
127ea0e1a9aSPaul Mundt	bool
128ea0e1a9aSPaul Mundt
129f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
130f5ad881bSPaul Mundt	bool
131f5ad881bSPaul Mundt
132d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
133d5ed4c2eSMagnus Damm	bool
134d5ed4c2eSMagnus Damm
1359570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1369570ef20SMagnus Damm	bool
1379570ef20SMagnus Damm
138ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
139d7ef4fb3SHarvey Harrison	def_bool y
140ea0e1a9aSPaul Mundt
141ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
142d7ef4fb3SHarvey Harrison	def_bool y
143ea0e1a9aSPaul Mundt
1445a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1455a89f1adSPaul Mundt	def_bool y
1465a89f1adSPaul Mundt
147ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
148d7ef4fb3SHarvey Harrison	def_bool n
149ea0e1a9aSPaul Mundt
150ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
151d7ef4fb3SHarvey Harrison	def_bool n
152ea0e1a9aSPaul Mundt
153ea0e1a9aSPaul Mundtconfig ARCH_NO_VIRT_TO_BUS
154ea0e1a9aSPaul Mundt	def_bool y
155ea0e1a9aSPaul Mundt
156e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
157e869a90eSPaul Mundt	def_bool y
158e869a90eSPaul Mundt
15986e4dd5aSPaul Mundtconfig NO_IOPORT
16037b7a978SPaul Mundt	def_bool !PCI
161c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
162c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
16386e4dd5aSPaul Mundt
164e7cc9a73SMagnus Dammconfig IO_TRAPPED
165e7cc9a73SMagnus Damm	bool
166e7cc9a73SMagnus Damm
167b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
168b7e68d68SPaul Mundt	bool
169b7e68d68SPaul Mundt
17001be5d63SPaul Mundtconfig DMA_COHERENT
17101be5d63SPaul Mundt	bool
17201be5d63SPaul Mundt
17301be5d63SPaul Mundtconfig DMA_NONCOHERENT
17401be5d63SPaul Mundt	def_bool !DMA_COHERENT
17501be5d63SPaul Mundt
1765cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1775cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1785cabbb62SFUJITA Tomonori
17918e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
18018e98307SFUJITA Tomonori	def_bool y
18118e98307SFUJITA Tomonori
182ea0e1a9aSPaul Mundtsource "init/Kconfig"
183ea0e1a9aSPaul Mundt
184dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
185dc52ddc0SMatt Helsley
186ea0e1a9aSPaul Mundtmenu "System type"
187ea0e1a9aSPaul Mundt
188ea0e1a9aSPaul Mundt#
189ea0e1a9aSPaul Mundt# Processor families
190ea0e1a9aSPaul Mundt#
191ea0e1a9aSPaul Mundtconfig CPU_SH2
192ea0e1a9aSPaul Mundt	bool
193ea0e1a9aSPaul Mundt
194ea0e1a9aSPaul Mundtconfig CPU_SH2A
195ea0e1a9aSPaul Mundt	bool
196ea0e1a9aSPaul Mundt	select CPU_SH2
197e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
198ea0e1a9aSPaul Mundt
199ea0e1a9aSPaul Mundtconfig CPU_SH3
200ea0e1a9aSPaul Mundt	bool
201ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
202ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2034fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
204ea0e1a9aSPaul Mundt
205ea0e1a9aSPaul Mundtconfig CPU_SH4
206ea0e1a9aSPaul Mundt	bool
207ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
208ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
209ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2104fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
211ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
212ea0e1a9aSPaul Mundt
213ea0e1a9aSPaul Mundtconfig CPU_SH4A
214ea0e1a9aSPaul Mundt	bool
215ea0e1a9aSPaul Mundt	select CPU_SH4
216ea0e1a9aSPaul Mundt
217ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
218ea0e1a9aSPaul Mundt	bool
219ea0e1a9aSPaul Mundt	select CPU_SH4A
220ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
221ea0e1a9aSPaul Mundt
222ea0e1a9aSPaul Mundtconfig CPU_SH5
223ea0e1a9aSPaul Mundt	bool
224ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
225add47067SPaul Mundt	select SYS_SUPPORTS_TMU
226ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
227ea0e1a9aSPaul Mundt
228ea0e1a9aSPaul Mundtconfig CPU_SHX2
229ea0e1a9aSPaul Mundt	bool
230ea0e1a9aSPaul Mundt
231ea0e1a9aSPaul Mundtconfig CPU_SHX3
232ea0e1a9aSPaul Mundt	bool
23301be5d63SPaul Mundt	select DMA_COHERENT
2344b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2354b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
236ea0e1a9aSPaul Mundt
237dc65a977SPaul Mundtconfig ARCH_SHMOBILE
238dc65a977SPaul Mundt	bool
23977594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
240ac2c596bSMagnus Damm	select PM
241ac2c596bSMagnus Damm	select PM_RUNTIME
242dc65a977SPaul Mundt
24386c8c047SMatt Flemingconfig CPU_HAS_PMU
24486c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24586c8c047SMatt Fleming       default y
24686c8c047SMatt Fleming       bool
24786c8c047SMatt Fleming
2483cc000b5SPaul Mundtif SUPERH32
2493cc000b5SPaul Mundt
250ea0e1a9aSPaul Mundtchoice
251ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
252ea0e1a9aSPaul Mundt
253ea0e1a9aSPaul Mundt#
254ea0e1a9aSPaul Mundt# Processor subtypes
255ea0e1a9aSPaul Mundt#
256ea0e1a9aSPaul Mundt
257ea0e1a9aSPaul Mundt# SH-2 Processor Support
258ea0e1a9aSPaul Mundt
259ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
260ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
261ea0e1a9aSPaul Mundt	select CPU_SH2
262f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
263ea0e1a9aSPaul Mundt
264ea0e1a9aSPaul Mundt# SH-2A Processor Support
265ea0e1a9aSPaul Mundt
2662825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2672825999eSPeter Griffin	bool "Support SH7201 processor"
2682825999eSPeter Griffin	select CPU_SH2A
2692825999eSPeter Griffin	select CPU_HAS_FPU
270da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2712825999eSPeter Griffin
2726d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2736d01f510SPaul Mundt	bool "Support SH7203 processor"
2746d01f510SPaul Mundt	select CPU_SH2A
27574d99a5eSPaul Mundt	select CPU_HAS_FPU
276f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
277da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
278f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
279b768ecbcSLaurent Pinchart	select PINCTRL
2806d01f510SPaul Mundt
281ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
282ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
283ea0e1a9aSPaul Mundt	select CPU_SH2A
284f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
285da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
286ea0e1a9aSPaul Mundt
287a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
288a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
289a8f67f4bSPaul Mundt	select CPU_SH2A
29074d99a5eSPaul Mundt	select CPU_HAS_FPU
291f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
292da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
293a8f67f4bSPaul Mundt
29451ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
29551ce3068SPhil Edworthy	bool "Support SH7264 processor"
29651ce3068SPhil Edworthy	select CPU_SH2A
29751ce3068SPhil Edworthy	select CPU_HAS_FPU
29851ce3068SPhil Edworthy	select SYS_SUPPORTS_CMT
29951ce3068SPhil Edworthy	select SYS_SUPPORTS_MTU2
3005946e7bbSLaurent Pinchart	select PINCTRL
30151ce3068SPhil Edworthy
3020b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
3030b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
3040b25b7c8SPhil Edworthy	select CPU_SH2A
3050b25b7c8SPhil Edworthy	select CPU_HAS_FPU
3060b25b7c8SPhil Edworthy	select SYS_SUPPORTS_CMT
3070b25b7c8SPhil Edworthy	select SYS_SUPPORTS_MTU2
308fb872fccSLaurent Pinchart	select PINCTRL
3090b25b7c8SPhil Edworthy
3102ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3112ad69908SPaul Mundt	bool "Support MX-G processor"
3122ad69908SPaul Mundt	select CPU_SH2A
313da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3142ad69908SPaul Mundt	help
3152ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3162ad69908SPaul Mundt
317ea0e1a9aSPaul Mundt# SH-3 Processor Support
318ea0e1a9aSPaul Mundt
319ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
320ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
321ea0e1a9aSPaul Mundt	select CPU_SH3
322ea0e1a9aSPaul Mundt
323ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
324ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
325ea0e1a9aSPaul Mundt	select CPU_SH3
326ea0e1a9aSPaul Mundt	help
327ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
328ea0e1a9aSPaul Mundt
329ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
330ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
331ea0e1a9aSPaul Mundt	select CPU_SH3
332ea0e1a9aSPaul Mundt	help
333ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
334ea0e1a9aSPaul Mundt
335ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
336ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
337ea0e1a9aSPaul Mundt	select CPU_SH3
338ea0e1a9aSPaul Mundt	help
339ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
340ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
341ea0e1a9aSPaul Mundt
342ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
343ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
344ea0e1a9aSPaul Mundt	select CPU_SH3
345ea0e1a9aSPaul Mundt	help
346ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
347ea0e1a9aSPaul Mundt
348ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
349ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
350ea0e1a9aSPaul Mundt	select CPU_SH3
351ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
352ea0e1a9aSPaul Mundt	help
353ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
354ea0e1a9aSPaul Mundt
355ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
356ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
357ea0e1a9aSPaul Mundt	select CPU_SH3
358ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
359ea0e1a9aSPaul Mundt	help
360ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
361ea0e1a9aSPaul Mundt
362ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
363ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
364ea0e1a9aSPaul Mundt	select CPU_SH3
365ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3662b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
367f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
368e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3697b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
370ea0e1a9aSPaul Mundt	help
371ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
372ea0e1a9aSPaul Mundt
37331a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
37431a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
37531a49c4bSYoshihiro Shimoda	select CPU_SH3
37631a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3772b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
378e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3797b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
38031a49c4bSYoshihiro Shimoda	help
38131a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
38231a49c4bSYoshihiro Shimoda
383ea0e1a9aSPaul Mundt# SH-4 Processor Support
384ea0e1a9aSPaul Mundt
385ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
386ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
387ea0e1a9aSPaul Mundt	select CPU_SH4
388ea0e1a9aSPaul Mundt	help
389ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
390ea0e1a9aSPaul Mundt
391ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
392ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
393ea0e1a9aSPaul Mundt	select CPU_SH4
394ea0e1a9aSPaul Mundt	help
395ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
396ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
397ea0e1a9aSPaul Mundt
398ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
399ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
400ea0e1a9aSPaul Mundt	select CPU_SH4
401ea0e1a9aSPaul Mundt
402ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
403ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
404ea0e1a9aSPaul Mundt	select CPU_SH4
405ea0e1a9aSPaul Mundt
406ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
407ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
408ea0e1a9aSPaul Mundt	select CPU_SH4
409ea0e1a9aSPaul Mundt	help
410ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
411ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
412ea0e1a9aSPaul Mundt
413ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
414ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
415ea0e1a9aSPaul Mundt	select CPU_SH4
416ea0e1a9aSPaul Mundt
417ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
418ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
419ea0e1a9aSPaul Mundt	select CPU_SH4
420ea0e1a9aSPaul Mundt
421ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
422ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
423ea0e1a9aSPaul Mundt	select CPU_SH4
424ea0e1a9aSPaul Mundt
425ea0e1a9aSPaul Mundt# SH-4A Processor Support
426ea0e1a9aSPaul Mundt
427178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
428178dd0cdSPaul Mundt	bool "Support SH7723 processor"
429178dd0cdSPaul Mundt	select CPU_SH4A
430178dd0cdSPaul Mundt	select CPU_SHX2
431dc65a977SPaul Mundt	select ARCH_SHMOBILE
432178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
433f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
434f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
435178dd0cdSPaul Mundt	help
436178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
437178dd0cdSPaul Mundt
4380207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4390207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4400207a2efSKuninori Morimoto	select CPU_SH4A
4410207a2efSKuninori Morimoto	select CPU_SHX2
44259fe700dSPaul Mundt	select ARCH_SHMOBILE
4430207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4440207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
445f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4460207a2efSKuninori Morimoto	help
4470207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4480207a2efSKuninori Morimoto
449fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
450fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
451fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
452fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
453fea88a0cSNobuhiro Iwamatsu	select ARCH_WANT_OPTIONAL_GPIOLIB
454fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_OHCI
455fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_EHCI
456fea88a0cSNobuhiro Iwamatsu	help
457fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
458fea88a0cSNobuhiro Iwamatsu
459c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
460c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
461c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
462c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
463f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4640fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4650fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
466c01f0f1aSYoshihiro Shimoda	help
467c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
468c01f0f1aSYoshihiro Shimoda
4697d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4707d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4717d740a06SYoshihiro Shimoda	select CPU_SH4A
472e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4737b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4747d740a06SYoshihiro Shimoda	help
4757d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4767d740a06SYoshihiro Shimoda
477ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
478ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
479ea0e1a9aSPaul Mundt	select CPU_SH4A
480ea0e1a9aSPaul Mundt
481ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
482ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
483ea0e1a9aSPaul Mundt	select CPU_SH4A
484ea0e1a9aSPaul Mundt
485ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
486ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
487ea0e1a9aSPaul Mundt	select CPU_SH4A
488ea0e1a9aSPaul Mundt	select CPU_SHX2
489ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
490ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
491f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
492ea0e1a9aSPaul Mundt
49355ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
49455ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
49555ba99ebSKuninori Morimoto	select CPU_SH4A
49637042fbdSPaul Mundt	select CPU_SHX3
4978263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4982eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
499f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
500e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
5017b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
502e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
5037b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
50455ba99ebSKuninori Morimoto
505ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
506ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
507ea0e1a9aSPaul Mundt	select CPU_SH4A
508ea0e1a9aSPaul Mundt	select CPU_SHX3
5095840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
510742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
511ea0e1a9aSPaul Mundt
512ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
513ea0e1a9aSPaul Mundt
514ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
515ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
516ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
517dc65a977SPaul Mundt	select ARCH_SHMOBILE
518f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
519ea0e1a9aSPaul Mundt
520ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
521ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
522ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
523ea0e1a9aSPaul Mundt	select CPU_SHX2
524dc65a977SPaul Mundt	select ARCH_SHMOBILE
525ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
526ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
527f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
528f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
529ea0e1a9aSPaul Mundt
5309109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5319109a30eSMagnus Damm	bool "Support SH7366 processor"
5329109a30eSMagnus Damm	select CPU_SH4AL_DSP
5339109a30eSMagnus Damm	select CPU_SHX2
534dc65a977SPaul Mundt	select ARCH_SHMOBILE
5359109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5369109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
537f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5389109a30eSMagnus Damm
5393cc000b5SPaul Mundtendchoice
5403cc000b5SPaul Mundt
5413cc000b5SPaul Mundtendif
5423cc000b5SPaul Mundt
5433cc000b5SPaul Mundtif SUPERH64
5443cc000b5SPaul Mundt
5453cc000b5SPaul Mundtchoice
5463cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5473cc000b5SPaul Mundt
548ea0e1a9aSPaul Mundt# SH-5 Processor Support
549ea0e1a9aSPaul Mundt
550ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
551ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
552ea0e1a9aSPaul Mundt	select CPU_SH5
553ea0e1a9aSPaul Mundt
554ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
555ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5568ef97dd7SPaul Mundt	select CPU_SH5
557ea0e1a9aSPaul Mundt
558ea0e1a9aSPaul Mundtendchoice
559ea0e1a9aSPaul Mundt
5603cc000b5SPaul Mundtendif
5613cc000b5SPaul Mundt
562ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
563939a24a6SPaul Mundt
564ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
565ea0e1a9aSPaul Mundt
566939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
567ea0e1a9aSPaul Mundt
568ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
569ea0e1a9aSPaul Mundt
5709570ef20SMagnus Dammconfig SH_TIMER_TMU
5719570ef20SMagnus Damm	bool "TMU timer driver"
572f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5739570ef20SMagnus Damm	default y
5749570ef20SMagnus Damm	help
5759570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5769570ef20SMagnus Damm
577f5ad881bSPaul Mundtconfig SH_TIMER_CMT
578f425752fSMagnus Damm	bool "CMT timer driver"
579f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
580f425752fSMagnus Damm	default y
581f425752fSMagnus Damm	help
582f425752fSMagnus Damm	  This enables build of the CMT timer driver.
583f5ad881bSPaul Mundt
584d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
585d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5863280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
587d5ed4c2eSMagnus Damm	default y
588d5ed4c2eSMagnus Damm	help
589d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
590d5ed4c2eSMagnus Damm
591ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
592ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5938152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
594ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5958152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5968152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5978152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5988152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5998152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
6008152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
60143a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
602ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
603ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
604ea0e1a9aSPaul Mundt	default "50000000"
605ea0e1a9aSPaul Mundt	help
606ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
607ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
608ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
609ea0e1a9aSPaul Mundt
61036aa1e32SPaul Mundtconfig SH_CLK_CPG
61136aa1e32SPaul Mundt	def_bool y
61236aa1e32SPaul Mundt
613253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
61436aa1e32SPaul Mundt	depends on SH_CLK_CPG
61543a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
61651ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
617bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
618bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
619253b0887SPaul Mundt
620ea0e1a9aSPaul Mundtendmenu
621ea0e1a9aSPaul Mundt
622ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
623ea0e1a9aSPaul Mundt
624ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
625ea0e1a9aSPaul Mundt
626ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
627ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
628ea0e1a9aSPaul Mundt	depends on CPU_FREQ
629ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
630ea0e1a9aSPaul Mundt	help
6318a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6328a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6338a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6348a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6358a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6368a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
637ea0e1a9aSPaul Mundt
638ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
639ea0e1a9aSPaul Mundt
640ea0e1a9aSPaul Mundt	  If unsure, say N.
641ea0e1a9aSPaul Mundt
642ea0e1a9aSPaul Mundtendmenu
643ea0e1a9aSPaul Mundt
644ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
645ea0e1a9aSPaul Mundt
646ea0e1a9aSPaul Mundtendmenu
647ea0e1a9aSPaul Mundt
648ea0e1a9aSPaul Mundtmenu "Kernel features"
649ea0e1a9aSPaul Mundt
650ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
651ea0e1a9aSPaul Mundt
652ea0e1a9aSPaul Mundtconfig KEXEC
653ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
654f36b59d1SNobuhiro Iwamatsu	depends on SUPERH32 && EXPERIMENTAL && MMU
655ea0e1a9aSPaul Mundt	help
656ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
657ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
658ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
659ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
660ea0e1a9aSPaul Mundt
661ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
662ea0e1a9aSPaul Mundt
663ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
664ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
665ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
666ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
667ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
668ea0e1a9aSPaul Mundt
669ea0e1a9aSPaul Mundtconfig CRASH_DUMP
670ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
671d523e1aeSPaul Mundt	depends on SUPERH32 && EXPERIMENTAL && BROKEN_ON_SMP
672ea0e1a9aSPaul Mundt	help
673ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
674ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
675ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
676ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
677ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
678ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
679e66ac3f2SSimon Horman	  PHYSICAL_START.
680ea0e1a9aSPaul Mundt
681ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
682ea0e1a9aSPaul Mundt
683b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
684b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
685b7cf6ddcSMagnus Damm	depends on SUPERH32 && KEXEC && HIBERNATION && EXPERIMENTAL
686b7cf6ddcSMagnus Damm	help
687b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
688b7cf6ddcSMagnus Damm	  code via KEXEC
689b7cf6ddcSMagnus Damm
690e66ac3f2SSimon Hormanconfig PHYSICAL_START
691e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
692e66ac3f2SSimon Horman	default MEMORY_START
693e66ac3f2SSimon Horman	---help---
694e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
695e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
696e66ac3f2SSimon Horman
697e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
698e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
699e66ac3f2SSimon Horman	  than the panic-ed kernel.
700e66ac3f2SSimon Horman
701c4637d47SPaul Mundtconfig SECCOMP
702c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
703c4637d47SPaul Mundt	depends on PROC_FS
704c4637d47SPaul Mundt	help
705c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
706c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
707c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
708c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
709c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
710c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
711c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
712c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
713c4637d47SPaul Mundt	  mode.
714c4637d47SPaul Mundt
715c4637d47SPaul Mundt	  If unsure, say N.
716c4637d47SPaul Mundt
7175d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR
7185d920bb9SFilippo Arcidiacono	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
7195d920bb9SFilippo Arcidiacono	depends on SUPERH32 && EXPERIMENTAL
7205d920bb9SFilippo Arcidiacono	help
7215d920bb9SFilippo Arcidiacono	  This option turns on the -fstack-protector GCC feature. This
7225d920bb9SFilippo Arcidiacono	  feature puts, at the beginning of functions, a canary value on
7235d920bb9SFilippo Arcidiacono	  the stack just before the return address, and validates
7245d920bb9SFilippo Arcidiacono	  the value just before actually returning.  Stack based buffer
7255d920bb9SFilippo Arcidiacono	  overflows (that need to overwrite this return address) now also
7265d920bb9SFilippo Arcidiacono	  overwrite the canary, which gets detected and the attack is then
7275d920bb9SFilippo Arcidiacono	  neutralized via a kernel panic.
7285d920bb9SFilippo Arcidiacono
7295d920bb9SFilippo Arcidiacono	  This feature requires gcc version 4.2 or above.
7305d920bb9SFilippo Arcidiacono
731ea0e1a9aSPaul Mundtconfig SMP
732ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
733ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
734490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
735ea0e1a9aSPaul Mundt	---help---
736ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
737ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
738ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
739ea0e1a9aSPaul Mundt
740ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
741ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
742ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
743ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
744ea0e1a9aSPaul Mundt	  will run faster if you say N here.
745ea0e1a9aSPaul Mundt
746ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
747ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
748ea0e1a9aSPaul Mundt
74903502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
75003502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
751ea0e1a9aSPaul Mundt
752ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
753ea0e1a9aSPaul Mundt
754ea0e1a9aSPaul Mundtconfig NR_CPUS
755ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
756ea0e1a9aSPaul Mundt	range 2 32
757ea0e1a9aSPaul Mundt	depends on SMP
7582eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
759ea0e1a9aSPaul Mundt	default "2"
760ea0e1a9aSPaul Mundt	help
761ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
762ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
763ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
764ea0e1a9aSPaul Mundt
765ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
766ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
767ea0e1a9aSPaul Mundt
768763142d1SPaul Mundtconfig HOTPLUG_CPU
769763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
770763142d1SPaul Mundt	depends on SMP && HOTPLUG && EXPERIMENTAL
771763142d1SPaul Mundt	help
772763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
773763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
774763142d1SPaul Mundt
775ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
776ea0e1a9aSPaul Mundt
777ea0e1a9aSPaul Mundtconfig GUSA
778ea0e1a9aSPaul Mundt	def_bool y
7791efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
780ea0e1a9aSPaul Mundt	help
781ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
782ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
783ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
784ea0e1a9aSPaul Mundt
785ea0e1a9aSPaul Mundt	  For additional information, design information can be found
786ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
787ea0e1a9aSPaul Mundt
788ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
789ea0e1a9aSPaul Mundt	  atomicity implementations exist.
790ea0e1a9aSPaul Mundt
7911efe4ce3SStuart Menefyconfig GUSA_RB
7921efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7931efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7941efe4ce3SStuart Menefy	help
7951efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
796692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7971efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7981efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
799692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
8001efe4ce3SStuart Menefy
80186c8c047SMatt Flemingconfig HW_PERF_EVENTS
80286c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
80386c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
80486c8c047SMatt Fleming	default y
80586c8c047SMatt Fleming	help
80686c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
80786c8c047SMatt Fleming	  disabled, perf events will use software events only.
80886c8c047SMatt Fleming
80943b8774dSPaul Mundtsource "drivers/sh/Kconfig"
81043b8774dSPaul Mundt
811ea0e1a9aSPaul Mundtendmenu
812ea0e1a9aSPaul Mundt
813ea0e1a9aSPaul Mundtmenu "Boot options"
814ea0e1a9aSPaul Mundt
815ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
816b412a49aSPaul Mundt	hex
817b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
818b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
819b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
820ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
821ea0e1a9aSPaul Mundt	default "0x00001000"
822ea0e1a9aSPaul Mundt	help
823ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
824ea0e1a9aSPaul Mundt
825ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
826b412a49aSPaul Mundt	hex
827b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
828a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
829b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
830b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
831b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
832b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
833ea0e1a9aSPaul Mundt	default "0x00800000"
834ea0e1a9aSPaul Mundt	help
835ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
836ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
837ea0e1a9aSPaul Mundt	  memory.
838ea0e1a9aSPaul Mundt
839b412a49aSPaul Mundtconfig ENTRY_OFFSET
840b412a49aSPaul Mundt	hex
841b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
842b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
843b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
844b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
845b412a49aSPaul Mundt	default "0x00000000"
846b412a49aSPaul Mundt
8474705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8484705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8494705b2e8SMagnus Damm	depends on CPU_SUBTYPE_SH7724 && EXPERIMENTAL
8504705b2e8SMagnus Damm	help
8514705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8524705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8534705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8544705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8554705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8564705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8574705b2e8SMagnus Damm
858d724a9c9SPawel Mollchoice
859d724a9c9SPawel Moll	prompt "Kernel command line"
860d724a9c9SPawel Moll	optional
861d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
862d724a9c9SPawel Moll	help
863d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
864d724a9c9SPawel Moll	  to be set.
865d724a9c9SPawel Moll
866d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
867d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
868d724a9c9SPawel Moll	help
869d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
870d724a9c9SPawel Moll	  a bootloader.
871d724a9c9SPawel Moll
872d724a9c9SPawel Mollconfig CMDLINE_EXTEND
873d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
874d724a9c9SPawel Moll	help
875d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
876d724a9c9SPawel Moll	  by a bootloader.
877d724a9c9SPawel Moll
878d724a9c9SPawel Mollendchoice
879ea0e1a9aSPaul Mundt
880ea0e1a9aSPaul Mundtconfig CMDLINE
881d724a9c9SPawel Moll	string "Kernel command line arguments string"
882d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
883ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
884ea0e1a9aSPaul Mundt
885ea0e1a9aSPaul Mundtendmenu
886ea0e1a9aSPaul Mundt
887ea0e1a9aSPaul Mundtmenu "Bus options"
888ea0e1a9aSPaul Mundt
889ea0e1a9aSPaul Mundtconfig SUPERHYWAY
890ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
891ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
892ea0e1a9aSPaul Mundt
893ea0e1a9aSPaul Mundtconfig MAPLE
894ea0e1a9aSPaul Mundt	bool "Maple Bus support"
895ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
896ea0e1a9aSPaul Mundt	help
897ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
898ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
899ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
900ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
901ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
902ea0e1a9aSPaul Mundt	 connection.
903ea0e1a9aSPaul Mundt
9047693465dSPaul Mundtconfig PCI
9057693465dSPaul Mundt	bool "PCI support"
9067693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
907320e68daSPaul Mundt	select PCI_DOMAINS
90843db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
9091e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
9107693465dSPaul Mundt	help
9117693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
9127693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
9137693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
914ea0e1a9aSPaul Mundt
915320e68daSPaul Mundtconfig PCI_DOMAINS
916320e68daSPaul Mundt	bool
917320e68daSPaul Mundt
918e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
919e16038abSPaul Mundt
920ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
921ea0e1a9aSPaul Mundt
922ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
923ea0e1a9aSPaul Mundt
924ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
925ea0e1a9aSPaul Mundt
926ea0e1a9aSPaul Mundtendmenu
927ea0e1a9aSPaul Mundt
928ea0e1a9aSPaul Mundtmenu "Executable file formats"
929ea0e1a9aSPaul Mundt
930ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
931ea0e1a9aSPaul Mundt
932ea0e1a9aSPaul Mundtendmenu
933ea0e1a9aSPaul Mundt
934ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
935af998a9aSMagnus Dammdepends on EXPERIMENTAL
936f4cb5700SJohannes Berg
937c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
938c6f17cb2SMagnus Damm
939c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
940ea0e1a9aSPaul Mundt
941ea0e1a9aSPaul Mundtendmenu
942ea0e1a9aSPaul Mundt
943ea0e1a9aSPaul Mundtsource "net/Kconfig"
944ea0e1a9aSPaul Mundt
945ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
946ea0e1a9aSPaul Mundt
947ea0e1a9aSPaul Mundtsource "fs/Kconfig"
948ea0e1a9aSPaul Mundt
949ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
950ea0e1a9aSPaul Mundt
951ea0e1a9aSPaul Mundtsource "security/Kconfig"
952ea0e1a9aSPaul Mundt
953ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
954ea0e1a9aSPaul Mundt
955ea0e1a9aSPaul Mundtsource "lib/Kconfig"
956