xref: /openbmc/linux/arch/sh/Kconfig (revision dc775dd8)
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
14cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
159b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
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
19b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
20df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2107e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2207e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2350cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
24c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
25af1839ebSCatalin Marinas	select HAVE_UID16
26c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
27a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
28eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
2957b81330SPaul Mundt	select HAVE_GENERIC_HARDIRQS
302ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
31ed170924SPaul Mundt	select IRQ_FORCED_THREADING
326eac1af0SPaul Mundt	select RTC_LIB
33f01789c6SPaul Mundt	select GENERIC_ATOMIC64
343d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
35ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
36dc775dd8SThomas Gleixner	select GENERIC_IDLE_LOOP
37dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
388cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
398cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
400e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
41cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
42786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
43786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
44881e252dSAl Viro	select OLD_SIGSUSPEND
450679a858SAl Viro	select OLD_SIGACTION
46ea0e1a9aSPaul Mundt	help
47ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
48ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
49ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
50ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
51ea0e1a9aSPaul Mundt
52ea0e1a9aSPaul Mundtconfig SUPERH32
533cc000b5SPaul Mundt	def_bool ARCH = "sh"
54d39f5450SChris Smith	select HAVE_KPROBES
55d39f5450SChris Smith	select HAVE_KRETPROBES
566d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
57694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
58fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
59fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
60c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
61e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
62c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
63327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
64ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
656fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
660102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
67e583d6b3SSam Ravnborg	select PERF_EVENTS
688dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
6957b81330SPaul Mundt	select SPARSE_IRQ
70ea0e1a9aSPaul Mundt
71ea0e1a9aSPaul Mundtconfig SUPERH64
723cc000b5SPaul Mundt	def_bool ARCH = "sh64"
733a898c0fSPaul Mundt	select KALLSYMS
74ea0e1a9aSPaul Mundt
75f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
76f42b7e3dSPaul Mundt	string
77f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
78f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
79f42b7e3dSPaul Mundt
80ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
81d7ef4fb3SHarvey Harrison	def_bool y
82ea0e1a9aSPaul Mundt
83ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
84ea0e1a9aSPaul Mundt	bool
85ea0e1a9aSPaul Mundt
86ea0e1a9aSPaul Mundtconfig GENERIC_BUG
87ea0e1a9aSPaul Mundt	def_bool y
88a82d53ecSPaul Mundt	depends on BUG && SUPERH32
89ea0e1a9aSPaul Mundt
903767f3f1SPaul Mundtconfig GENERIC_CSUM
913767f3f1SPaul Mundt	def_bool y
923767f3f1SPaul Mundt	depends on SUPERH64
933767f3f1SPaul Mundt
94ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
95d7ef4fb3SHarvey Harrison	def_bool y
96ea0e1a9aSPaul 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
153e869a90eSPaul Mundtconfig ARCH_HAS_DEFAULT_IDLE
154e869a90eSPaul Mundt	def_bool y
155e869a90eSPaul Mundt
15686e4dd5aSPaul Mundtconfig NO_IOPORT
15737b7a978SPaul Mundt	def_bool !PCI
158c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
159c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
16086e4dd5aSPaul Mundt
161e7cc9a73SMagnus Dammconfig IO_TRAPPED
162e7cc9a73SMagnus Damm	bool
163e7cc9a73SMagnus Damm
164b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
165b7e68d68SPaul Mundt	bool
166b7e68d68SPaul Mundt
16701be5d63SPaul Mundtconfig DMA_COHERENT
16801be5d63SPaul Mundt	bool
16901be5d63SPaul Mundt
17001be5d63SPaul Mundtconfig DMA_NONCOHERENT
17101be5d63SPaul Mundt	def_bool !DMA_COHERENT
17201be5d63SPaul Mundt
1735cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1745cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1755cabbb62SFUJITA Tomonori
17618e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
17718e98307SFUJITA Tomonori	def_bool y
17818e98307SFUJITA Tomonori
179ea0e1a9aSPaul Mundtsource "init/Kconfig"
180ea0e1a9aSPaul Mundt
181dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
182dc52ddc0SMatt Helsley
183ea0e1a9aSPaul Mundtmenu "System type"
184ea0e1a9aSPaul Mundt
185ea0e1a9aSPaul Mundt#
186ea0e1a9aSPaul Mundt# Processor families
187ea0e1a9aSPaul Mundt#
188ea0e1a9aSPaul Mundtconfig CPU_SH2
189ea0e1a9aSPaul Mundt	bool
190ea0e1a9aSPaul Mundt
191ea0e1a9aSPaul Mundtconfig CPU_SH2A
192ea0e1a9aSPaul Mundt	bool
193ea0e1a9aSPaul Mundt	select CPU_SH2
194e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
195ea0e1a9aSPaul Mundt
196ea0e1a9aSPaul Mundtconfig CPU_SH3
197ea0e1a9aSPaul Mundt	bool
198ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
199ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
2004fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
201ea0e1a9aSPaul Mundt
202ea0e1a9aSPaul Mundtconfig CPU_SH4
203ea0e1a9aSPaul Mundt	bool
204ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
205ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
206ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2074fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
208ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
209ea0e1a9aSPaul Mundt
210ea0e1a9aSPaul Mundtconfig CPU_SH4A
211ea0e1a9aSPaul Mundt	bool
212ea0e1a9aSPaul Mundt	select CPU_SH4
213ea0e1a9aSPaul Mundt
214ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
215ea0e1a9aSPaul Mundt	bool
216ea0e1a9aSPaul Mundt	select CPU_SH4A
217ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
218ea0e1a9aSPaul Mundt
219ea0e1a9aSPaul Mundtconfig CPU_SH5
220ea0e1a9aSPaul Mundt	bool
221ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
222add47067SPaul Mundt	select SYS_SUPPORTS_TMU
223ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
224ea0e1a9aSPaul Mundt
225ea0e1a9aSPaul Mundtconfig CPU_SHX2
226ea0e1a9aSPaul Mundt	bool
227ea0e1a9aSPaul Mundt
228ea0e1a9aSPaul Mundtconfig CPU_SHX3
229ea0e1a9aSPaul Mundt	bool
23001be5d63SPaul Mundt	select DMA_COHERENT
2314b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2324b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
233ea0e1a9aSPaul Mundt
234dc65a977SPaul Mundtconfig ARCH_SHMOBILE
235dc65a977SPaul Mundt	bool
23677594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
237ac2c596bSMagnus Damm	select PM
238ac2c596bSMagnus Damm	select PM_RUNTIME
239dc65a977SPaul Mundt
24086c8c047SMatt Flemingconfig CPU_HAS_PMU
24186c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
24286c8c047SMatt Fleming       default y
24386c8c047SMatt Fleming       bool
24486c8c047SMatt Fleming
2453cc000b5SPaul Mundtif SUPERH32
2463cc000b5SPaul Mundt
247ea0e1a9aSPaul Mundtchoice
248ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
249ea0e1a9aSPaul Mundt
250ea0e1a9aSPaul Mundt#
251ea0e1a9aSPaul Mundt# Processor subtypes
252ea0e1a9aSPaul Mundt#
253ea0e1a9aSPaul Mundt
254ea0e1a9aSPaul Mundt# SH-2 Processor Support
255ea0e1a9aSPaul Mundt
256ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
257ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
258ea0e1a9aSPaul Mundt	select CPU_SH2
259f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
260ea0e1a9aSPaul Mundt
261ea0e1a9aSPaul Mundt# SH-2A Processor Support
262ea0e1a9aSPaul Mundt
2632825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2642825999eSPeter Griffin	bool "Support SH7201 processor"
2652825999eSPeter Griffin	select CPU_SH2A
2662825999eSPeter Griffin	select CPU_HAS_FPU
267da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2682825999eSPeter Griffin
2696d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2706d01f510SPaul Mundt	bool "Support SH7203 processor"
2716d01f510SPaul Mundt	select CPU_SH2A
27274d99a5eSPaul Mundt	select CPU_HAS_FPU
273f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
274da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
275f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
276b768ecbcSLaurent Pinchart	select PINCTRL
2776d01f510SPaul Mundt
278ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
279ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
280ea0e1a9aSPaul Mundt	select CPU_SH2A
281f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
282da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
283ea0e1a9aSPaul Mundt
284a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
285a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
286a8f67f4bSPaul Mundt	select CPU_SH2A
28774d99a5eSPaul Mundt	select CPU_HAS_FPU
288f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
289da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
290a8f67f4bSPaul Mundt
29151ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
29251ce3068SPhil Edworthy	bool "Support SH7264 processor"
29351ce3068SPhil Edworthy	select CPU_SH2A
29451ce3068SPhil Edworthy	select CPU_HAS_FPU
29551ce3068SPhil Edworthy	select SYS_SUPPORTS_CMT
29651ce3068SPhil Edworthy	select SYS_SUPPORTS_MTU2
2975946e7bbSLaurent Pinchart	select PINCTRL
29851ce3068SPhil Edworthy
2990b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
3000b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
3010b25b7c8SPhil Edworthy	select CPU_SH2A
3020b25b7c8SPhil Edworthy	select CPU_HAS_FPU
3030b25b7c8SPhil Edworthy	select SYS_SUPPORTS_CMT
3040b25b7c8SPhil Edworthy	select SYS_SUPPORTS_MTU2
305fb872fccSLaurent Pinchart	select PINCTRL
3060b25b7c8SPhil Edworthy
3072ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3082ad69908SPaul Mundt	bool "Support MX-G processor"
3092ad69908SPaul Mundt	select CPU_SH2A
310da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3112ad69908SPaul Mundt	help
3122ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3132ad69908SPaul Mundt
314ea0e1a9aSPaul Mundt# SH-3 Processor Support
315ea0e1a9aSPaul Mundt
316ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
317ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
318ea0e1a9aSPaul Mundt	select CPU_SH3
319ea0e1a9aSPaul Mundt
320ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
321ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
322ea0e1a9aSPaul Mundt	select CPU_SH3
323ea0e1a9aSPaul Mundt	help
324ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
325ea0e1a9aSPaul Mundt
326ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
327ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
328ea0e1a9aSPaul Mundt	select CPU_SH3
329ea0e1a9aSPaul Mundt	help
330ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
331ea0e1a9aSPaul Mundt
332ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
333ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
334ea0e1a9aSPaul Mundt	select CPU_SH3
335ea0e1a9aSPaul Mundt	help
336ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
337ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
338ea0e1a9aSPaul Mundt
339ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
340ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
341ea0e1a9aSPaul Mundt	select CPU_SH3
342ea0e1a9aSPaul Mundt	help
343ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
344ea0e1a9aSPaul Mundt
345ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
346ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
347ea0e1a9aSPaul Mundt	select CPU_SH3
348ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
349ea0e1a9aSPaul Mundt	help
350ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
351ea0e1a9aSPaul Mundt
352ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
353ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
354ea0e1a9aSPaul Mundt	select CPU_SH3
355ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
356ea0e1a9aSPaul Mundt	help
357ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
358ea0e1a9aSPaul Mundt
359ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
360ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
361ea0e1a9aSPaul Mundt	select CPU_SH3
362ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3632b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
364f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
365e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3667b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36785db6bffSLaurent Pinchart	select PINCTRL
368ea0e1a9aSPaul Mundt	help
369ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
370ea0e1a9aSPaul Mundt
37131a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
37231a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
37331a49c4bSYoshihiro Shimoda	select CPU_SH3
37431a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3752b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
376e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3777b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
37831a49c4bSYoshihiro Shimoda	help
37931a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
38031a49c4bSYoshihiro Shimoda
381ea0e1a9aSPaul Mundt# SH-4 Processor Support
382ea0e1a9aSPaul Mundt
383ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
384ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
385ea0e1a9aSPaul Mundt	select CPU_SH4
386ea0e1a9aSPaul Mundt	help
387ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
388ea0e1a9aSPaul Mundt
389ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
390ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
391ea0e1a9aSPaul Mundt	select CPU_SH4
392ea0e1a9aSPaul Mundt	help
393ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
394ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
395ea0e1a9aSPaul Mundt
396ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
397ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
398ea0e1a9aSPaul Mundt	select CPU_SH4
399ea0e1a9aSPaul Mundt
400ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
401ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
402ea0e1a9aSPaul Mundt	select CPU_SH4
403ea0e1a9aSPaul Mundt
404ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
405ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
406ea0e1a9aSPaul Mundt	select CPU_SH4
407ea0e1a9aSPaul Mundt	help
408ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
409ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
410ea0e1a9aSPaul Mundt
411ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
412ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
413ea0e1a9aSPaul Mundt	select CPU_SH4
414ea0e1a9aSPaul Mundt
415ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
416ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
417ea0e1a9aSPaul Mundt	select CPU_SH4
418ea0e1a9aSPaul Mundt
419ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
420ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
421ea0e1a9aSPaul Mundt	select CPU_SH4
422ea0e1a9aSPaul Mundt
423ea0e1a9aSPaul Mundt# SH-4A Processor Support
424ea0e1a9aSPaul Mundt
425178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
426178dd0cdSPaul Mundt	bool "Support SH7723 processor"
427178dd0cdSPaul Mundt	select CPU_SH4A
428178dd0cdSPaul Mundt	select CPU_SHX2
429dc65a977SPaul Mundt	select ARCH_SHMOBILE
430178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
431f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
432f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
43316941a89SLaurent Pinchart	select PINCTRL
434178dd0cdSPaul Mundt	help
435178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
436178dd0cdSPaul Mundt
4370207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4380207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4390207a2efSKuninori Morimoto	select CPU_SH4A
4400207a2efSKuninori Morimoto	select CPU_SHX2
44159fe700dSPaul Mundt	select ARCH_SHMOBILE
4420207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4430207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
444f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
44518ebd228SLaurent Pinchart	select PINCTRL
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
4562c172182SLaurent Pinchart	select PINCTRL
457fea88a0cSNobuhiro Iwamatsu	help
458fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
459fea88a0cSNobuhiro Iwamatsu
460c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
461c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
462c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
463c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
464f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4650fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4660fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
467eb61b772SLaurent Pinchart	select PINCTRL
468c01f0f1aSYoshihiro Shimoda	help
469c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
470c01f0f1aSYoshihiro Shimoda
4717d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4727d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4737d740a06SYoshihiro Shimoda	select CPU_SH4A
474e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4757b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4767d740a06SYoshihiro Shimoda	help
4777d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4787d740a06SYoshihiro Shimoda
479ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
480ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
481ea0e1a9aSPaul Mundt	select CPU_SH4A
482ea0e1a9aSPaul Mundt
483ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
484ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
485ea0e1a9aSPaul Mundt	select CPU_SH4A
486ea0e1a9aSPaul Mundt
487ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
488ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
489ea0e1a9aSPaul Mundt	select CPU_SH4A
490ea0e1a9aSPaul Mundt	select CPU_SHX2
491ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
492ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
493f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
49477bd27b2SLaurent Pinchart	select PINCTRL
495ea0e1a9aSPaul Mundt
49655ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
49755ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
49855ba99ebSKuninori Morimoto	select CPU_SH4A
49937042fbdSPaul Mundt	select CPU_SHX3
5008263a67eSPaul Mundt	select CPU_HAS_PTEAEX
5012eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
502f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
503e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
5047b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
505e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
5067b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
507c0fdbff9SLaurent Pinchart	select PINCTRL
50855ba99ebSKuninori Morimoto
509ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
510ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
511ea0e1a9aSPaul Mundt	select CPU_SH4A
512ea0e1a9aSPaul Mundt	select CPU_SHX3
5135840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
514742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
5153e347f08SLaurent Pinchart	select PINCTRL
516ea0e1a9aSPaul Mundt
517ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
518ea0e1a9aSPaul Mundt
519ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
520ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
521ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
522dc65a977SPaul Mundt	select ARCH_SHMOBILE
523f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
524ea0e1a9aSPaul Mundt
525ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
526ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
527ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
528ea0e1a9aSPaul Mundt	select CPU_SHX2
529dc65a977SPaul Mundt	select ARCH_SHMOBILE
530ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
531ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
532f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
533f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
534ef97c3c1SLaurent Pinchart	select PINCTRL
535ea0e1a9aSPaul Mundt
5369109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5379109a30eSMagnus Damm	bool "Support SH7366 processor"
5389109a30eSMagnus Damm	select CPU_SH4AL_DSP
5399109a30eSMagnus Damm	select CPU_SHX2
540dc65a977SPaul Mundt	select ARCH_SHMOBILE
5419109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5429109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
543f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5449109a30eSMagnus Damm
5453cc000b5SPaul Mundtendchoice
5463cc000b5SPaul Mundt
5473cc000b5SPaul Mundtendif
5483cc000b5SPaul Mundt
5493cc000b5SPaul Mundtif SUPERH64
5503cc000b5SPaul Mundt
5513cc000b5SPaul Mundtchoice
5523cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5533cc000b5SPaul Mundt
554ea0e1a9aSPaul Mundt# SH-5 Processor Support
555ea0e1a9aSPaul Mundt
556ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
557ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
558ea0e1a9aSPaul Mundt	select CPU_SH5
559ea0e1a9aSPaul Mundt
560ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
561ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5628ef97dd7SPaul Mundt	select CPU_SH5
563ea0e1a9aSPaul Mundt
564ea0e1a9aSPaul Mundtendchoice
565ea0e1a9aSPaul Mundt
5663cc000b5SPaul Mundtendif
5673cc000b5SPaul Mundt
568ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
569939a24a6SPaul Mundt
570ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
571ea0e1a9aSPaul Mundt
572939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
573ea0e1a9aSPaul Mundt
574ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
575ea0e1a9aSPaul Mundt
5769570ef20SMagnus Dammconfig SH_TIMER_TMU
5779570ef20SMagnus Damm	bool "TMU timer driver"
578f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5799570ef20SMagnus Damm	default y
5809570ef20SMagnus Damm	help
5819570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5829570ef20SMagnus Damm
583f5ad881bSPaul Mundtconfig SH_TIMER_CMT
584f425752fSMagnus Damm	bool "CMT timer driver"
585f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
586f425752fSMagnus Damm	default y
587f425752fSMagnus Damm	help
588f425752fSMagnus Damm	  This enables build of the CMT timer driver.
589f5ad881bSPaul Mundt
590d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
591d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5923280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
593d5ed4c2eSMagnus Damm	default y
594d5ed4c2eSMagnus Damm	help
595d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
596d5ed4c2eSMagnus Damm
597ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
598ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5998152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
600ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
6018152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
6028152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
6038152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
6048152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
6058152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
6068152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
60743a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
608ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
609ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
610ea0e1a9aSPaul Mundt	default "50000000"
611ea0e1a9aSPaul Mundt	help
612ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
613ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
614ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
615ea0e1a9aSPaul Mundt
61636aa1e32SPaul Mundtconfig SH_CLK_CPG
61736aa1e32SPaul Mundt	def_bool y
61836aa1e32SPaul Mundt
619253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
62036aa1e32SPaul Mundt	depends on SH_CLK_CPG
62143a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
62251ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
623bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
624bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
625253b0887SPaul Mundt
626ea0e1a9aSPaul Mundtendmenu
627ea0e1a9aSPaul Mundt
628ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
629ea0e1a9aSPaul Mundt
630ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
631ea0e1a9aSPaul Mundt
632ea0e1a9aSPaul Mundtconfig SH_CPU_FREQ
633ea0e1a9aSPaul Mundt	tristate "SuperH CPU Frequency driver"
634ea0e1a9aSPaul Mundt	depends on CPU_FREQ
635ea0e1a9aSPaul Mundt	select CPU_FREQ_TABLE
636ea0e1a9aSPaul Mundt	help
6378a655053SPaul Mundt	  This adds the cpufreq driver for SuperH. Any CPU that supports
6388a655053SPaul Mundt	  clock rate rounding through the clock framework can use this
6398a655053SPaul Mundt	  driver. While it will make the kernel slightly larger, this is
6408a655053SPaul Mundt	  harmless for CPUs that don't support rate rounding. The driver
6418a655053SPaul Mundt	  will also generate a notice in the boot log before disabling
6428a655053SPaul Mundt	  itself if the CPU in question is not capable of rate rounding.
643ea0e1a9aSPaul Mundt
644ea0e1a9aSPaul Mundt	  For details, take a look at <file:Documentation/cpu-freq>.
645ea0e1a9aSPaul Mundt
646ea0e1a9aSPaul Mundt	  If unsure, say N.
647ea0e1a9aSPaul Mundt
648ea0e1a9aSPaul Mundtendmenu
649ea0e1a9aSPaul Mundt
650ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
651ea0e1a9aSPaul Mundt
652ea0e1a9aSPaul Mundtendmenu
653ea0e1a9aSPaul Mundt
654ea0e1a9aSPaul Mundtmenu "Kernel features"
655ea0e1a9aSPaul Mundt
656ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
657ea0e1a9aSPaul Mundt
658ea0e1a9aSPaul Mundtconfig KEXEC
659ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
6600d57af1eSKees Cook	depends on SUPERH32 && MMU
661ea0e1a9aSPaul Mundt	help
662ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
663ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
664ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
665ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
666ea0e1a9aSPaul Mundt
667ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
668ea0e1a9aSPaul Mundt
669ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
670ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
671ea0e1a9aSPaul Mundt	  initially work for you.  It may help to enable device hotplugging
672ea0e1a9aSPaul Mundt	  support.  As of this writing the exact hardware interface is
673ea0e1a9aSPaul Mundt	  strongly in flux, so no good recommendation can be made.
674ea0e1a9aSPaul Mundt
675ea0e1a9aSPaul Mundtconfig CRASH_DUMP
676ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
6770d57af1eSKees Cook	depends on SUPERH32 && BROKEN_ON_SMP
678ea0e1a9aSPaul Mundt	help
679ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
680ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
681ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
682ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
683ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
684ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
685e66ac3f2SSimon Horman	  PHYSICAL_START.
686ea0e1a9aSPaul Mundt
687ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
688ea0e1a9aSPaul Mundt
689b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
690b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
6910d57af1eSKees Cook	depends on SUPERH32 && KEXEC && HIBERNATION
692b7cf6ddcSMagnus Damm	help
693b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
694b7cf6ddcSMagnus Damm	  code via KEXEC
695b7cf6ddcSMagnus Damm
696e66ac3f2SSimon Hormanconfig PHYSICAL_START
697e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
698e66ac3f2SSimon Horman	default MEMORY_START
699e66ac3f2SSimon Horman	---help---
700e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
701e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
702e66ac3f2SSimon Horman
703e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
704e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
705e66ac3f2SSimon Horman	  than the panic-ed kernel.
706e66ac3f2SSimon Horman
707c4637d47SPaul Mundtconfig SECCOMP
708c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
709c4637d47SPaul Mundt	depends on PROC_FS
710c4637d47SPaul Mundt	help
711c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
712c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
713c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
714c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
715c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
716c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
717c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
718c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
719c4637d47SPaul Mundt	  mode.
720c4637d47SPaul Mundt
721c4637d47SPaul Mundt	  If unsure, say N.
722c4637d47SPaul Mundt
7235d920bb9SFilippo Arcidiaconoconfig CC_STACKPROTECTOR
7245d920bb9SFilippo Arcidiacono	bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
7250d57af1eSKees Cook	depends on SUPERH32
7265d920bb9SFilippo Arcidiacono	help
7275d920bb9SFilippo Arcidiacono	  This option turns on the -fstack-protector GCC feature. This
7285d920bb9SFilippo Arcidiacono	  feature puts, at the beginning of functions, a canary value on
7295d920bb9SFilippo Arcidiacono	  the stack just before the return address, and validates
7305d920bb9SFilippo Arcidiacono	  the value just before actually returning.  Stack based buffer
7315d920bb9SFilippo Arcidiacono	  overflows (that need to overwrite this return address) now also
7325d920bb9SFilippo Arcidiacono	  overwrite the canary, which gets detected and the attack is then
7335d920bb9SFilippo Arcidiacono	  neutralized via a kernel panic.
7345d920bb9SFilippo Arcidiacono
7355d920bb9SFilippo Arcidiacono	  This feature requires gcc version 4.2 or above.
7365d920bb9SFilippo Arcidiacono
737ea0e1a9aSPaul Mundtconfig SMP
738ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
739ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
740490f5de5SJens Axboe	select USE_GENERIC_SMP_HELPERS
741ea0e1a9aSPaul Mundt	---help---
742ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
743ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
744ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
745ea0e1a9aSPaul Mundt
746ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
747ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
748ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
749ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
750ea0e1a9aSPaul Mundt	  will run faster if you say N here.
751ea0e1a9aSPaul Mundt
752ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
753ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
754ea0e1a9aSPaul Mundt
75503502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
75603502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
757ea0e1a9aSPaul Mundt
758ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
759ea0e1a9aSPaul Mundt
760ea0e1a9aSPaul Mundtconfig NR_CPUS
761ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
762ea0e1a9aSPaul Mundt	range 2 32
763ea0e1a9aSPaul Mundt	depends on SMP
7642eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
765ea0e1a9aSPaul Mundt	default "2"
766ea0e1a9aSPaul Mundt	help
767ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
768ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
769ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
770ea0e1a9aSPaul Mundt
771ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
772ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
773ea0e1a9aSPaul Mundt
774763142d1SPaul Mundtconfig HOTPLUG_CPU
775763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
7760d57af1eSKees Cook	depends on SMP && HOTPLUG
777763142d1SPaul Mundt	help
778763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
779763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
780763142d1SPaul Mundt
781ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
782ea0e1a9aSPaul Mundt
783ea0e1a9aSPaul Mundtconfig GUSA
784ea0e1a9aSPaul Mundt	def_bool y
7851efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
786ea0e1a9aSPaul Mundt	help
787ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
788ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
789ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
790ea0e1a9aSPaul Mundt
791ea0e1a9aSPaul Mundt	  For additional information, design information can be found
792ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
793ea0e1a9aSPaul Mundt
794ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
795ea0e1a9aSPaul Mundt	  atomicity implementations exist.
796ea0e1a9aSPaul Mundt
7971efe4ce3SStuart Menefyconfig GUSA_RB
7981efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7991efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
8001efe4ce3SStuart Menefy	help
8011efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
802692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
8031efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
8041efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
805692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
8061efe4ce3SStuart Menefy
80786c8c047SMatt Flemingconfig HW_PERF_EVENTS
80886c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
80986c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
81086c8c047SMatt Fleming	default y
81186c8c047SMatt Fleming	help
81286c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
81386c8c047SMatt Fleming	  disabled, perf events will use software events only.
81486c8c047SMatt Fleming
81543b8774dSPaul Mundtsource "drivers/sh/Kconfig"
81643b8774dSPaul Mundt
817ea0e1a9aSPaul Mundtendmenu
818ea0e1a9aSPaul Mundt
819ea0e1a9aSPaul Mundtmenu "Boot options"
820ea0e1a9aSPaul Mundt
821ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
822b412a49aSPaul Mundt	hex
823b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
824b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
825b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
826ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
827ea0e1a9aSPaul Mundt	default "0x00001000"
828ea0e1a9aSPaul Mundt	help
829ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
830ea0e1a9aSPaul Mundt
831ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
832b412a49aSPaul Mundt	hex
833b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
834a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
835b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
836b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
837b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
838b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
839ea0e1a9aSPaul Mundt	default "0x00800000"
840ea0e1a9aSPaul Mundt	help
841ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
842ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
843ea0e1a9aSPaul Mundt	  memory.
844ea0e1a9aSPaul Mundt
845b412a49aSPaul Mundtconfig ENTRY_OFFSET
846b412a49aSPaul Mundt	hex
847b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
848b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
849b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
850b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
851b412a49aSPaul Mundt	default "0x00000000"
852b412a49aSPaul Mundt
8534705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8544705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8550d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
8564705b2e8SMagnus Damm	help
8574705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8584705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8594705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8604705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8614705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8624705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8634705b2e8SMagnus Damm
864d724a9c9SPawel Mollchoice
865d724a9c9SPawel Moll	prompt "Kernel command line"
866d724a9c9SPawel Moll	optional
867d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
868d724a9c9SPawel Moll	help
869d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
870d724a9c9SPawel Moll	  to be set.
871d724a9c9SPawel Moll
872d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
873d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
874d724a9c9SPawel Moll	help
875d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
876d724a9c9SPawel Moll	  a bootloader.
877d724a9c9SPawel Moll
878d724a9c9SPawel Mollconfig CMDLINE_EXTEND
879d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
880d724a9c9SPawel Moll	help
881d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
882d724a9c9SPawel Moll	  by a bootloader.
883d724a9c9SPawel Moll
884d724a9c9SPawel Mollendchoice
885ea0e1a9aSPaul Mundt
886ea0e1a9aSPaul Mundtconfig CMDLINE
887d724a9c9SPawel Moll	string "Kernel command line arguments string"
888d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
889ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
890ea0e1a9aSPaul Mundt
891ea0e1a9aSPaul Mundtendmenu
892ea0e1a9aSPaul Mundt
893ea0e1a9aSPaul Mundtmenu "Bus options"
894ea0e1a9aSPaul Mundt
895ea0e1a9aSPaul Mundtconfig SUPERHYWAY
896ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
897ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
898ea0e1a9aSPaul Mundt
899ea0e1a9aSPaul Mundtconfig MAPLE
900ea0e1a9aSPaul Mundt	bool "Maple Bus support"
901ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
902ea0e1a9aSPaul Mundt	help
903ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
904ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
905ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
906ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
907ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
908ea0e1a9aSPaul Mundt	 connection.
909ea0e1a9aSPaul Mundt
9107693465dSPaul Mundtconfig PCI
9117693465dSPaul Mundt	bool "PCI support"
9127693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
913320e68daSPaul Mundt	select PCI_DOMAINS
91443db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
9151e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
9167693465dSPaul Mundt	help
9177693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
9187693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
9197693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
920ea0e1a9aSPaul Mundt
921320e68daSPaul Mundtconfig PCI_DOMAINS
922320e68daSPaul Mundt	bool
923320e68daSPaul Mundt
924e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
925e16038abSPaul Mundt
926ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
927ea0e1a9aSPaul Mundt
928ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
929ea0e1a9aSPaul Mundt
930ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
931ea0e1a9aSPaul Mundt
932ea0e1a9aSPaul Mundtendmenu
933ea0e1a9aSPaul Mundt
934ea0e1a9aSPaul Mundtmenu "Executable file formats"
935ea0e1a9aSPaul Mundt
936ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
937ea0e1a9aSPaul Mundt
938ea0e1a9aSPaul Mundtendmenu
939ea0e1a9aSPaul Mundt
940ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
941f4cb5700SJohannes Berg
942c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
943c6f17cb2SMagnus Damm
944c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
945ea0e1a9aSPaul Mundt
946ea0e1a9aSPaul Mundtendmenu
947ea0e1a9aSPaul Mundt
948ea0e1a9aSPaul Mundtsource "net/Kconfig"
949ea0e1a9aSPaul Mundt
950ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
951ea0e1a9aSPaul Mundt
952ea0e1a9aSPaul Mundtsource "fs/Kconfig"
953ea0e1a9aSPaul Mundt
954ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
955ea0e1a9aSPaul Mundt
956ea0e1a9aSPaul Mundtsource "security/Kconfig"
957ea0e1a9aSPaul Mundt
958ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
959ea0e1a9aSPaul Mundt
960ea0e1a9aSPaul Mundtsource "lib/Kconfig"
961