xref: /openbmc/linux/arch/sh/Kconfig (revision 3c9b9acc)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2ea0e1a9aSPaul Mundtconfig SUPERH
3ea0e1a9aSPaul Mundt	def_bool y
4aef0f78eSChristoph Hellwig	select ARCH_HAS_BINFMT_FLAT if !MMU
53010a5eaSLaurent Dufour	select ARCH_HAS_PTE_SPECIAL
645624ac3SRich Felker	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
709d8dd93SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
807c75d7aSVladimir Murzin	select ARCH_NO_COHERENT_DMA_MMAP if !MMU
9560b8c0eSRob Landley	select HAVE_PATA_PLATFORM
106d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
11ff4c25f2SChristoph Hellwig	select DMA_DECLARE_COHERENT
12ce816fa8SUwe Kleine-König	select HAVE_IDE if HAS_IOPORT_MAP
13534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
1442d4b839SMathieu Desnoyers	select HAVE_OPROFILE
15d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
16cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
179b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
183c9b9accSChristoph Hellwig	select HAVE_GENERIC_GUP
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
43eb01d42aSChristoph Hellwig	select GENERIC_PCI_IOMAP if PCI
44b46ed370SRich Felker	select GENERIC_SCHED_CLOCK
450e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
46cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
47786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
48786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
49eb01d42aSChristoph Hellwig	select NO_GENERIC_PCI_IOPORT_MAP if PCI
50881e252dSAl Viro	select OLD_SIGSUSPEND
510679a858SAl Viro	select OLD_SIGACTION
52eb01d42aSChristoph Hellwig	select PCI_DOMAINS if PCI
537a017721SAKASHI Takahiro	select HAVE_ARCH_AUDITSYSCALL
5472cc564fSRich Felker	select HAVE_FUTEX_CMPXCHG if FUTEX
5542a0bb3fSPetr Mladek	select HAVE_NMI
5686596f0aSChristoph Hellwig	select NEED_SG_DMA_LENGTH
574eb0716eSAlexandre Ghiti	select ARCH_HAS_GIGANTIC_PAGE
5886596f0aSChristoph Hellwig
59ea0e1a9aSPaul Mundt	help
60ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
61ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
62ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
63ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
64ea0e1a9aSPaul Mundt
65ea0e1a9aSPaul Mundtconfig SUPERH32
66104daea1SMasahiro Yamada	def_bool "$(ARCH)" = "sh"
67942fa985SYury Norov	select ARCH_32BIT_OFF_T
683c9b9accSChristoph Hellwig	select GUP_GET_PTE_LOW_HIGH if X2TLB
69d39f5450SChris Smith	select HAVE_KPROBES
70d39f5450SChris Smith	select HAVE_KRETPROBES
716d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
72694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
73fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
74fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
75e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
76c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
77327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
78ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
796fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
800102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
81e583d6b3SSam Ravnborg	select PERF_EVENTS
828dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
8357b81330SPaul Mundt	select SPARSE_IRQ
84d148eac0SMasahiro Yamada	select HAVE_STACKPROTECTOR
85ea0e1a9aSPaul Mundt
86ea0e1a9aSPaul Mundtconfig SUPERH64
87104daea1SMasahiro Yamada	def_bool "$(ARCH)" = "sh64"
885f56a5dfSJiri Slaby	select HAVE_EXIT_THREAD
893a898c0fSPaul Mundt	select KALLSYMS
90ea0e1a9aSPaul Mundt
91f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
92f42b7e3dSPaul Mundt	string
93f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
94f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
95f42b7e3dSPaul 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 STACKTRACE_SUPPORT
134d7ef4fb3SHarvey Harrison	def_bool y
135ea0e1a9aSPaul Mundt
136ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
137d7ef4fb3SHarvey Harrison	def_bool y
138ea0e1a9aSPaul Mundt
139ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
140d7ef4fb3SHarvey Harrison	def_bool n
141ea0e1a9aSPaul Mundt
142ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
143d7ef4fb3SHarvey Harrison	def_bool n
144ea0e1a9aSPaul Mundt
145ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
14637b7a978SPaul Mundt	def_bool !PCI
147c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
148c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
14986e4dd5aSPaul Mundt
150e7cc9a73SMagnus Dammconfig IO_TRAPPED
151e7cc9a73SMagnus Damm	bool
152e7cc9a73SMagnus Damm
153b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
154b7e68d68SPaul Mundt	bool
155b7e68d68SPaul Mundt
15601be5d63SPaul Mundtconfig DMA_COHERENT
15701be5d63SPaul Mundt	bool
15801be5d63SPaul Mundt
15901be5d63SPaul Mundtconfig DMA_NONCOHERENT
16001be5d63SPaul Mundt	def_bool !DMA_COHERENT
1616fa1d28eSChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
16201be5d63SPaul Mundt
16369543d63SKirill A. Shutemovconfig PGTABLE_LEVELS
16469543d63SKirill A. Shutemov	default 3 if X2TLB
16569543d63SKirill A. Shutemov	default 2
16669543d63SKirill A. Shutemov
167ea0e1a9aSPaul Mundtmenu "System type"
168ea0e1a9aSPaul Mundt
169ea0e1a9aSPaul Mundt#
170ea0e1a9aSPaul Mundt# Processor families
171ea0e1a9aSPaul Mundt#
172ea0e1a9aSPaul Mundtconfig CPU_SH2
173ea0e1a9aSPaul Mundt	bool
174049d2804SGeert Uytterhoeven	select SH_INTC
175ea0e1a9aSPaul Mundt
176ea0e1a9aSPaul Mundtconfig CPU_SH2A
177ea0e1a9aSPaul Mundt	bool
178ea0e1a9aSPaul Mundt	select CPU_SH2
179e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
180ea0e1a9aSPaul Mundt
1815a846abaSRich Felkerconfig CPU_J2
1825a846abaSRich Felker	bool
1835a846abaSRich Felker	select CPU_SH2
1845a846abaSRich Felker	select OF
1855a846abaSRich Felker	select OF_EARLY_FLATTREE
1865a846abaSRich Felker
187ea0e1a9aSPaul Mundtconfig CPU_SH3
188ea0e1a9aSPaul Mundt	bool
189ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
190ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
191049d2804SGeert Uytterhoeven	select SH_INTC
192fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
193ea0e1a9aSPaul Mundt
194ea0e1a9aSPaul Mundtconfig CPU_SH4
195ea0e1a9aSPaul Mundt	bool
196ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
197ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
198ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
199049d2804SGeert Uytterhoeven	select SH_INTC
200fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
201ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
202ea0e1a9aSPaul Mundt
203ea0e1a9aSPaul Mundtconfig CPU_SH4A
204ea0e1a9aSPaul Mundt	bool
205ea0e1a9aSPaul Mundt	select CPU_SH4
206ea0e1a9aSPaul Mundt
207ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
208ea0e1a9aSPaul Mundt	bool
209ea0e1a9aSPaul Mundt	select CPU_SH4A
210ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
211ea0e1a9aSPaul Mundt
212ea0e1a9aSPaul Mundtconfig CPU_SH5
213ea0e1a9aSPaul Mundt	bool
214ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
215fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
216ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
217ea0e1a9aSPaul Mundt
218ea0e1a9aSPaul Mundtconfig CPU_SHX2
219ea0e1a9aSPaul Mundt	bool
220ea0e1a9aSPaul Mundt
221ea0e1a9aSPaul Mundtconfig CPU_SHX3
222ea0e1a9aSPaul Mundt	bool
22301be5d63SPaul Mundt	select DMA_COHERENT
2244b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2254b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
226ea0e1a9aSPaul Mundt
227dc65a977SPaul Mundtconfig ARCH_SHMOBILE
228dc65a977SPaul Mundt	bool
22977594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
230464ed18eSRafael J. Wysocki	select PM
231dc65a977SPaul Mundt
23286c8c047SMatt Flemingconfig CPU_HAS_PMU
23386c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
23486c8c047SMatt Fleming       default y
23586c8c047SMatt Fleming       bool
23686c8c047SMatt Fleming
2373cc000b5SPaul Mundtif SUPERH32
2383cc000b5SPaul Mundt
239ea0e1a9aSPaul Mundtchoice
240ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
241ea0e1a9aSPaul Mundt
242ea0e1a9aSPaul Mundt#
243ea0e1a9aSPaul Mundt# Processor subtypes
244ea0e1a9aSPaul Mundt#
245ea0e1a9aSPaul Mundt
246ea0e1a9aSPaul Mundt# SH-2 Processor Support
247ea0e1a9aSPaul Mundt
248ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
249ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
250ea0e1a9aSPaul Mundt	select CPU_SH2
251fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
252ea0e1a9aSPaul Mundt
2535a846abaSRich Felkerconfig CPU_SUBTYPE_J2
2545a846abaSRich Felker	bool "Support J2 processor"
2555a846abaSRich Felker	select CPU_J2
256b4214e41SRich Felker	select SYS_SUPPORTS_SMP
257b4214e41SRich Felker	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2585a846abaSRich Felker
259ea0e1a9aSPaul Mundt# SH-2A Processor Support
260ea0e1a9aSPaul Mundt
2612825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2622825999eSPeter Griffin	bool "Support SH7201 processor"
2632825999eSPeter Griffin	select CPU_SH2A
2642825999eSPeter Griffin	select CPU_HAS_FPU
265fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2662825999eSPeter Griffin
2676d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2686d01f510SPaul Mundt	bool "Support SH7203 processor"
2696d01f510SPaul Mundt	select CPU_SH2A
27074d99a5eSPaul Mundt	select CPU_HAS_FPU
271fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
272fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
273b768ecbcSLaurent Pinchart	select PINCTRL
2746d01f510SPaul Mundt
275ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
276ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
277ea0e1a9aSPaul Mundt	select CPU_SH2A
278fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
279fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
280ea0e1a9aSPaul Mundt
281a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
282a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
283a8f67f4bSPaul Mundt	select CPU_SH2A
28474d99a5eSPaul Mundt	select CPU_HAS_FPU
285fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
286fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
287a8f67f4bSPaul Mundt
28851ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
28951ce3068SPhil Edworthy	bool "Support SH7264 processor"
29051ce3068SPhil Edworthy	select CPU_SH2A
29151ce3068SPhil Edworthy	select CPU_HAS_FPU
292fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
293fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2945946e7bbSLaurent Pinchart	select PINCTRL
29551ce3068SPhil Edworthy
2960b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
2970b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
2980b25b7c8SPhil Edworthy	select CPU_SH2A
2990b25b7c8SPhil Edworthy	select CPU_HAS_FPU
300fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
301fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
302fb872fccSLaurent Pinchart	select PINCTRL
3030b25b7c8SPhil Edworthy
3042ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3052ad69908SPaul Mundt	bool "Support MX-G processor"
3062ad69908SPaul Mundt	select CPU_SH2A
307fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
3082ad69908SPaul Mundt	help
3092ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3102ad69908SPaul Mundt
311ea0e1a9aSPaul Mundt# SH-3 Processor Support
312ea0e1a9aSPaul Mundt
313ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
314ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
315ea0e1a9aSPaul Mundt	select CPU_SH3
316ea0e1a9aSPaul Mundt
317ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
318ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
319ea0e1a9aSPaul Mundt	select CPU_SH3
320ea0e1a9aSPaul Mundt	help
321ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
322ea0e1a9aSPaul Mundt
323ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
324ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
325ea0e1a9aSPaul Mundt	select CPU_SH3
326ea0e1a9aSPaul Mundt	help
327ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
328ea0e1a9aSPaul Mundt
329ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
330ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
331ea0e1a9aSPaul Mundt	select CPU_SH3
332ea0e1a9aSPaul Mundt	help
333ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
334ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
335ea0e1a9aSPaul Mundt
336ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
337ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
338ea0e1a9aSPaul Mundt	select CPU_SH3
339ea0e1a9aSPaul Mundt	help
340ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
341ea0e1a9aSPaul Mundt
342ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
343ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
344ea0e1a9aSPaul Mundt	select CPU_SH3
345ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
346ea0e1a9aSPaul Mundt	help
347ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
348ea0e1a9aSPaul Mundt
349ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
350ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
351ea0e1a9aSPaul Mundt	select CPU_SH3
352ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
353ea0e1a9aSPaul Mundt	help
354ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
355ea0e1a9aSPaul Mundt
356ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
357ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
358ea0e1a9aSPaul Mundt	select CPU_SH3
359ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
360fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3617b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36285db6bffSLaurent Pinchart	select PINCTRL
363ea0e1a9aSPaul Mundt	help
364ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
365ea0e1a9aSPaul Mundt
36631a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
36731a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
36831a49c4bSYoshihiro Shimoda	select CPU_SH3
36931a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
370fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3717b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
37231a49c4bSYoshihiro Shimoda	help
37331a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
37431a49c4bSYoshihiro Shimoda
375ea0e1a9aSPaul Mundt# SH-4 Processor Support
376ea0e1a9aSPaul Mundt
377ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
378ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
379ea0e1a9aSPaul Mundt	select CPU_SH4
380ea0e1a9aSPaul Mundt	help
381ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
382ea0e1a9aSPaul Mundt
383ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
384ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
385ea0e1a9aSPaul Mundt	select CPU_SH4
386ea0e1a9aSPaul Mundt	help
387ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
388ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
389ea0e1a9aSPaul Mundt
390ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
391ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
392ea0e1a9aSPaul Mundt	select CPU_SH4
393ea0e1a9aSPaul Mundt
394ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
395ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
396ea0e1a9aSPaul Mundt	select CPU_SH4
397ea0e1a9aSPaul Mundt
398ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
399ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
400ea0e1a9aSPaul Mundt	select CPU_SH4
401ea0e1a9aSPaul Mundt	help
402ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
403ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
404ea0e1a9aSPaul Mundt
405ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
406ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
407ea0e1a9aSPaul Mundt	select CPU_SH4
408ea0e1a9aSPaul Mundt
409ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
410ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
411ea0e1a9aSPaul Mundt	select CPU_SH4
412ea0e1a9aSPaul Mundt
413ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
414ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
415ea0e1a9aSPaul Mundt	select CPU_SH4
416ea0e1a9aSPaul Mundt
417ea0e1a9aSPaul Mundt# SH-4A Processor Support
418ea0e1a9aSPaul Mundt
419178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
420178dd0cdSPaul Mundt	bool "Support SH7723 processor"
421178dd0cdSPaul Mundt	select CPU_SH4A
422178dd0cdSPaul Mundt	select CPU_SHX2
423dc65a977SPaul Mundt	select ARCH_SHMOBILE
424178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
425fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
42616941a89SLaurent Pinchart	select PINCTRL
427178dd0cdSPaul Mundt	help
428178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
429178dd0cdSPaul Mundt
4300207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4310207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4320207a2efSKuninori Morimoto	select CPU_SH4A
4330207a2efSKuninori Morimoto	select CPU_SHX2
43459fe700dSPaul Mundt	select ARCH_SHMOBILE
4350207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
436fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
43718ebd228SLaurent Pinchart	select PINCTRL
4380207a2efSKuninori Morimoto	help
4390207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4400207a2efSKuninori Morimoto
441fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
442fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
443fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
444fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
4452c172182SLaurent Pinchart	select PINCTRL
446fea88a0cSNobuhiro Iwamatsu	help
447fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
448fea88a0cSNobuhiro Iwamatsu
449c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
450c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
451c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
452c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
453eb61b772SLaurent Pinchart	select PINCTRL
454c01f0f1aSYoshihiro Shimoda	help
455c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
456c01f0f1aSYoshihiro Shimoda
4577d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4587d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4597d740a06SYoshihiro Shimoda	select CPU_SH4A
4607b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4617d740a06SYoshihiro Shimoda	help
4627d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4637d740a06SYoshihiro Shimoda
464ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
465ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
466ea0e1a9aSPaul Mundt	select CPU_SH4A
467ea0e1a9aSPaul Mundt
468ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
469ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
470ea0e1a9aSPaul Mundt	select CPU_SH4A
471ea0e1a9aSPaul Mundt
472ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
473ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
474ea0e1a9aSPaul Mundt	select CPU_SH4A
475ea0e1a9aSPaul Mundt	select CPU_SHX2
476ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
477ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
47877bd27b2SLaurent Pinchart	select PINCTRL
479ea0e1a9aSPaul Mundt
48055ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
48155ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
48255ba99ebSKuninori Morimoto	select CPU_SH4A
48337042fbdSPaul Mundt	select CPU_SHX3
4848263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4852eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4867b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4877b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
488c0fdbff9SLaurent Pinchart	select PINCTRL
48955ba99ebSKuninori Morimoto
490ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
491ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
492ea0e1a9aSPaul Mundt	select CPU_SH4A
493ea0e1a9aSPaul Mundt	select CPU_SHX3
4945840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
495fdcfdfa1SLinus Walleij	select GPIOLIB
4963e347f08SLaurent Pinchart	select PINCTRL
497ea0e1a9aSPaul Mundt
498ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
499ea0e1a9aSPaul Mundt
500ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
501ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
502ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
503dc65a977SPaul Mundt	select ARCH_SHMOBILE
504fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
505ea0e1a9aSPaul Mundt
506ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
507ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
508ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
509ea0e1a9aSPaul Mundt	select CPU_SHX2
510dc65a977SPaul Mundt	select ARCH_SHMOBILE
511ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
512ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
513fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
514ef97c3c1SLaurent Pinchart	select PINCTRL
515ea0e1a9aSPaul Mundt
5169109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5179109a30eSMagnus Damm	bool "Support SH7366 processor"
5189109a30eSMagnus Damm	select CPU_SH4AL_DSP
5199109a30eSMagnus Damm	select CPU_SHX2
520dc65a977SPaul Mundt	select ARCH_SHMOBILE
5219109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5229109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
523fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
5249109a30eSMagnus Damm
5253cc000b5SPaul Mundtendchoice
5263cc000b5SPaul Mundt
5273cc000b5SPaul Mundtendif
5283cc000b5SPaul Mundt
5293cc000b5SPaul Mundtif SUPERH64
5303cc000b5SPaul Mundt
5313cc000b5SPaul Mundtchoice
5323cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5333cc000b5SPaul Mundt
534ea0e1a9aSPaul Mundt# SH-5 Processor Support
535ea0e1a9aSPaul Mundt
536ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
537ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
538ea0e1a9aSPaul Mundt	select CPU_SH5
539ea0e1a9aSPaul Mundt
540ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
541ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5428ef97dd7SPaul Mundt	select CPU_SH5
543ea0e1a9aSPaul Mundt
544ea0e1a9aSPaul Mundtendchoice
545ea0e1a9aSPaul Mundt
5463cc000b5SPaul Mundtendif
5473cc000b5SPaul Mundt
548ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
549939a24a6SPaul Mundt
550ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
551ea0e1a9aSPaul Mundt
552939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
553ea0e1a9aSPaul Mundt
554ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
555ea0e1a9aSPaul Mundt
556ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
557ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5588152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
559ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5608152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5618152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5628152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5638152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5648152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5658152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
56643a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
567ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
568ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
569ea0e1a9aSPaul Mundt	default "50000000"
570ea0e1a9aSPaul Mundt	help
571ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
572ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
573ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
574ea0e1a9aSPaul Mundt
57536aa1e32SPaul Mundtconfig SH_CLK_CPG
57636aa1e32SPaul Mundt	def_bool y
57736aa1e32SPaul Mundt
578253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
57936aa1e32SPaul Mundt	depends on SH_CLK_CPG
58043a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
58151ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
582bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
583bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
584253b0887SPaul Mundt
585ea0e1a9aSPaul Mundtendmenu
586ea0e1a9aSPaul Mundt
587ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
588ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
589ea0e1a9aSPaul Mundtendmenu
590ea0e1a9aSPaul Mundt
591ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
592ea0e1a9aSPaul Mundt
593ea0e1a9aSPaul Mundtendmenu
594ea0e1a9aSPaul Mundt
595ea0e1a9aSPaul Mundtmenu "Kernel features"
596ea0e1a9aSPaul Mundt
5978636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz"
598ea0e1a9aSPaul Mundt
599ea0e1a9aSPaul Mundtconfig KEXEC
600ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
6010d57af1eSKees Cook	depends on SUPERH32 && MMU
6022965faa5SDave Young	select KEXEC_CORE
603ea0e1a9aSPaul Mundt	help
604ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
605ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
606ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
607ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
608ea0e1a9aSPaul Mundt
609ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
610ea0e1a9aSPaul Mundt
611ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
612ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
613bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
614bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
615bf220695SGeert Uytterhoeven	  made.
616ea0e1a9aSPaul Mundt
617ea0e1a9aSPaul Mundtconfig CRASH_DUMP
618ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
6190d57af1eSKees Cook	depends on SUPERH32 && BROKEN_ON_SMP
620ea0e1a9aSPaul Mundt	help
621ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
622ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
623ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
624ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
625ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
626ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
627e66ac3f2SSimon Horman	  PHYSICAL_START.
628ea0e1a9aSPaul Mundt
629d67297adSMauro Carvalho Chehab	  For more details see Documentation/kdump/kdump.rst
630ea0e1a9aSPaul Mundt
631b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
632b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
6330d57af1eSKees Cook	depends on SUPERH32 && KEXEC && HIBERNATION
634b7cf6ddcSMagnus Damm	help
635b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
636b7cf6ddcSMagnus Damm	  code via KEXEC
637b7cf6ddcSMagnus Damm
638e66ac3f2SSimon Hormanconfig PHYSICAL_START
639e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
640e66ac3f2SSimon Horman	default MEMORY_START
641e66ac3f2SSimon Horman	---help---
642e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
643e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
644e66ac3f2SSimon Horman
645e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
646e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
647e66ac3f2SSimon Horman	  than the panic-ed kernel.
648e66ac3f2SSimon Horman
649c4637d47SPaul Mundtconfig SECCOMP
650c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
651c4637d47SPaul Mundt	depends on PROC_FS
652c4637d47SPaul Mundt	help
653c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
654c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
655c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
656c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
657c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
658c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
659c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
660c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
661c4637d47SPaul Mundt	  mode.
662c4637d47SPaul Mundt
663c4637d47SPaul Mundt	  If unsure, say N.
664c4637d47SPaul Mundt
665ea0e1a9aSPaul Mundtconfig SMP
666ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
667ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
668ea0e1a9aSPaul Mundt	---help---
669ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
6704a474157SRobert Graffham	  a system with only one CPU, say N. If you have a system with more
6714a474157SRobert Graffham	  than one CPU, say Y.
672ea0e1a9aSPaul Mundt
6734a474157SRobert Graffham	  If you say N here, the kernel will run on uni- and multiprocessor
674ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
675ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
6764a474157SRobert Graffham	  uniprocessor machines. On a uniprocessor machine, the kernel
677ea0e1a9aSPaul Mundt	  will run faster if you say N here.
678ea0e1a9aSPaul Mundt
679ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
680ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
681ea0e1a9aSPaul Mundt
682ecf38679SMauro Carvalho Chehab	  See also <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO
68303502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
684ea0e1a9aSPaul Mundt
685ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
686ea0e1a9aSPaul Mundt
687ea0e1a9aSPaul Mundtconfig NR_CPUS
688ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
689ea0e1a9aSPaul Mundt	range 2 32
690ea0e1a9aSPaul Mundt	depends on SMP
6912eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
692ea0e1a9aSPaul Mundt	default "2"
693ea0e1a9aSPaul Mundt	help
694ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
695ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
696ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
697ea0e1a9aSPaul Mundt
698ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
699ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
700ea0e1a9aSPaul Mundt
701763142d1SPaul Mundtconfig HOTPLUG_CPU
702763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
70340b31360SStephen Rothwell	depends on SMP
704763142d1SPaul Mundt	help
705763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
706763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
707763142d1SPaul Mundt
708ea0e1a9aSPaul Mundtconfig GUSA
709ea0e1a9aSPaul Mundt	def_bool y
7101efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
711ea0e1a9aSPaul Mundt	help
712ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
713ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
714ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
715ea0e1a9aSPaul Mundt
716ea0e1a9aSPaul Mundt	  For additional information, design information can be found
717ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
718ea0e1a9aSPaul Mundt
719ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
720ea0e1a9aSPaul Mundt	  atomicity implementations exist.
721ea0e1a9aSPaul Mundt
7221efe4ce3SStuart Menefyconfig GUSA_RB
7231efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7241efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7251efe4ce3SStuart Menefy	help
7261efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
727692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7281efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7291efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
730692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7311efe4ce3SStuart Menefy
73286c8c047SMatt Flemingconfig HW_PERF_EVENTS
73386c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
73486c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
73586c8c047SMatt Fleming	default y
73686c8c047SMatt Fleming	help
73786c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
73886c8c047SMatt Fleming	  disabled, perf events will use software events only.
73986c8c047SMatt Fleming
74043b8774dSPaul Mundtsource "drivers/sh/Kconfig"
74143b8774dSPaul Mundt
742ea0e1a9aSPaul Mundtendmenu
743ea0e1a9aSPaul Mundt
744ea0e1a9aSPaul Mundtmenu "Boot options"
745ea0e1a9aSPaul Mundt
746190fe191SRich Felkerconfig USE_BUILTIN_DTB
747190fe191SRich Felker	bool "Use builtin DTB"
748190fe191SRich Felker	default n
749190fe191SRich Felker	depends on SH_DEVICE_TREE
750190fe191SRich Felker	help
751190fe191SRich Felker	  Link a device tree blob for particular hardware into the kernel,
752190fe191SRich Felker	  suppressing use of the DTB pointer provided by the bootloader.
753190fe191SRich Felker	  This option should only be used with legacy bootloaders that are
754190fe191SRich Felker	  not capable of providing a DTB to the kernel, or for experimental
755190fe191SRich Felker	  hardware without stable device tree bindings.
756190fe191SRich Felker
757190fe191SRich Felkerconfig BUILTIN_DTB_SOURCE
758190fe191SRich Felker	string "Source file for builtin DTB"
759190fe191SRich Felker	default ""
760190fe191SRich Felker	depends on USE_BUILTIN_DTB
761190fe191SRich Felker	help
762190fe191SRich Felker	  Base name (without suffix, relative to arch/sh/boot/dts) for the
763190fe191SRich Felker	  a DTS file that will be used to produce the DTB linked into the
764190fe191SRich Felker	  kernel.
765190fe191SRich Felker
766ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
767b412a49aSPaul Mundt	hex
768b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
769b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
770b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
771ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
772ea0e1a9aSPaul Mundt	default "0x00001000"
773ea0e1a9aSPaul Mundt	help
774ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
775ea0e1a9aSPaul Mundt
776ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
777b412a49aSPaul Mundt	hex
778b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
779a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
780b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
781b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
782b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
783b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
784ea0e1a9aSPaul Mundt	default "0x00800000"
785ea0e1a9aSPaul Mundt	help
786ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
787ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
788ea0e1a9aSPaul Mundt	  memory.
789ea0e1a9aSPaul Mundt
790b412a49aSPaul Mundtconfig ENTRY_OFFSET
791b412a49aSPaul Mundt	hex
792b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
793b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
794b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
795b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
796b412a49aSPaul Mundt	default "0x00000000"
797b412a49aSPaul Mundt
7984705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7994705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8000d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
8014705b2e8SMagnus Damm	help
8024705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8034705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8044705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8054705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8064705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8074705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8084705b2e8SMagnus Damm
809d724a9c9SPawel Mollchoice
810d724a9c9SPawel Moll	prompt "Kernel command line"
811d724a9c9SPawel Moll	optional
812d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
813d724a9c9SPawel Moll	help
814d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
815d724a9c9SPawel Moll	  to be set.
816d724a9c9SPawel Moll
817d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
818d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
819d724a9c9SPawel Moll	help
820d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
821d724a9c9SPawel Moll	  a bootloader.
822d724a9c9SPawel Moll
823d724a9c9SPawel Mollconfig CMDLINE_EXTEND
824d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
825d724a9c9SPawel Moll	help
826d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
827d724a9c9SPawel Moll	  by a bootloader.
828d724a9c9SPawel Moll
829d724a9c9SPawel Mollendchoice
830ea0e1a9aSPaul Mundt
831ea0e1a9aSPaul Mundtconfig CMDLINE
832d724a9c9SPawel Moll	string "Kernel command line arguments string"
833d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
834ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
835ea0e1a9aSPaul Mundt
836ea0e1a9aSPaul Mundtendmenu
837ea0e1a9aSPaul Mundt
838ea0e1a9aSPaul Mundtmenu "Bus options"
839ea0e1a9aSPaul Mundt
840ea0e1a9aSPaul Mundtconfig SUPERHYWAY
841ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
842ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
843ea0e1a9aSPaul Mundt
844ea0e1a9aSPaul Mundtconfig MAPLE
845ea0e1a9aSPaul Mundt	bool "Maple Bus support"
846ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
847ea0e1a9aSPaul Mundt	help
848ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
849ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
850ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
851ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
852ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
853ea0e1a9aSPaul Mundt	 connection.
854ea0e1a9aSPaul Mundt
855ea0e1a9aSPaul Mundtendmenu
856ea0e1a9aSPaul Mundt
857ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
858f4cb5700SJohannes Berg
859c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
860c6f17cb2SMagnus Damm
861c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
862ea0e1a9aSPaul Mundt
863ea0e1a9aSPaul Mundtendmenu
864