xref: /openbmc/linux/arch/sh/Kconfig (revision 8636a1f9)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2ea0e1a9aSPaul Mundtconfig SUPERH
3ea0e1a9aSPaul Mundt	def_bool y
43010a5eaSLaurent Dufour	select ARCH_HAS_PTE_SPECIAL
545624ac3SRich Felker	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
609d8dd93SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
707c75d7aSVladimir Murzin	select ARCH_NO_COHERENT_DMA_MMAP if !MMU
8560b8c0eSRob Landley	select HAVE_PATA_PLATFORM
96d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
10bc3ec75dSChristoph Hellwig	select DMA_DIRECT_OPS
11ce816fa8SUwe Kleine-König	select HAVE_IDE if HAS_IOPORT_MAP
12534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
13adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
1442d4b839SMathieu Desnoyers	select HAVE_OPROFILE
159de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
16d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
17cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
189b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
197563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
20df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
21957e3facSRiku Voipio	select ARCH_HAS_GCOV_PROFILE_ALL
2272f0c137SPaul Mundt	select PERF_USE_VMALLOC
23b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
24df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
25fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS
2607e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2707e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2850cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
29c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
30af1839ebSCatalin Marinas	select HAVE_UID16
31c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
32a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
33eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
342ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
35ed170924SPaul Mundt	select IRQ_FORCED_THREADING
366eac1af0SPaul Mundt	select RTC_LIB
37f01789c6SPaul Mundt	select GENERIC_ATOMIC64
383d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
39ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
40dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
418cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
428cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
43b46ed370SRich Felker	select GENERIC_SCHED_CLOCK
440e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
45cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
46786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
47786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
48881e252dSAl Viro	select OLD_SIGSUSPEND
490679a858SAl Viro	select OLD_SIGACTION
507a017721SAKASHI Takahiro	select HAVE_ARCH_AUDITSYSCALL
5172cc564fSRich Felker	select HAVE_FUTEX_CMPXCHG if FUTEX
5242a0bb3fSPetr Mladek	select HAVE_NMI
5386596f0aSChristoph Hellwig	select NEED_SG_DMA_LENGTH
5486596f0aSChristoph Hellwig
55ea0e1a9aSPaul Mundt	help
56ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
57ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
58ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
59ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
60ea0e1a9aSPaul Mundt
61ea0e1a9aSPaul Mundtconfig SUPERH32
62104daea1SMasahiro Yamada	def_bool "$(ARCH)" = "sh"
63d39f5450SChris Smith	select HAVE_KPROBES
64d39f5450SChris Smith	select HAVE_KRETPROBES
656d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
66694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
67fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
68fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
69e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
70c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
71327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
72ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
736fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
740102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
75e583d6b3SSam Ravnborg	select PERF_EVENTS
768dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
7757b81330SPaul Mundt	select SPARSE_IRQ
78d148eac0SMasahiro Yamada	select HAVE_STACKPROTECTOR
79ea0e1a9aSPaul Mundt
80ea0e1a9aSPaul Mundtconfig SUPERH64
81104daea1SMasahiro Yamada	def_bool "$(ARCH)" = "sh64"
825f56a5dfSJiri Slaby	select HAVE_EXIT_THREAD
833a898c0fSPaul Mundt	select KALLSYMS
84ea0e1a9aSPaul Mundt
85f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
86f42b7e3dSPaul Mundt	string
87f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
88f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
89f42b7e3dSPaul Mundt
90ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
91d7ef4fb3SHarvey Harrison	def_bool y
92ea0e1a9aSPaul Mundt
93ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
94ea0e1a9aSPaul Mundt	bool
95ea0e1a9aSPaul Mundt
96ea0e1a9aSPaul Mundtconfig GENERIC_BUG
97ea0e1a9aSPaul Mundt	def_bool y
98a82d53ecSPaul Mundt	depends on BUG && SUPERH32
99ea0e1a9aSPaul Mundt
1003767f3f1SPaul Mundtconfig GENERIC_CSUM
1013767f3f1SPaul Mundt	def_bool y
1023767f3f1SPaul Mundt	depends on SUPERH64
1033767f3f1SPaul Mundt
104ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
105d7ef4fb3SHarvey Harrison	def_bool y
106ea0e1a9aSPaul Mundt
107ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
108cf204fa7SPaul Mundt	bool
109ea0e1a9aSPaul Mundt
110bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
111bdcab87bSPaul Mundt	def_bool y
112bdcab87bSPaul Mundt	depends on SMP && PREEMPT
113bdcab87bSPaul Mundt
114af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
115af998a9aSMagnus Damm	def_bool n
116af998a9aSMagnus Damm
117af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
118af998a9aSMagnus Damm	def_bool n
119ea0e1a9aSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
121ea0e1a9aSPaul Mundt	bool
122af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
123ea0e1a9aSPaul Mundt
124ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
125ffb4a73dSPaul Mundt	bool
126ffb4a73dSPaul Mundt
127ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
128ea0e1a9aSPaul Mundt	bool
129ea0e1a9aSPaul Mundt
130ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
131ea0e1a9aSPaul Mundt	bool
132ea0e1a9aSPaul Mundt
133ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
134ea0e1a9aSPaul Mundt	bool
135ea0e1a9aSPaul Mundt
136ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
137d7ef4fb3SHarvey Harrison	def_bool y
138ea0e1a9aSPaul Mundt
139ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
140d7ef4fb3SHarvey Harrison	def_bool y
141ea0e1a9aSPaul Mundt
142ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
143d7ef4fb3SHarvey Harrison	def_bool n
144ea0e1a9aSPaul Mundt
145ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
146d7ef4fb3SHarvey Harrison	def_bool n
147ea0e1a9aSPaul Mundt
148ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
14937b7a978SPaul Mundt	def_bool !PCI
150c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
151c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
15286e4dd5aSPaul Mundt
153e7cc9a73SMagnus Dammconfig IO_TRAPPED
154e7cc9a73SMagnus Damm	bool
155e7cc9a73SMagnus Damm
156b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
157b7e68d68SPaul Mundt	bool
158b7e68d68SPaul Mundt
15901be5d63SPaul Mundtconfig DMA_COHERENT
16001be5d63SPaul Mundt	bool
16101be5d63SPaul Mundt
16201be5d63SPaul Mundtconfig DMA_NONCOHERENT
16301be5d63SPaul Mundt	def_bool !DMA_COHERENT
1646fa1d28eSChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
16501be5d63SPaul Mundt
16669543d63SKirill A. Shutemovconfig PGTABLE_LEVELS
16769543d63SKirill A. Shutemov	default 3 if X2TLB
16869543d63SKirill A. Shutemov	default 2
16969543d63SKirill A. Shutemov
170ea0e1a9aSPaul Mundtmenu "System type"
171ea0e1a9aSPaul Mundt
172ea0e1a9aSPaul Mundt#
173ea0e1a9aSPaul Mundt# Processor families
174ea0e1a9aSPaul Mundt#
175ea0e1a9aSPaul Mundtconfig CPU_SH2
176ea0e1a9aSPaul Mundt	bool
177049d2804SGeert Uytterhoeven	select SH_INTC
178ea0e1a9aSPaul Mundt
179ea0e1a9aSPaul Mundtconfig CPU_SH2A
180ea0e1a9aSPaul Mundt	bool
181ea0e1a9aSPaul Mundt	select CPU_SH2
182e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
183ea0e1a9aSPaul Mundt
1845a846abaSRich Felkerconfig CPU_J2
1855a846abaSRich Felker	bool
1865a846abaSRich Felker	select CPU_SH2
1875a846abaSRich Felker	select OF
1885a846abaSRich Felker	select OF_EARLY_FLATTREE
1895a846abaSRich Felker
190ea0e1a9aSPaul Mundtconfig CPU_SH3
191ea0e1a9aSPaul Mundt	bool
192ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
193ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
194049d2804SGeert Uytterhoeven	select SH_INTC
195fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
196ea0e1a9aSPaul Mundt
197ea0e1a9aSPaul Mundtconfig CPU_SH4
198ea0e1a9aSPaul Mundt	bool
199ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
200ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
201ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
202049d2804SGeert Uytterhoeven	select SH_INTC
203fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
204ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
205ea0e1a9aSPaul Mundt
206ea0e1a9aSPaul Mundtconfig CPU_SH4A
207ea0e1a9aSPaul Mundt	bool
208ea0e1a9aSPaul Mundt	select CPU_SH4
209ea0e1a9aSPaul Mundt
210ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
211ea0e1a9aSPaul Mundt	bool
212ea0e1a9aSPaul Mundt	select CPU_SH4A
213ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH5
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
218fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
219ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
220ea0e1a9aSPaul Mundt
221ea0e1a9aSPaul Mundtconfig CPU_SHX2
222ea0e1a9aSPaul Mundt	bool
223ea0e1a9aSPaul Mundt
224ea0e1a9aSPaul Mundtconfig CPU_SHX3
225ea0e1a9aSPaul Mundt	bool
22601be5d63SPaul Mundt	select DMA_COHERENT
2274b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2284b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
229ea0e1a9aSPaul Mundt
230dc65a977SPaul Mundtconfig ARCH_SHMOBILE
231dc65a977SPaul Mundt	bool
23277594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
233464ed18eSRafael J. Wysocki	select PM
234dc65a977SPaul Mundt
23586c8c047SMatt Flemingconfig CPU_HAS_PMU
23686c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
23786c8c047SMatt Fleming       default y
23886c8c047SMatt Fleming       bool
23986c8c047SMatt Fleming
2403cc000b5SPaul Mundtif SUPERH32
2413cc000b5SPaul Mundt
242ea0e1a9aSPaul Mundtchoice
243ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
244ea0e1a9aSPaul Mundt
245ea0e1a9aSPaul Mundt#
246ea0e1a9aSPaul Mundt# Processor subtypes
247ea0e1a9aSPaul Mundt#
248ea0e1a9aSPaul Mundt
249ea0e1a9aSPaul Mundt# SH-2 Processor Support
250ea0e1a9aSPaul Mundt
251ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
252ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
253ea0e1a9aSPaul Mundt	select CPU_SH2
254fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
255ea0e1a9aSPaul Mundt
2565a846abaSRich Felkerconfig CPU_SUBTYPE_J2
2575a846abaSRich Felker	bool "Support J2 processor"
2585a846abaSRich Felker	select CPU_J2
259b4214e41SRich Felker	select SYS_SUPPORTS_SMP
260b4214e41SRich Felker	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2615a846abaSRich Felker
262ea0e1a9aSPaul Mundt# SH-2A Processor Support
263ea0e1a9aSPaul Mundt
2642825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2652825999eSPeter Griffin	bool "Support SH7201 processor"
2662825999eSPeter Griffin	select CPU_SH2A
2672825999eSPeter Griffin	select CPU_HAS_FPU
268fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2692825999eSPeter Griffin
2706d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2716d01f510SPaul Mundt	bool "Support SH7203 processor"
2726d01f510SPaul Mundt	select CPU_SH2A
27374d99a5eSPaul Mundt	select CPU_HAS_FPU
274fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
275fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
276b768ecbcSLaurent Pinchart	select PINCTRL
2776d01f510SPaul Mundt
278ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
279ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
280ea0e1a9aSPaul Mundt	select CPU_SH2A
281fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
282fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_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
288fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
289fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_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
295fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
296fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_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
303fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
304fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
305fb872fccSLaurent Pinchart	select PINCTRL
3060b25b7c8SPhil Edworthy
3072ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3082ad69908SPaul Mundt	bool "Support MX-G processor"
3092ad69908SPaul Mundt	select CPU_SH2A
310fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_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
363fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3647b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36585db6bffSLaurent Pinchart	select PINCTRL
366ea0e1a9aSPaul Mundt	help
367ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
368ea0e1a9aSPaul Mundt
36931a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
37031a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
37131a49c4bSYoshihiro Shimoda	select CPU_SH3
37231a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
373fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3747b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
37531a49c4bSYoshihiro Shimoda	help
37631a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
37731a49c4bSYoshihiro Shimoda
378ea0e1a9aSPaul Mundt# SH-4 Processor Support
379ea0e1a9aSPaul Mundt
380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
381ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
382ea0e1a9aSPaul Mundt	select CPU_SH4
383ea0e1a9aSPaul Mundt	help
384ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
385ea0e1a9aSPaul Mundt
386ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
387ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
388ea0e1a9aSPaul Mundt	select CPU_SH4
389ea0e1a9aSPaul Mundt	help
390ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
391ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
392ea0e1a9aSPaul Mundt
393ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
394ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
395ea0e1a9aSPaul Mundt	select CPU_SH4
396ea0e1a9aSPaul Mundt
397ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
398ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
399ea0e1a9aSPaul Mundt	select CPU_SH4
400ea0e1a9aSPaul Mundt
401ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
402ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
403ea0e1a9aSPaul Mundt	select CPU_SH4
404ea0e1a9aSPaul Mundt	help
405ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
406ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
407ea0e1a9aSPaul Mundt
408ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
409ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
410ea0e1a9aSPaul Mundt	select CPU_SH4
411ea0e1a9aSPaul Mundt
412ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
413ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
414ea0e1a9aSPaul Mundt	select CPU_SH4
415ea0e1a9aSPaul Mundt
416ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
417ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
418ea0e1a9aSPaul Mundt	select CPU_SH4
419ea0e1a9aSPaul Mundt
420ea0e1a9aSPaul Mundt# SH-4A Processor Support
421ea0e1a9aSPaul Mundt
422178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
423178dd0cdSPaul Mundt	bool "Support SH7723 processor"
424178dd0cdSPaul Mundt	select CPU_SH4A
425178dd0cdSPaul Mundt	select CPU_SHX2
426dc65a977SPaul Mundt	select ARCH_SHMOBILE
427178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
428fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
42916941a89SLaurent Pinchart	select PINCTRL
430178dd0cdSPaul Mundt	help
431178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
432178dd0cdSPaul Mundt
4330207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4340207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4350207a2efSKuninori Morimoto	select CPU_SH4A
4360207a2efSKuninori Morimoto	select CPU_SHX2
43759fe700dSPaul Mundt	select ARCH_SHMOBILE
4380207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
439fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
44018ebd228SLaurent Pinchart	select PINCTRL
4410207a2efSKuninori Morimoto	help
4420207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4430207a2efSKuninori Morimoto
444fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
445fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
446fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
447fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
4482c172182SLaurent Pinchart	select PINCTRL
449fea88a0cSNobuhiro Iwamatsu	help
450fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
451fea88a0cSNobuhiro Iwamatsu
452c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
453c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
454c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
455c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
456eb61b772SLaurent Pinchart	select PINCTRL
457c01f0f1aSYoshihiro Shimoda	help
458c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
459c01f0f1aSYoshihiro Shimoda
4607d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4617d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4627d740a06SYoshihiro Shimoda	select CPU_SH4A
4637b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4647d740a06SYoshihiro Shimoda	help
4657d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4667d740a06SYoshihiro Shimoda
467ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
468ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
469ea0e1a9aSPaul Mundt	select CPU_SH4A
470ea0e1a9aSPaul Mundt
471ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
472ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
473ea0e1a9aSPaul Mundt	select CPU_SH4A
474ea0e1a9aSPaul Mundt
475ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
476ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
477ea0e1a9aSPaul Mundt	select CPU_SH4A
478ea0e1a9aSPaul Mundt	select CPU_SHX2
479ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
480ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
48177bd27b2SLaurent Pinchart	select PINCTRL
482ea0e1a9aSPaul Mundt
48355ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
48455ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
48555ba99ebSKuninori Morimoto	select CPU_SH4A
48637042fbdSPaul Mundt	select CPU_SHX3
4878263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4882eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4897b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4907b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
491c0fdbff9SLaurent Pinchart	select PINCTRL
49255ba99ebSKuninori Morimoto
493ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
494ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
495ea0e1a9aSPaul Mundt	select CPU_SH4A
496ea0e1a9aSPaul Mundt	select CPU_SHX3
4975840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
498fdcfdfa1SLinus Walleij	select GPIOLIB
4993e347f08SLaurent Pinchart	select PINCTRL
500ea0e1a9aSPaul Mundt
501ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
502ea0e1a9aSPaul Mundt
503ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
504ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
505ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
506dc65a977SPaul Mundt	select ARCH_SHMOBILE
507fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
508ea0e1a9aSPaul Mundt
509ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
510ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
511ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
512ea0e1a9aSPaul Mundt	select CPU_SHX2
513dc65a977SPaul Mundt	select ARCH_SHMOBILE
514ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
515ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
516fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
517ef97c3c1SLaurent Pinchart	select PINCTRL
518ea0e1a9aSPaul Mundt
5199109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5209109a30eSMagnus Damm	bool "Support SH7366 processor"
5219109a30eSMagnus Damm	select CPU_SH4AL_DSP
5229109a30eSMagnus Damm	select CPU_SHX2
523dc65a977SPaul Mundt	select ARCH_SHMOBILE
5249109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5259109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
526fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
5279109a30eSMagnus Damm
5283cc000b5SPaul Mundtendchoice
5293cc000b5SPaul Mundt
5303cc000b5SPaul Mundtendif
5313cc000b5SPaul Mundt
5323cc000b5SPaul Mundtif SUPERH64
5333cc000b5SPaul Mundt
5343cc000b5SPaul Mundtchoice
5353cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5363cc000b5SPaul Mundt
537ea0e1a9aSPaul Mundt# SH-5 Processor Support
538ea0e1a9aSPaul Mundt
539ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
540ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
541ea0e1a9aSPaul Mundt	select CPU_SH5
542ea0e1a9aSPaul Mundt
543ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
544ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5458ef97dd7SPaul Mundt	select CPU_SH5
546ea0e1a9aSPaul Mundt
547ea0e1a9aSPaul Mundtendchoice
548ea0e1a9aSPaul Mundt
5493cc000b5SPaul Mundtendif
5503cc000b5SPaul Mundt
551ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
552939a24a6SPaul Mundt
553ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
554ea0e1a9aSPaul Mundt
555939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
556ea0e1a9aSPaul Mundt
557ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
558ea0e1a9aSPaul Mundt
559ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
560ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5618152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
562ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5638152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5648152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5658152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5668152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5678152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5688152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
56943a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
570ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
571ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
572ea0e1a9aSPaul Mundt	default "50000000"
573ea0e1a9aSPaul Mundt	help
574ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
575ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
576ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
577ea0e1a9aSPaul Mundt
57836aa1e32SPaul Mundtconfig SH_CLK_CPG
57936aa1e32SPaul Mundt	def_bool y
58036aa1e32SPaul Mundt
581253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58236aa1e32SPaul Mundt	depends on SH_CLK_CPG
58343a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
58451ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
585bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
586bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
587253b0887SPaul Mundt
588ea0e1a9aSPaul Mundtendmenu
589ea0e1a9aSPaul Mundt
590ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
591ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
592ea0e1a9aSPaul Mundtendmenu
593ea0e1a9aSPaul Mundt
594ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
595ea0e1a9aSPaul Mundt
596ea0e1a9aSPaul Mundtendmenu
597ea0e1a9aSPaul Mundt
598ea0e1a9aSPaul Mundtmenu "Kernel features"
599ea0e1a9aSPaul Mundt
6008636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz"
601ea0e1a9aSPaul Mundt
602ea0e1a9aSPaul Mundtconfig KEXEC
603ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
6040d57af1eSKees Cook	depends on SUPERH32 && MMU
6052965faa5SDave Young	select KEXEC_CORE
606ea0e1a9aSPaul Mundt	help
607ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
608ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
609ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
610ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
611ea0e1a9aSPaul Mundt
612ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
613ea0e1a9aSPaul Mundt
614ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
615ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
616bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
617bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
618bf220695SGeert Uytterhoeven	  made.
619ea0e1a9aSPaul Mundt
620ea0e1a9aSPaul Mundtconfig CRASH_DUMP
621ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
6220d57af1eSKees Cook	depends on SUPERH32 && BROKEN_ON_SMP
623ea0e1a9aSPaul Mundt	help
624ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
625ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
626ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
627ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
628ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
629ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
630e66ac3f2SSimon Horman	  PHYSICAL_START.
631ea0e1a9aSPaul Mundt
632ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
633ea0e1a9aSPaul Mundt
634b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
635b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
6360d57af1eSKees Cook	depends on SUPERH32 && KEXEC && HIBERNATION
637b7cf6ddcSMagnus Damm	help
638b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
639b7cf6ddcSMagnus Damm	  code via KEXEC
640b7cf6ddcSMagnus Damm
641e66ac3f2SSimon Hormanconfig PHYSICAL_START
642e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
643e66ac3f2SSimon Horman	default MEMORY_START
644e66ac3f2SSimon Horman	---help---
645e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
646e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
647e66ac3f2SSimon Horman
648e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
649e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
650e66ac3f2SSimon Horman	  than the panic-ed kernel.
651e66ac3f2SSimon Horman
652c4637d47SPaul Mundtconfig SECCOMP
653c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
654c4637d47SPaul Mundt	depends on PROC_FS
655c4637d47SPaul Mundt	help
656c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
657c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
658c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
659c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
660c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
661c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
662c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
663c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
664c4637d47SPaul Mundt	  mode.
665c4637d47SPaul Mundt
666c4637d47SPaul Mundt	  If unsure, say N.
667c4637d47SPaul Mundt
668ea0e1a9aSPaul Mundtconfig SMP
669ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
670ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
671ea0e1a9aSPaul Mundt	---help---
672ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
6734a474157SRobert Graffham	  a system with only one CPU, say N. If you have a system with more
6744a474157SRobert Graffham	  than one CPU, say Y.
675ea0e1a9aSPaul Mundt
6764a474157SRobert Graffham	  If you say N here, the kernel will run on uni- and multiprocessor
677ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
678ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
6794a474157SRobert Graffham	  uniprocessor machines. On a uniprocessor machine, the kernel
680ea0e1a9aSPaul Mundt	  will run faster if you say N here.
681ea0e1a9aSPaul Mundt
682ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
683ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
684ea0e1a9aSPaul Mundt
685ecf38679SMauro Carvalho Chehab	  See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
68603502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
687ea0e1a9aSPaul Mundt
688ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
689ea0e1a9aSPaul Mundt
690ea0e1a9aSPaul Mundtconfig NR_CPUS
691ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
692ea0e1a9aSPaul Mundt	range 2 32
693ea0e1a9aSPaul Mundt	depends on SMP
6942eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
695ea0e1a9aSPaul Mundt	default "2"
696ea0e1a9aSPaul Mundt	help
697ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
698ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
699ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
700ea0e1a9aSPaul Mundt
701ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
702ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
703ea0e1a9aSPaul Mundt
704763142d1SPaul Mundtconfig HOTPLUG_CPU
705763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
70640b31360SStephen Rothwell	depends on SMP
707763142d1SPaul Mundt	help
708763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
709763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
710763142d1SPaul Mundt
711ea0e1a9aSPaul Mundtconfig GUSA
712ea0e1a9aSPaul Mundt	def_bool y
7131efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
714ea0e1a9aSPaul Mundt	help
715ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
716ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
717ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
718ea0e1a9aSPaul Mundt
719ea0e1a9aSPaul Mundt	  For additional information, design information can be found
720ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
721ea0e1a9aSPaul Mundt
722ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
723ea0e1a9aSPaul Mundt	  atomicity implementations exist.
724ea0e1a9aSPaul Mundt
7251efe4ce3SStuart Menefyconfig GUSA_RB
7261efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7271efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7281efe4ce3SStuart Menefy	help
7291efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
730692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7311efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7321efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
733692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7341efe4ce3SStuart Menefy
73586c8c047SMatt Flemingconfig HW_PERF_EVENTS
73686c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
73786c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
73886c8c047SMatt Fleming	default y
73986c8c047SMatt Fleming	help
74086c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
74186c8c047SMatt Fleming	  disabled, perf events will use software events only.
74286c8c047SMatt Fleming
74343b8774dSPaul Mundtsource "drivers/sh/Kconfig"
74443b8774dSPaul Mundt
745ea0e1a9aSPaul Mundtendmenu
746ea0e1a9aSPaul Mundt
747ea0e1a9aSPaul Mundtmenu "Boot options"
748ea0e1a9aSPaul Mundt
749190fe191SRich Felkerconfig USE_BUILTIN_DTB
750190fe191SRich Felker	bool "Use builtin DTB"
751190fe191SRich Felker	default n
752190fe191SRich Felker	depends on SH_DEVICE_TREE
753190fe191SRich Felker	help
754190fe191SRich Felker	  Link a device tree blob for particular hardware into the kernel,
755190fe191SRich Felker	  suppressing use of the DTB pointer provided by the bootloader.
756190fe191SRich Felker	  This option should only be used with legacy bootloaders that are
757190fe191SRich Felker	  not capable of providing a DTB to the kernel, or for experimental
758190fe191SRich Felker	  hardware without stable device tree bindings.
759190fe191SRich Felker
760190fe191SRich Felkerconfig BUILTIN_DTB_SOURCE
761190fe191SRich Felker	string "Source file for builtin DTB"
762190fe191SRich Felker	default ""
763190fe191SRich Felker	depends on USE_BUILTIN_DTB
764190fe191SRich Felker	help
765190fe191SRich Felker	  Base name (without suffix, relative to arch/sh/boot/dts) for the
766190fe191SRich Felker	  a DTS file that will be used to produce the DTB linked into the
767190fe191SRich Felker	  kernel.
768190fe191SRich Felker
769ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
770b412a49aSPaul Mundt	hex
771b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
772b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
773b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
774ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
775ea0e1a9aSPaul Mundt	default "0x00001000"
776ea0e1a9aSPaul Mundt	help
777ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
778ea0e1a9aSPaul Mundt
779ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
780b412a49aSPaul Mundt	hex
781b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
782a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
783b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
784b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
785b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
786b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
787ea0e1a9aSPaul Mundt	default "0x00800000"
788ea0e1a9aSPaul Mundt	help
789ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
790ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
791ea0e1a9aSPaul Mundt	  memory.
792ea0e1a9aSPaul Mundt
793b412a49aSPaul Mundtconfig ENTRY_OFFSET
794b412a49aSPaul Mundt	hex
795b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
796b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
797b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
798b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
799b412a49aSPaul Mundt	default "0x00000000"
800b412a49aSPaul Mundt
8014705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8024705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8030d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
8044705b2e8SMagnus Damm	help
8054705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8064705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8074705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8084705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8094705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8104705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8114705b2e8SMagnus Damm
812d724a9c9SPawel Mollchoice
813d724a9c9SPawel Moll	prompt "Kernel command line"
814d724a9c9SPawel Moll	optional
815d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
816d724a9c9SPawel Moll	help
817d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
818d724a9c9SPawel Moll	  to be set.
819d724a9c9SPawel Moll
820d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
821d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
822d724a9c9SPawel Moll	help
823d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
824d724a9c9SPawel Moll	  a bootloader.
825d724a9c9SPawel Moll
826d724a9c9SPawel Mollconfig CMDLINE_EXTEND
827d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
828d724a9c9SPawel Moll	help
829d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
830d724a9c9SPawel Moll	  by a bootloader.
831d724a9c9SPawel Moll
832d724a9c9SPawel Mollendchoice
833ea0e1a9aSPaul Mundt
834ea0e1a9aSPaul Mundtconfig CMDLINE
835d724a9c9SPawel Moll	string "Kernel command line arguments string"
836d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
837ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
838ea0e1a9aSPaul Mundt
839ea0e1a9aSPaul Mundtendmenu
840ea0e1a9aSPaul Mundt
841ea0e1a9aSPaul Mundtmenu "Bus options"
842ea0e1a9aSPaul Mundt
843ea0e1a9aSPaul Mundtconfig SUPERHYWAY
844ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
845ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
846ea0e1a9aSPaul Mundt
847ea0e1a9aSPaul Mundtconfig MAPLE
848ea0e1a9aSPaul Mundt	bool "Maple Bus support"
849ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
850ea0e1a9aSPaul Mundt	help
851ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
852ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
853ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
854ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
855ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
856ea0e1a9aSPaul Mundt	 connection.
857ea0e1a9aSPaul Mundt
8587693465dSPaul Mundtconfig PCI
8597693465dSPaul Mundt	bool "PCI support"
8607693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
861320e68daSPaul Mundt	select PCI_DOMAINS
86243db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8631e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
8647693465dSPaul Mundt	help
8657693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8667693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8677693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
868ea0e1a9aSPaul Mundt
869320e68daSPaul Mundtconfig PCI_DOMAINS
870320e68daSPaul Mundt	bool
871320e68daSPaul Mundt
872ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
873ea0e1a9aSPaul Mundt
874ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
875ea0e1a9aSPaul Mundt
876ea0e1a9aSPaul Mundtendmenu
877ea0e1a9aSPaul Mundt
878ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
879f4cb5700SJohannes Berg
880c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
881c6f17cb2SMagnus Damm
882c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
883ea0e1a9aSPaul Mundt
884ea0e1a9aSPaul Mundtendmenu
885