xref: /openbmc/linux/arch/sh/Kconfig (revision 86596f0a)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2ea0e1a9aSPaul Mundtconfig SUPERH
3ea0e1a9aSPaul Mundt	def_bool y
445624ac3SRich Felker	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
509d8dd93SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
607c75d7aSVladimir Murzin	select ARCH_NO_COHERENT_DMA_MMAP if !MMU
7560b8c0eSRob Landley	select HAVE_PATA_PLATFORM
86d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
9ce816fa8SUwe Kleine-König	select HAVE_IDE if HAS_IOPORT_MAP
1095f72d1eSYinghai Lu	select HAVE_MEMBLOCK
11534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
12adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
1342d4b839SMathieu Desnoyers	select HAVE_OPROFILE
149de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
15d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
16cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
179b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
187563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
19df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
20957e3facSRiku Voipio	select ARCH_HAS_GCOV_PROFILE_ALL
2172f0c137SPaul Mundt	select PERF_USE_VMALLOC
22b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
23df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
24fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS
2507e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2607e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2750cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
28c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
29af1839ebSCatalin Marinas	select HAVE_UID16
30c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
31a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
32eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
332ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
34ed170924SPaul Mundt	select IRQ_FORCED_THREADING
356eac1af0SPaul Mundt	select RTC_LIB
36f01789c6SPaul Mundt	select GENERIC_ATOMIC64
373d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
38ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
39dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
408cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
418cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
42b46ed370SRich Felker	select GENERIC_SCHED_CLOCK
430e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
44cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
45786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
46786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
47881e252dSAl Viro	select OLD_SIGSUSPEND
480679a858SAl Viro	select OLD_SIGACTION
497a017721SAKASHI Takahiro	select HAVE_ARCH_AUDITSYSCALL
5072cc564fSRich Felker	select HAVE_FUTEX_CMPXCHG if FUTEX
5142a0bb3fSPetr Mladek	select HAVE_NMI
5286596f0aSChristoph Hellwig	select NEED_SG_DMA_LENGTH
5386596f0aSChristoph Hellwig
54ea0e1a9aSPaul Mundt	help
55ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
56ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
57ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
58ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
59ea0e1a9aSPaul Mundt
60ea0e1a9aSPaul Mundtconfig SUPERH32
613cc000b5SPaul Mundt	def_bool ARCH = "sh"
62d39f5450SChris Smith	select HAVE_KPROBES
63d39f5450SChris Smith	select HAVE_KRETPROBES
646d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
65694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
66fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
67fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
68e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
69c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
70327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
71ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
726fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
730102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
74e583d6b3SSam Ravnborg	select PERF_EVENTS
758dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
7657b81330SPaul Mundt	select SPARSE_IRQ
7719952a92SKees Cook	select HAVE_CC_STACKPROTECTOR
78ea0e1a9aSPaul Mundt
79ea0e1a9aSPaul Mundtconfig SUPERH64
803cc000b5SPaul Mundt	def_bool ARCH = "sh64"
815f56a5dfSJiri Slaby	select HAVE_EXIT_THREAD
823a898c0fSPaul Mundt	select KALLSYMS
83ea0e1a9aSPaul Mundt
84f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
85f42b7e3dSPaul Mundt	string
86f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
87f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
88f42b7e3dSPaul Mundt
89ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
90d7ef4fb3SHarvey Harrison	def_bool y
91ea0e1a9aSPaul Mundt
92ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
93ea0e1a9aSPaul Mundt	bool
94ea0e1a9aSPaul Mundt
95ea0e1a9aSPaul Mundtconfig GENERIC_BUG
96ea0e1a9aSPaul Mundt	def_bool y
97a82d53ecSPaul Mundt	depends on BUG && SUPERH32
98ea0e1a9aSPaul Mundt
993767f3f1SPaul Mundtconfig GENERIC_CSUM
1003767f3f1SPaul Mundt	def_bool y
1013767f3f1SPaul Mundt	depends on SUPERH64
1023767f3f1SPaul Mundt
103ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
104d7ef4fb3SHarvey Harrison	def_bool y
105ea0e1a9aSPaul Mundt
106ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
107cf204fa7SPaul Mundt	bool
108ea0e1a9aSPaul Mundt
109bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
110bdcab87bSPaul Mundt	def_bool y
111bdcab87bSPaul Mundt	depends on SMP && PREEMPT
112bdcab87bSPaul Mundt
113af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
114af998a9aSMagnus Damm	def_bool n
115af998a9aSMagnus Damm
116af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
117af998a9aSMagnus Damm	def_bool n
118ea0e1a9aSPaul Mundt
119ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
120ea0e1a9aSPaul Mundt	bool
121af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
122ea0e1a9aSPaul Mundt
123ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
124ffb4a73dSPaul Mundt	bool
125ffb4a73dSPaul Mundt
126ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
127ea0e1a9aSPaul Mundt	bool
128ea0e1a9aSPaul Mundt
129ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
130ea0e1a9aSPaul Mundt	bool
131ea0e1a9aSPaul Mundt
132ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
133ea0e1a9aSPaul Mundt	bool
134ea0e1a9aSPaul Mundt
135ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
136d7ef4fb3SHarvey Harrison	def_bool y
137ea0e1a9aSPaul Mundt
138ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
139d7ef4fb3SHarvey Harrison	def_bool y
140ea0e1a9aSPaul Mundt
141ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
142d7ef4fb3SHarvey Harrison	def_bool n
143ea0e1a9aSPaul Mundt
144ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
145d7ef4fb3SHarvey Harrison	def_bool n
146ea0e1a9aSPaul Mundt
147ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
14837b7a978SPaul Mundt	def_bool !PCI
149c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
150c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
15186e4dd5aSPaul Mundt
152e7cc9a73SMagnus Dammconfig IO_TRAPPED
153e7cc9a73SMagnus Damm	bool
154e7cc9a73SMagnus Damm
155b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
156b7e68d68SPaul Mundt	bool
157b7e68d68SPaul Mundt
15801be5d63SPaul Mundtconfig DMA_COHERENT
15901be5d63SPaul Mundt	bool
16001be5d63SPaul Mundt
16101be5d63SPaul Mundtconfig DMA_NONCOHERENT
16201be5d63SPaul Mundt	def_bool !DMA_COHERENT
16301be5d63SPaul Mundt
1645cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1655cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1665cabbb62SFUJITA Tomonori
16769543d63SKirill A. Shutemovconfig PGTABLE_LEVELS
16869543d63SKirill A. Shutemov	default 3 if X2TLB
16969543d63SKirill A. Shutemov	default 2
17069543d63SKirill A. Shutemov
171ea0e1a9aSPaul Mundtsource "init/Kconfig"
172ea0e1a9aSPaul Mundt
173dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
174dc52ddc0SMatt Helsley
175ea0e1a9aSPaul Mundtmenu "System type"
176ea0e1a9aSPaul Mundt
177ea0e1a9aSPaul Mundt#
178ea0e1a9aSPaul Mundt# Processor families
179ea0e1a9aSPaul Mundt#
180ea0e1a9aSPaul Mundtconfig CPU_SH2
181ea0e1a9aSPaul Mundt	bool
182049d2804SGeert Uytterhoeven	select SH_INTC
183ea0e1a9aSPaul Mundt
184ea0e1a9aSPaul Mundtconfig CPU_SH2A
185ea0e1a9aSPaul Mundt	bool
186ea0e1a9aSPaul Mundt	select CPU_SH2
187e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
188ea0e1a9aSPaul Mundt
1895a846abaSRich Felkerconfig CPU_J2
1905a846abaSRich Felker	bool
1915a846abaSRich Felker	select CPU_SH2
1925a846abaSRich Felker	select OF
1935a846abaSRich Felker	select OF_EARLY_FLATTREE
1945a846abaSRich Felker
195ea0e1a9aSPaul Mundtconfig CPU_SH3
196ea0e1a9aSPaul Mundt	bool
197ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
198ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
199049d2804SGeert Uytterhoeven	select SH_INTC
200fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_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
207049d2804SGeert Uytterhoeven	select SH_INTC
208fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
209ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
210ea0e1a9aSPaul Mundt
211ea0e1a9aSPaul Mundtconfig CPU_SH4A
212ea0e1a9aSPaul Mundt	bool
213ea0e1a9aSPaul Mundt	select CPU_SH4
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt	select CPU_SH4A
218ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
219ea0e1a9aSPaul Mundt
220ea0e1a9aSPaul Mundtconfig CPU_SH5
221ea0e1a9aSPaul Mundt	bool
222ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
223fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
224ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
225ea0e1a9aSPaul Mundt
226ea0e1a9aSPaul Mundtconfig CPU_SHX2
227ea0e1a9aSPaul Mundt	bool
228ea0e1a9aSPaul Mundt
229ea0e1a9aSPaul Mundtconfig CPU_SHX3
230ea0e1a9aSPaul Mundt	bool
23101be5d63SPaul Mundt	select DMA_COHERENT
2324b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2334b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
234ea0e1a9aSPaul Mundt
235dc65a977SPaul Mundtconfig ARCH_SHMOBILE
236dc65a977SPaul Mundt	bool
23777594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
238464ed18eSRafael J. Wysocki	select PM
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
259fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
260ea0e1a9aSPaul Mundt
2615a846abaSRich Felkerconfig CPU_SUBTYPE_J2
2625a846abaSRich Felker	bool "Support J2 processor"
2635a846abaSRich Felker	select CPU_J2
264b4214e41SRich Felker	select SYS_SUPPORTS_SMP
265b4214e41SRich Felker	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2665a846abaSRich Felker
267ea0e1a9aSPaul Mundt# SH-2A Processor Support
268ea0e1a9aSPaul Mundt
2692825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2702825999eSPeter Griffin	bool "Support SH7201 processor"
2712825999eSPeter Griffin	select CPU_SH2A
2722825999eSPeter Griffin	select CPU_HAS_FPU
273fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2742825999eSPeter Griffin
2756d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2766d01f510SPaul Mundt	bool "Support SH7203 processor"
2776d01f510SPaul Mundt	select CPU_SH2A
27874d99a5eSPaul Mundt	select CPU_HAS_FPU
279fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
280fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
281b768ecbcSLaurent Pinchart	select PINCTRL
2826d01f510SPaul Mundt
283ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
284ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
285ea0e1a9aSPaul Mundt	select CPU_SH2A
286fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
287fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
288ea0e1a9aSPaul Mundt
289a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
290a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
291a8f67f4bSPaul Mundt	select CPU_SH2A
29274d99a5eSPaul Mundt	select CPU_HAS_FPU
293fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
294fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
295a8f67f4bSPaul Mundt
29651ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
29751ce3068SPhil Edworthy	bool "Support SH7264 processor"
29851ce3068SPhil Edworthy	select CPU_SH2A
29951ce3068SPhil Edworthy	select CPU_HAS_FPU
300fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
301fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
3025946e7bbSLaurent Pinchart	select PINCTRL
30351ce3068SPhil Edworthy
3040b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
3050b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
3060b25b7c8SPhil Edworthy	select CPU_SH2A
3070b25b7c8SPhil Edworthy	select CPU_HAS_FPU
308fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
309fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
310fb872fccSLaurent Pinchart	select PINCTRL
3110b25b7c8SPhil Edworthy
3122ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3132ad69908SPaul Mundt	bool "Support MX-G processor"
3142ad69908SPaul Mundt	select CPU_SH2A
315fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
3162ad69908SPaul Mundt	help
3172ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3182ad69908SPaul Mundt
319ea0e1a9aSPaul Mundt# SH-3 Processor Support
320ea0e1a9aSPaul Mundt
321ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
322ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
323ea0e1a9aSPaul Mundt	select CPU_SH3
324ea0e1a9aSPaul Mundt
325ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
326ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
327ea0e1a9aSPaul Mundt	select CPU_SH3
328ea0e1a9aSPaul Mundt	help
329ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
330ea0e1a9aSPaul Mundt
331ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
332ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
333ea0e1a9aSPaul Mundt	select CPU_SH3
334ea0e1a9aSPaul Mundt	help
335ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
336ea0e1a9aSPaul Mundt
337ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
338ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
339ea0e1a9aSPaul Mundt	select CPU_SH3
340ea0e1a9aSPaul Mundt	help
341ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
342ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
343ea0e1a9aSPaul Mundt
344ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
345ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
346ea0e1a9aSPaul Mundt	select CPU_SH3
347ea0e1a9aSPaul Mundt	help
348ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
349ea0e1a9aSPaul Mundt
350ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
351ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
352ea0e1a9aSPaul Mundt	select CPU_SH3
353ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
354ea0e1a9aSPaul Mundt	help
355ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
356ea0e1a9aSPaul Mundt
357ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
358ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
359ea0e1a9aSPaul Mundt	select CPU_SH3
360ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
361ea0e1a9aSPaul Mundt	help
362ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
363ea0e1a9aSPaul Mundt
364ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
365ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
366ea0e1a9aSPaul Mundt	select CPU_SH3
367ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
368fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3697b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
37085db6bffSLaurent Pinchart	select PINCTRL
371ea0e1a9aSPaul Mundt	help
372ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
373ea0e1a9aSPaul Mundt
37431a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
37531a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
37631a49c4bSYoshihiro Shimoda	select CPU_SH3
37731a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
378fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
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
433fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
43416941a89SLaurent Pinchart	select PINCTRL
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
444fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
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
4532c172182SLaurent Pinchart	select PINCTRL
454fea88a0cSNobuhiro Iwamatsu	help
455fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
456fea88a0cSNobuhiro Iwamatsu
457c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
458c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
459c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
460c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
461eb61b772SLaurent Pinchart	select PINCTRL
462c01f0f1aSYoshihiro Shimoda	help
463c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
464c01f0f1aSYoshihiro Shimoda
4657d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4667d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4677d740a06SYoshihiro Shimoda	select CPU_SH4A
4687b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4697d740a06SYoshihiro Shimoda	help
4707d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4717d740a06SYoshihiro Shimoda
472ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
473ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
474ea0e1a9aSPaul Mundt	select CPU_SH4A
475ea0e1a9aSPaul Mundt
476ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
477ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
478ea0e1a9aSPaul Mundt	select CPU_SH4A
479ea0e1a9aSPaul Mundt
480ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
481ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
482ea0e1a9aSPaul Mundt	select CPU_SH4A
483ea0e1a9aSPaul Mundt	select CPU_SHX2
484ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
485ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
48677bd27b2SLaurent Pinchart	select PINCTRL
487ea0e1a9aSPaul Mundt
48855ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
48955ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
49055ba99ebSKuninori Morimoto	select CPU_SH4A
49137042fbdSPaul Mundt	select CPU_SHX3
4928263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4932eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4947b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4957b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
496c0fdbff9SLaurent Pinchart	select PINCTRL
49755ba99ebSKuninori Morimoto
498ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
499ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
500ea0e1a9aSPaul Mundt	select CPU_SH4A
501ea0e1a9aSPaul Mundt	select CPU_SHX3
5025840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
503fdcfdfa1SLinus Walleij	select GPIOLIB
5043e347f08SLaurent Pinchart	select PINCTRL
505ea0e1a9aSPaul Mundt
506ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
507ea0e1a9aSPaul Mundt
508ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
509ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
510ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
511dc65a977SPaul Mundt	select ARCH_SHMOBILE
512fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
513ea0e1a9aSPaul Mundt
514ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
515ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
516ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
517ea0e1a9aSPaul Mundt	select CPU_SHX2
518dc65a977SPaul Mundt	select ARCH_SHMOBILE
519ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
520ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
521fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
522ef97c3c1SLaurent Pinchart	select PINCTRL
523ea0e1a9aSPaul Mundt
5249109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5259109a30eSMagnus Damm	bool "Support SH7366 processor"
5269109a30eSMagnus Damm	select CPU_SH4AL_DSP
5279109a30eSMagnus Damm	select CPU_SHX2
528dc65a977SPaul Mundt	select ARCH_SHMOBILE
5299109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5309109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
531fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
5329109a30eSMagnus Damm
5333cc000b5SPaul Mundtendchoice
5343cc000b5SPaul Mundt
5353cc000b5SPaul Mundtendif
5363cc000b5SPaul Mundt
5373cc000b5SPaul Mundtif SUPERH64
5383cc000b5SPaul Mundt
5393cc000b5SPaul Mundtchoice
5403cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5413cc000b5SPaul Mundt
542ea0e1a9aSPaul Mundt# SH-5 Processor Support
543ea0e1a9aSPaul Mundt
544ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
545ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
546ea0e1a9aSPaul Mundt	select CPU_SH5
547ea0e1a9aSPaul Mundt
548ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
549ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5508ef97dd7SPaul Mundt	select CPU_SH5
551ea0e1a9aSPaul Mundt
552ea0e1a9aSPaul Mundtendchoice
553ea0e1a9aSPaul Mundt
5543cc000b5SPaul Mundtendif
5553cc000b5SPaul Mundt
556ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
557939a24a6SPaul Mundt
558ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
559ea0e1a9aSPaul Mundt
560939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
561ea0e1a9aSPaul Mundt
562ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
563ea0e1a9aSPaul Mundt
564ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
565ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5668152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
567ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5688152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5698152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5708152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5718152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5728152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5738152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
57443a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
575ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
576ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
577ea0e1a9aSPaul Mundt	default "50000000"
578ea0e1a9aSPaul Mundt	help
579ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
580ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
581ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
582ea0e1a9aSPaul Mundt
58336aa1e32SPaul Mundtconfig SH_CLK_CPG
58436aa1e32SPaul Mundt	def_bool y
58536aa1e32SPaul Mundt
586253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
58736aa1e32SPaul Mundt	depends on SH_CLK_CPG
58843a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
58951ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
590bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
591bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
592253b0887SPaul Mundt
593ea0e1a9aSPaul Mundtendmenu
594ea0e1a9aSPaul Mundt
595ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
596ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
597ea0e1a9aSPaul Mundtendmenu
598ea0e1a9aSPaul Mundt
599ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
600ea0e1a9aSPaul Mundt
601ea0e1a9aSPaul Mundtendmenu
602ea0e1a9aSPaul Mundt
603ea0e1a9aSPaul Mundtmenu "Kernel features"
604ea0e1a9aSPaul Mundt
605ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
606ea0e1a9aSPaul Mundt
607ea0e1a9aSPaul Mundtconfig KEXEC
608ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
6090d57af1eSKees Cook	depends on SUPERH32 && MMU
6102965faa5SDave Young	select KEXEC_CORE
611ea0e1a9aSPaul Mundt	help
612ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
613ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
614ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
615ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
616ea0e1a9aSPaul Mundt
617ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
618ea0e1a9aSPaul Mundt
619ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
620ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
621bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
622bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
623bf220695SGeert Uytterhoeven	  made.
624ea0e1a9aSPaul Mundt
625ea0e1a9aSPaul Mundtconfig CRASH_DUMP
626ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
6270d57af1eSKees Cook	depends on SUPERH32 && BROKEN_ON_SMP
628ea0e1a9aSPaul Mundt	help
629ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
630ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
631ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
632ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
633ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
634ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
635e66ac3f2SSimon Horman	  PHYSICAL_START.
636ea0e1a9aSPaul Mundt
637ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
638ea0e1a9aSPaul Mundt
639b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
640b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
6410d57af1eSKees Cook	depends on SUPERH32 && KEXEC && HIBERNATION
642b7cf6ddcSMagnus Damm	help
643b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
644b7cf6ddcSMagnus Damm	  code via KEXEC
645b7cf6ddcSMagnus Damm
646e66ac3f2SSimon Hormanconfig PHYSICAL_START
647e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
648e66ac3f2SSimon Horman	default MEMORY_START
649e66ac3f2SSimon Horman	---help---
650e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
651e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
652e66ac3f2SSimon Horman
653e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
654e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
655e66ac3f2SSimon Horman	  than the panic-ed kernel.
656e66ac3f2SSimon Horman
657c4637d47SPaul Mundtconfig SECCOMP
658c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
659c4637d47SPaul Mundt	depends on PROC_FS
660c4637d47SPaul Mundt	help
661c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
662c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
663c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
664c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
665c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
666c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
667c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
668c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
669c4637d47SPaul Mundt	  mode.
670c4637d47SPaul Mundt
671c4637d47SPaul Mundt	  If unsure, say N.
672c4637d47SPaul Mundt
673ea0e1a9aSPaul Mundtconfig SMP
674ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
675ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
676ea0e1a9aSPaul Mundt	---help---
677ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
6784a474157SRobert Graffham	  a system with only one CPU, say N. If you have a system with more
6794a474157SRobert Graffham	  than one CPU, say Y.
680ea0e1a9aSPaul Mundt
6814a474157SRobert Graffham	  If you say N here, the kernel will run on uni- and multiprocessor
682ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
683ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
6844a474157SRobert Graffham	  uniprocessor machines. On a uniprocessor machine, the kernel
685ea0e1a9aSPaul Mundt	  will run faster if you say N here.
686ea0e1a9aSPaul Mundt
687ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
688ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
689ea0e1a9aSPaul Mundt
69003502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
69103502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
692ea0e1a9aSPaul Mundt
693ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
694ea0e1a9aSPaul Mundt
695ea0e1a9aSPaul Mundtconfig NR_CPUS
696ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
697ea0e1a9aSPaul Mundt	range 2 32
698ea0e1a9aSPaul Mundt	depends on SMP
6992eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
700ea0e1a9aSPaul Mundt	default "2"
701ea0e1a9aSPaul Mundt	help
702ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
703ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
704ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
705ea0e1a9aSPaul Mundt
706ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
707ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
708ea0e1a9aSPaul Mundt
709763142d1SPaul Mundtconfig HOTPLUG_CPU
710763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
71140b31360SStephen Rothwell	depends on SMP
712763142d1SPaul Mundt	help
713763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
714763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
715763142d1SPaul Mundt
716ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
717ea0e1a9aSPaul Mundt
718ea0e1a9aSPaul Mundtconfig GUSA
719ea0e1a9aSPaul Mundt	def_bool y
7201efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
721ea0e1a9aSPaul Mundt	help
722ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
723ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
724ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
725ea0e1a9aSPaul Mundt
726ea0e1a9aSPaul Mundt	  For additional information, design information can be found
727ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
728ea0e1a9aSPaul Mundt
729ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
730ea0e1a9aSPaul Mundt	  atomicity implementations exist.
731ea0e1a9aSPaul Mundt
7321efe4ce3SStuart Menefyconfig GUSA_RB
7331efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7341efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7351efe4ce3SStuart Menefy	help
7361efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
737692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7381efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7391efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
740692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7411efe4ce3SStuart Menefy
74286c8c047SMatt Flemingconfig HW_PERF_EVENTS
74386c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
74486c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
74586c8c047SMatt Fleming	default y
74686c8c047SMatt Fleming	help
74786c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
74886c8c047SMatt Fleming	  disabled, perf events will use software events only.
74986c8c047SMatt Fleming
75043b8774dSPaul Mundtsource "drivers/sh/Kconfig"
75143b8774dSPaul Mundt
752ea0e1a9aSPaul Mundtendmenu
753ea0e1a9aSPaul Mundt
754ea0e1a9aSPaul Mundtmenu "Boot options"
755ea0e1a9aSPaul Mundt
756190fe191SRich Felkerconfig USE_BUILTIN_DTB
757190fe191SRich Felker	bool "Use builtin DTB"
758190fe191SRich Felker	default n
759190fe191SRich Felker	depends on SH_DEVICE_TREE
760190fe191SRich Felker	help
761190fe191SRich Felker	  Link a device tree blob for particular hardware into the kernel,
762190fe191SRich Felker	  suppressing use of the DTB pointer provided by the bootloader.
763190fe191SRich Felker	  This option should only be used with legacy bootloaders that are
764190fe191SRich Felker	  not capable of providing a DTB to the kernel, or for experimental
765190fe191SRich Felker	  hardware without stable device tree bindings.
766190fe191SRich Felker
767190fe191SRich Felkerconfig BUILTIN_DTB_SOURCE
768190fe191SRich Felker	string "Source file for builtin DTB"
769190fe191SRich Felker	default ""
770190fe191SRich Felker	depends on USE_BUILTIN_DTB
771190fe191SRich Felker	help
772190fe191SRich Felker	  Base name (without suffix, relative to arch/sh/boot/dts) for the
773190fe191SRich Felker	  a DTS file that will be used to produce the DTB linked into the
774190fe191SRich Felker	  kernel.
775190fe191SRich Felker
776ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
777b412a49aSPaul Mundt	hex
778b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
779b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
780b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
781ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
782ea0e1a9aSPaul Mundt	default "0x00001000"
783ea0e1a9aSPaul Mundt	help
784ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
785ea0e1a9aSPaul Mundt
786ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
787b412a49aSPaul Mundt	hex
788b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
789a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
790b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
791b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
792b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
793b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
794ea0e1a9aSPaul Mundt	default "0x00800000"
795ea0e1a9aSPaul Mundt	help
796ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
797ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
798ea0e1a9aSPaul Mundt	  memory.
799ea0e1a9aSPaul Mundt
800b412a49aSPaul Mundtconfig ENTRY_OFFSET
801b412a49aSPaul Mundt	hex
802b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
803b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
804b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
805b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
806b412a49aSPaul Mundt	default "0x00000000"
807b412a49aSPaul Mundt
8084705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8094705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8100d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
8114705b2e8SMagnus Damm	help
8124705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8134705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8144705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8154705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8164705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8174705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8184705b2e8SMagnus Damm
819d724a9c9SPawel Mollchoice
820d724a9c9SPawel Moll	prompt "Kernel command line"
821d724a9c9SPawel Moll	optional
822d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
823d724a9c9SPawel Moll	help
824d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
825d724a9c9SPawel Moll	  to be set.
826d724a9c9SPawel Moll
827d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
828d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
829d724a9c9SPawel Moll	help
830d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
831d724a9c9SPawel Moll	  a bootloader.
832d724a9c9SPawel Moll
833d724a9c9SPawel Mollconfig CMDLINE_EXTEND
834d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
835d724a9c9SPawel Moll	help
836d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
837d724a9c9SPawel Moll	  by a bootloader.
838d724a9c9SPawel Moll
839d724a9c9SPawel Mollendchoice
840ea0e1a9aSPaul Mundt
841ea0e1a9aSPaul Mundtconfig CMDLINE
842d724a9c9SPawel Moll	string "Kernel command line arguments string"
843d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
844ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
845ea0e1a9aSPaul Mundt
846ea0e1a9aSPaul Mundtendmenu
847ea0e1a9aSPaul Mundt
848ea0e1a9aSPaul Mundtmenu "Bus options"
849ea0e1a9aSPaul Mundt
850ea0e1a9aSPaul Mundtconfig SUPERHYWAY
851ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
852ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
853ea0e1a9aSPaul Mundt
854ea0e1a9aSPaul Mundtconfig MAPLE
855ea0e1a9aSPaul Mundt	bool "Maple Bus support"
856ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
857ea0e1a9aSPaul Mundt	help
858ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
859ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
860ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
861ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
862ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
863ea0e1a9aSPaul Mundt	 connection.
864ea0e1a9aSPaul Mundt
8657693465dSPaul Mundtconfig PCI
8667693465dSPaul Mundt	bool "PCI support"
8677693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
868320e68daSPaul Mundt	select PCI_DOMAINS
86943db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8701e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
8717693465dSPaul Mundt	help
8727693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8737693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8747693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
875ea0e1a9aSPaul Mundt
876320e68daSPaul Mundtconfig PCI_DOMAINS
877320e68daSPaul Mundt	bool
878320e68daSPaul Mundt
879ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
880ea0e1a9aSPaul Mundt
881ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
882ea0e1a9aSPaul Mundt
883ea0e1a9aSPaul Mundtendmenu
884ea0e1a9aSPaul Mundt
885ea0e1a9aSPaul Mundtmenu "Executable file formats"
886ea0e1a9aSPaul Mundt
887ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
888ea0e1a9aSPaul Mundt
889ea0e1a9aSPaul Mundtendmenu
890ea0e1a9aSPaul Mundt
891ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
892f4cb5700SJohannes Berg
893c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
894c6f17cb2SMagnus Damm
895c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
896ea0e1a9aSPaul Mundt
897ea0e1a9aSPaul Mundtendmenu
898ea0e1a9aSPaul Mundt
899ea0e1a9aSPaul Mundtsource "net/Kconfig"
900ea0e1a9aSPaul Mundt
901ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
902ea0e1a9aSPaul Mundt
903ea0e1a9aSPaul Mundtsource "fs/Kconfig"
904ea0e1a9aSPaul Mundt
905ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
906ea0e1a9aSPaul Mundt
907ea0e1a9aSPaul Mundtsource "security/Kconfig"
908ea0e1a9aSPaul Mundt
909ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
910ea0e1a9aSPaul Mundt
911ea0e1a9aSPaul Mundtsource "lib/Kconfig"
912