xref: /openbmc/linux/arch/sh/Kconfig (revision 91194e9b)
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
8560b8c0eSRob Landley	select HAVE_PATA_PLATFORM
96d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
10ff4c25f2SChristoph Hellwig	select DMA_DECLARE_COHERENT
11ce816fa8SUwe Kleine-König	select HAVE_IDE if HAS_IOPORT_MAP
1242d4b839SMathieu Desnoyers	select HAVE_OPROFILE
13d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
14cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
159b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
1667a929e0SChristoph Hellwig	select HAVE_FAST_GUP if MMU
177563bbf8SMark Brown	select ARCH_HAVE_CUSTOM_GPIO_H
18df013ffbSHuang Ying	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
19957e3facSRiku Voipio	select ARCH_HAS_GCOV_PROFILE_ALL
2072f0c137SPaul Mundt	select PERF_USE_VMALLOC
21b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
22df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
23fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS
2407e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2507e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2650cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
27c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
28af1839ebSCatalin Marinas	select HAVE_UID16
29c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
30a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
31eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
322ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
33ed170924SPaul Mundt	select IRQ_FORCED_THREADING
346eac1af0SPaul Mundt	select RTC_LIB
35f01789c6SPaul Mundt	select GENERIC_ATOMIC64
363d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
37ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
38dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
398cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
408cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
41eb01d42aSChristoph Hellwig	select GENERIC_PCI_IOMAP if PCI
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
47eb01d42aSChristoph Hellwig	select NO_GENERIC_PCI_IOPORT_MAP if PCI
48881e252dSAl Viro	select OLD_SIGSUSPEND
490679a858SAl Viro	select OLD_SIGACTION
50eb01d42aSChristoph Hellwig	select PCI_DOMAINS if PCI
517a017721SAKASHI Takahiro	select HAVE_ARCH_AUDITSYSCALL
5272cc564fSRich Felker	select HAVE_FUTEX_CMPXCHG if FUTEX
5342a0bb3fSPetr Mladek	select HAVE_NMI
5486596f0aSChristoph Hellwig	select NEED_SG_DMA_LENGTH
554eb0716eSAlexandre Ghiti	select ARCH_HAS_GIGANTIC_PAGE
56942fa985SYury Norov	select ARCH_32BIT_OFF_T
573c9b9accSChristoph Hellwig	select GUP_GET_PTE_LOW_HIGH if X2TLB
58d39f5450SChris Smith	select HAVE_KPROBES
59d39f5450SChris Smith	select HAVE_KRETPROBES
606d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
61694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
62fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
63fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
64c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
65327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
66ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
676fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
680102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
69e583d6b3SSam Ravnborg	select PERF_EVENTS
708dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
7157b81330SPaul Mundt	select SPARSE_IRQ
72d148eac0SMasahiro Yamada	select HAVE_STACKPROTECTOR
7337744feeSArnd Bergmann	help
7437744feeSArnd Bergmann	  The SuperH is a RISC processor targeted for use in embedded systems
7537744feeSArnd Bergmann	  and consumer electronics; it was also used in the Sega Dreamcast
7637744feeSArnd Bergmann	  gaming console.  The SuperH port has a home page at
7737744feeSArnd Bergmann	  <http://www.linux-sh.org/>.
78ea0e1a9aSPaul Mundt
79ea0e1a9aSPaul Mundtconfig GENERIC_BUG
80ea0e1a9aSPaul Mundt	def_bool y
8137744feeSArnd Bergmann	depends on BUG
823767f3f1SPaul Mundt
83ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
84d7ef4fb3SHarvey Harrison	def_bool y
85ea0e1a9aSPaul Mundt
86ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
87cf204fa7SPaul Mundt	bool
88ea0e1a9aSPaul Mundt
89bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
90bdcab87bSPaul Mundt	def_bool y
917be60ccbSThomas Gleixner	depends on SMP && PREEMPTION
92bdcab87bSPaul Mundt
93af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
94af998a9aSMagnus Damm	def_bool n
95af998a9aSMagnus Damm
96af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
97af998a9aSMagnus Damm	def_bool n
98ea0e1a9aSPaul Mundt
99ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
100ea0e1a9aSPaul Mundt	bool
101af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
102ea0e1a9aSPaul Mundt
103ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
104ffb4a73dSPaul Mundt	bool
105ffb4a73dSPaul Mundt
106ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
107ea0e1a9aSPaul Mundt	bool
108ea0e1a9aSPaul Mundt
109ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
110ea0e1a9aSPaul Mundt	bool
111ea0e1a9aSPaul Mundt
112ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
113d7ef4fb3SHarvey Harrison	def_bool y
114ea0e1a9aSPaul Mundt
115ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
116d7ef4fb3SHarvey Harrison	def_bool y
117ea0e1a9aSPaul Mundt
118ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
119d7ef4fb3SHarvey Harrison	def_bool n
120ea0e1a9aSPaul Mundt
121ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
122d7ef4fb3SHarvey Harrison	def_bool n
123ea0e1a9aSPaul Mundt
124ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
12537b7a978SPaul Mundt	def_bool !PCI
1268a8e5462SGeert Uytterhoeven	depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
1278a8e5462SGeert Uytterhoeven		   !SH_SOLUTION_ENGINE
12886e4dd5aSPaul Mundt
129e7cc9a73SMagnus Dammconfig IO_TRAPPED
130e7cc9a73SMagnus Damm	bool
131e7cc9a73SMagnus Damm
132b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
133b7e68d68SPaul Mundt	bool
134b7e68d68SPaul Mundt
13501be5d63SPaul Mundtconfig DMA_COHERENT
13601be5d63SPaul Mundt	bool
13701be5d63SPaul Mundt
13801be5d63SPaul Mundtconfig DMA_NONCOHERENT
13901be5d63SPaul Mundt	def_bool !DMA_COHERENT
1406fa1d28eSChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
14101be5d63SPaul Mundt
14269543d63SKirill A. Shutemovconfig PGTABLE_LEVELS
14369543d63SKirill A. Shutemov	default 3 if X2TLB
14469543d63SKirill A. Shutemov	default 2
14569543d63SKirill A. Shutemov
146ea0e1a9aSPaul Mundtmenu "System type"
147ea0e1a9aSPaul Mundt
148ea0e1a9aSPaul Mundt#
149ea0e1a9aSPaul Mundt# Processor families
150ea0e1a9aSPaul Mundt#
151ea0e1a9aSPaul Mundtconfig CPU_SH2
152ea0e1a9aSPaul Mundt	bool
153049d2804SGeert Uytterhoeven	select SH_INTC
154ea0e1a9aSPaul Mundt
155ea0e1a9aSPaul Mundtconfig CPU_SH2A
156ea0e1a9aSPaul Mundt	bool
157ea0e1a9aSPaul Mundt	select CPU_SH2
158e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
159ea0e1a9aSPaul Mundt
1605a846abaSRich Felkerconfig CPU_J2
1615a846abaSRich Felker	bool
1625a846abaSRich Felker	select CPU_SH2
1635a846abaSRich Felker	select OF
1645a846abaSRich Felker	select OF_EARLY_FLATTREE
1655a846abaSRich Felker
166ea0e1a9aSPaul Mundtconfig CPU_SH3
167ea0e1a9aSPaul Mundt	bool
168ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
169ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
170049d2804SGeert Uytterhoeven	select SH_INTC
171fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
172ea0e1a9aSPaul Mundt
173ea0e1a9aSPaul Mundtconfig CPU_SH4
174ea0e1a9aSPaul Mundt	bool
175ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
176ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
177ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
178049d2804SGeert Uytterhoeven	select SH_INTC
179fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
180ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
181ea0e1a9aSPaul Mundt
182ea0e1a9aSPaul Mundtconfig CPU_SH4A
183ea0e1a9aSPaul Mundt	bool
184ea0e1a9aSPaul Mundt	select CPU_SH4
185ea0e1a9aSPaul Mundt
186ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
187ea0e1a9aSPaul Mundt	bool
188ea0e1a9aSPaul Mundt	select CPU_SH4A
189ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
190ea0e1a9aSPaul Mundt
191ea0e1a9aSPaul Mundtconfig CPU_SHX2
192ea0e1a9aSPaul Mundt	bool
193ea0e1a9aSPaul Mundt
194ea0e1a9aSPaul Mundtconfig CPU_SHX3
195ea0e1a9aSPaul Mundt	bool
19601be5d63SPaul Mundt	select DMA_COHERENT
1974b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
1984b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
199ea0e1a9aSPaul Mundt
200dc65a977SPaul Mundtconfig ARCH_SHMOBILE
201dc65a977SPaul Mundt	bool
20277594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
203464ed18eSRafael J. Wysocki	select PM
204dc65a977SPaul Mundt
20586c8c047SMatt Flemingconfig CPU_HAS_PMU
20686c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
20786c8c047SMatt Fleming       default y
20886c8c047SMatt Fleming       bool
20986c8c047SMatt Fleming
210ea0e1a9aSPaul Mundtchoice
211ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
212ea0e1a9aSPaul Mundt
213ea0e1a9aSPaul Mundt#
214ea0e1a9aSPaul Mundt# Processor subtypes
215ea0e1a9aSPaul Mundt#
216ea0e1a9aSPaul Mundt
217ea0e1a9aSPaul Mundt# SH-2 Processor Support
218ea0e1a9aSPaul Mundt
219ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
220ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
221ea0e1a9aSPaul Mundt	select CPU_SH2
222fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
223ea0e1a9aSPaul Mundt
2245a846abaSRich Felkerconfig CPU_SUBTYPE_J2
2255a846abaSRich Felker	bool "Support J2 processor"
2265a846abaSRich Felker	select CPU_J2
227b4214e41SRich Felker	select SYS_SUPPORTS_SMP
228b4214e41SRich Felker	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2295a846abaSRich Felker
230ea0e1a9aSPaul Mundt# SH-2A Processor Support
231ea0e1a9aSPaul Mundt
2322825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2332825999eSPeter Griffin	bool "Support SH7201 processor"
2342825999eSPeter Griffin	select CPU_SH2A
2352825999eSPeter Griffin	select CPU_HAS_FPU
236fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2372825999eSPeter Griffin
2386d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2396d01f510SPaul Mundt	bool "Support SH7203 processor"
2406d01f510SPaul Mundt	select CPU_SH2A
24174d99a5eSPaul Mundt	select CPU_HAS_FPU
242fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
243fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
244b768ecbcSLaurent Pinchart	select PINCTRL
2456d01f510SPaul Mundt
246ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
247ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
248ea0e1a9aSPaul Mundt	select CPU_SH2A
249fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
250fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
251ea0e1a9aSPaul Mundt
252a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
253a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
254a8f67f4bSPaul Mundt	select CPU_SH2A
25574d99a5eSPaul Mundt	select CPU_HAS_FPU
256fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
257fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
258a8f67f4bSPaul Mundt
25951ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
26051ce3068SPhil Edworthy	bool "Support SH7264 processor"
26151ce3068SPhil Edworthy	select CPU_SH2A
26251ce3068SPhil Edworthy	select CPU_HAS_FPU
263fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
264fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2655946e7bbSLaurent Pinchart	select PINCTRL
26651ce3068SPhil Edworthy
2670b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
2680b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
2690b25b7c8SPhil Edworthy	select CPU_SH2A
2700b25b7c8SPhil Edworthy	select CPU_HAS_FPU
271fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
272fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
273fb872fccSLaurent Pinchart	select PINCTRL
2740b25b7c8SPhil Edworthy
2752ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2762ad69908SPaul Mundt	bool "Support MX-G processor"
2772ad69908SPaul Mundt	select CPU_SH2A
278fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2792ad69908SPaul Mundt	help
2802ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
2812ad69908SPaul Mundt
282ea0e1a9aSPaul Mundt# SH-3 Processor Support
283ea0e1a9aSPaul Mundt
284ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
285ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
286ea0e1a9aSPaul Mundt	select CPU_SH3
287ea0e1a9aSPaul Mundt
288ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
289ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
290ea0e1a9aSPaul Mundt	select CPU_SH3
291ea0e1a9aSPaul Mundt	help
292ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
293ea0e1a9aSPaul Mundt
294ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
295ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
296ea0e1a9aSPaul Mundt	select CPU_SH3
297ea0e1a9aSPaul Mundt	help
298ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
299ea0e1a9aSPaul Mundt
300ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
301ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
302ea0e1a9aSPaul Mundt	select CPU_SH3
303ea0e1a9aSPaul Mundt	help
304ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
305ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
306ea0e1a9aSPaul Mundt
307ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
308ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
309ea0e1a9aSPaul Mundt	select CPU_SH3
310ea0e1a9aSPaul Mundt	help
311ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
312ea0e1a9aSPaul Mundt
313ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
314ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
315ea0e1a9aSPaul Mundt	select CPU_SH3
316ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
317ea0e1a9aSPaul Mundt	help
318ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
319ea0e1a9aSPaul Mundt
320ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
321ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
322ea0e1a9aSPaul Mundt	select CPU_SH3
323ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
324ea0e1a9aSPaul Mundt	help
325ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
326ea0e1a9aSPaul Mundt
327ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
328ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
329ea0e1a9aSPaul Mundt	select CPU_SH3
330ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
331fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3327b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
33385db6bffSLaurent Pinchart	select PINCTRL
334ea0e1a9aSPaul Mundt	help
335ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
336ea0e1a9aSPaul Mundt
33731a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
33831a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
33931a49c4bSYoshihiro Shimoda	select CPU_SH3
34031a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
341fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3427b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
34331a49c4bSYoshihiro Shimoda	help
34431a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
34531a49c4bSYoshihiro Shimoda
346ea0e1a9aSPaul Mundt# SH-4 Processor Support
347ea0e1a9aSPaul Mundt
348ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
349ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
350ea0e1a9aSPaul Mundt	select CPU_SH4
351ea0e1a9aSPaul Mundt	help
352ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
353ea0e1a9aSPaul Mundt
354ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
355ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
356ea0e1a9aSPaul Mundt	select CPU_SH4
357ea0e1a9aSPaul Mundt	help
358ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
359ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
360ea0e1a9aSPaul Mundt
361ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
362ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
363ea0e1a9aSPaul Mundt	select CPU_SH4
364ea0e1a9aSPaul Mundt
365ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
366ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
367ea0e1a9aSPaul Mundt	select CPU_SH4
368ea0e1a9aSPaul Mundt
369ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
370ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
371ea0e1a9aSPaul Mundt	select CPU_SH4
372ea0e1a9aSPaul Mundt	help
373ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
374ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
375ea0e1a9aSPaul Mundt
376ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
377ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
378ea0e1a9aSPaul Mundt	select CPU_SH4
379ea0e1a9aSPaul Mundt
380ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
381ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
382ea0e1a9aSPaul Mundt	select CPU_SH4
383ea0e1a9aSPaul Mundt
384ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
385ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
386ea0e1a9aSPaul Mundt	select CPU_SH4
387ea0e1a9aSPaul Mundt
388ea0e1a9aSPaul Mundt# SH-4A Processor Support
389ea0e1a9aSPaul Mundt
390178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
391178dd0cdSPaul Mundt	bool "Support SH7723 processor"
392178dd0cdSPaul Mundt	select CPU_SH4A
393178dd0cdSPaul Mundt	select CPU_SHX2
394dc65a977SPaul Mundt	select ARCH_SHMOBILE
395178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
396fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
39716941a89SLaurent Pinchart	select PINCTRL
398178dd0cdSPaul Mundt	help
399178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
400178dd0cdSPaul Mundt
4010207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4020207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4030207a2efSKuninori Morimoto	select CPU_SH4A
4040207a2efSKuninori Morimoto	select CPU_SHX2
40559fe700dSPaul Mundt	select ARCH_SHMOBILE
4060207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
407fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
40818ebd228SLaurent Pinchart	select PINCTRL
4090207a2efSKuninori Morimoto	help
4100207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4110207a2efSKuninori Morimoto
412fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
413fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
414fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
415fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
4162c172182SLaurent Pinchart	select PINCTRL
417fea88a0cSNobuhiro Iwamatsu	help
418fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
419fea88a0cSNobuhiro Iwamatsu
420c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
421c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
422c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
423c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
424eb61b772SLaurent Pinchart	select PINCTRL
425c01f0f1aSYoshihiro Shimoda	help
426c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
427c01f0f1aSYoshihiro Shimoda
4287d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4297d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4307d740a06SYoshihiro Shimoda	select CPU_SH4A
4317b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4327d740a06SYoshihiro Shimoda	help
4337d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4347d740a06SYoshihiro Shimoda
435ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
436ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
437ea0e1a9aSPaul Mundt	select CPU_SH4A
438ea0e1a9aSPaul Mundt
439ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
440ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
441ea0e1a9aSPaul Mundt	select CPU_SH4A
442ea0e1a9aSPaul Mundt
443ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
444ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
445ea0e1a9aSPaul Mundt	select CPU_SH4A
446ea0e1a9aSPaul Mundt	select CPU_SHX2
447ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
448ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
44977bd27b2SLaurent Pinchart	select PINCTRL
450ea0e1a9aSPaul Mundt
45155ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
45255ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
45355ba99ebSKuninori Morimoto	select CPU_SH4A
45437042fbdSPaul Mundt	select CPU_SHX3
4558263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4562eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4577b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4587b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
459c0fdbff9SLaurent Pinchart	select PINCTRL
46055ba99ebSKuninori Morimoto
461ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
462ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
463ea0e1a9aSPaul Mundt	select CPU_SH4A
464ea0e1a9aSPaul Mundt	select CPU_SHX3
4655840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
466fdcfdfa1SLinus Walleij	select GPIOLIB
4673e347f08SLaurent Pinchart	select PINCTRL
468ea0e1a9aSPaul Mundt
469ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
470ea0e1a9aSPaul Mundt
471ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
472ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
473ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
474dc65a977SPaul Mundt	select ARCH_SHMOBILE
475fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
476ea0e1a9aSPaul Mundt
477ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
478ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
479ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
480ea0e1a9aSPaul Mundt	select CPU_SHX2
481dc65a977SPaul Mundt	select ARCH_SHMOBILE
482ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
483ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
484fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
485ef97c3c1SLaurent Pinchart	select PINCTRL
486ea0e1a9aSPaul Mundt
4879109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
4889109a30eSMagnus Damm	bool "Support SH7366 processor"
4899109a30eSMagnus Damm	select CPU_SH4AL_DSP
4909109a30eSMagnus Damm	select CPU_SHX2
491dc65a977SPaul Mundt	select ARCH_SHMOBILE
4929109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
4939109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
494fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
4959109a30eSMagnus Damm
4963cc000b5SPaul Mundtendchoice
4973cc000b5SPaul Mundt
498ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
499939a24a6SPaul Mundt
500ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
501ea0e1a9aSPaul Mundt
502939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
503ea0e1a9aSPaul Mundt
504ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
505ea0e1a9aSPaul Mundt
506ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
507ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5088152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
509ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5108152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5118152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5128152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5138152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5148152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
5158152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
51643a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
517ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
518ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
519ea0e1a9aSPaul Mundt	default "50000000"
520ea0e1a9aSPaul Mundt	help
521ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
522ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
523ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
524ea0e1a9aSPaul Mundt
52536aa1e32SPaul Mundtconfig SH_CLK_CPG
52636aa1e32SPaul Mundt	def_bool y
52736aa1e32SPaul Mundt
528253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
52936aa1e32SPaul Mundt	depends on SH_CLK_CPG
53043a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
53151ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
532bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
533bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
534253b0887SPaul Mundt
535ea0e1a9aSPaul Mundtendmenu
536ea0e1a9aSPaul Mundt
537ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
538ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
539ea0e1a9aSPaul Mundtendmenu
540ea0e1a9aSPaul Mundt
541ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
542ea0e1a9aSPaul Mundt
543ea0e1a9aSPaul Mundtendmenu
544ea0e1a9aSPaul Mundt
545ea0e1a9aSPaul Mundtmenu "Kernel features"
546ea0e1a9aSPaul Mundt
5478636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz"
548ea0e1a9aSPaul Mundt
549ea0e1a9aSPaul Mundtconfig KEXEC
550ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
55137744feeSArnd Bergmann	depends on MMU
5522965faa5SDave Young	select KEXEC_CORE
553ea0e1a9aSPaul Mundt	help
554ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
555ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
556ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
557ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
558ea0e1a9aSPaul Mundt
559ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
560ea0e1a9aSPaul Mundt
561ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
562ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
563bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
564bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
565bf220695SGeert Uytterhoeven	  made.
566ea0e1a9aSPaul Mundt
567ea0e1a9aSPaul Mundtconfig CRASH_DUMP
568ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
56937744feeSArnd Bergmann	depends on BROKEN_ON_SMP
570ea0e1a9aSPaul Mundt	help
571ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
572ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
573ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
574ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
575ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
576ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
577e66ac3f2SSimon Horman	  PHYSICAL_START.
578ea0e1a9aSPaul Mundt
579330d4810SMauro Carvalho Chehab	  For more details see Documentation/admin-guide/kdump/kdump.rst
580ea0e1a9aSPaul Mundt
581b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
582b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
58337744feeSArnd Bergmann	depends on KEXEC && HIBERNATION
584b7cf6ddcSMagnus Damm	help
585b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
586b7cf6ddcSMagnus Damm	  code via KEXEC
587b7cf6ddcSMagnus Damm
588e66ac3f2SSimon Hormanconfig PHYSICAL_START
589e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
590e66ac3f2SSimon Horman	default MEMORY_START
591a7f7f624SMasahiro Yamada	help
592e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
593e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
594e66ac3f2SSimon Horman
595e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
596e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
597e66ac3f2SSimon Horman	  than the panic-ed kernel.
598e66ac3f2SSimon Horman
599c4637d47SPaul Mundtconfig SECCOMP
600c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
601c4637d47SPaul Mundt	depends on PROC_FS
602c4637d47SPaul Mundt	help
603c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
604c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
605c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
606c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
607c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
608c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
609c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
610c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
611c4637d47SPaul Mundt	  mode.
612c4637d47SPaul Mundt
613c4637d47SPaul Mundt	  If unsure, say N.
614c4637d47SPaul Mundt
615ea0e1a9aSPaul Mundtconfig SMP
616ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
617ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
618a7f7f624SMasahiro Yamada	help
619ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
6204a474157SRobert Graffham	  a system with only one CPU, say N. If you have a system with more
6214a474157SRobert Graffham	  than one CPU, say Y.
622ea0e1a9aSPaul Mundt
6234a474157SRobert Graffham	  If you say N here, the kernel will run on uni- and multiprocessor
624ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
625ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
6264a474157SRobert Graffham	  uniprocessor machines. On a uniprocessor machine, the kernel
627ea0e1a9aSPaul Mundt	  will run faster if you say N here.
628ea0e1a9aSPaul Mundt
629ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
630ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
631ea0e1a9aSPaul Mundt
6324f4cfa6cSMauro Carvalho Chehab	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
63391194e9bSAlexander A. Klimov	  available at <https://www.tldp.org/docs.html#howto>.
634ea0e1a9aSPaul Mundt
635ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
636ea0e1a9aSPaul Mundt
637ea0e1a9aSPaul Mundtconfig NR_CPUS
638ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
639ea0e1a9aSPaul Mundt	range 2 32
640ea0e1a9aSPaul Mundt	depends on SMP
6412eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
642ea0e1a9aSPaul Mundt	default "2"
643ea0e1a9aSPaul Mundt	help
644ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
645ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
646ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
647ea0e1a9aSPaul Mundt
648ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
649ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
650ea0e1a9aSPaul Mundt
651763142d1SPaul Mundtconfig HOTPLUG_CPU
652763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
65340b31360SStephen Rothwell	depends on SMP
654763142d1SPaul Mundt	help
655763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
656763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
657763142d1SPaul Mundt
658ea0e1a9aSPaul Mundtconfig GUSA
659ea0e1a9aSPaul Mundt	def_bool y
66037744feeSArnd Bergmann	depends on !SMP
661ea0e1a9aSPaul Mundt	help
662ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
663ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
664ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
665ea0e1a9aSPaul Mundt
666ea0e1a9aSPaul Mundt	  For additional information, design information can be found
667ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
668ea0e1a9aSPaul Mundt
669ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
670ea0e1a9aSPaul Mundt	  atomicity implementations exist.
671ea0e1a9aSPaul Mundt
6721efe4ce3SStuart Menefyconfig GUSA_RB
6731efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
6741efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
6751efe4ce3SStuart Menefy	help
6761efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
677692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
6781efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
6791efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
680692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
6811efe4ce3SStuart Menefy
68286c8c047SMatt Flemingconfig HW_PERF_EVENTS
68386c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
68486c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
68586c8c047SMatt Fleming	default y
68686c8c047SMatt Fleming	help
68786c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
68886c8c047SMatt Fleming	  disabled, perf events will use software events only.
68986c8c047SMatt Fleming
69043b8774dSPaul Mundtsource "drivers/sh/Kconfig"
69143b8774dSPaul Mundt
692ea0e1a9aSPaul Mundtendmenu
693ea0e1a9aSPaul Mundt
694ea0e1a9aSPaul Mundtmenu "Boot options"
695ea0e1a9aSPaul Mundt
696190fe191SRich Felkerconfig USE_BUILTIN_DTB
697190fe191SRich Felker	bool "Use builtin DTB"
698190fe191SRich Felker	default n
699190fe191SRich Felker	depends on SH_DEVICE_TREE
700190fe191SRich Felker	help
701190fe191SRich Felker	  Link a device tree blob for particular hardware into the kernel,
702190fe191SRich Felker	  suppressing use of the DTB pointer provided by the bootloader.
703190fe191SRich Felker	  This option should only be used with legacy bootloaders that are
704190fe191SRich Felker	  not capable of providing a DTB to the kernel, or for experimental
705190fe191SRich Felker	  hardware without stable device tree bindings.
706190fe191SRich Felker
707190fe191SRich Felkerconfig BUILTIN_DTB_SOURCE
708190fe191SRich Felker	string "Source file for builtin DTB"
709190fe191SRich Felker	default ""
710190fe191SRich Felker	depends on USE_BUILTIN_DTB
711190fe191SRich Felker	help
712190fe191SRich Felker	  Base name (without suffix, relative to arch/sh/boot/dts) for the
713190fe191SRich Felker	  a DTS file that will be used to produce the DTB linked into the
714190fe191SRich Felker	  kernel.
715190fe191SRich Felker
716ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
717b412a49aSPaul Mundt	hex
718b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
719b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
720b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
721ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
722ea0e1a9aSPaul Mundt	default "0x00001000"
723ea0e1a9aSPaul Mundt	help
724ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
725ea0e1a9aSPaul Mundt
726ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
727b412a49aSPaul Mundt	hex
728b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
729b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
730b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
731b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
732b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
733ea0e1a9aSPaul Mundt	default "0x00800000"
734ea0e1a9aSPaul Mundt	help
735ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
736ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
737ea0e1a9aSPaul Mundt	  memory.
738ea0e1a9aSPaul Mundt
739b412a49aSPaul Mundtconfig ENTRY_OFFSET
740b412a49aSPaul Mundt	hex
741b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
742b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
743b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
744b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
745b412a49aSPaul Mundt	default "0x00000000"
746b412a49aSPaul Mundt
7474705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7484705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7490d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
7504705b2e8SMagnus Damm	help
7514705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
7524705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
7534705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
7544705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
7554705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
7564705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
7574705b2e8SMagnus Damm
758d724a9c9SPawel Mollchoice
759d724a9c9SPawel Moll	prompt "Kernel command line"
760d724a9c9SPawel Moll	optional
761d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
762d724a9c9SPawel Moll	help
763d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
764d724a9c9SPawel Moll	  to be set.
765d724a9c9SPawel Moll
766d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
767d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
768d724a9c9SPawel Moll	help
769d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
770d724a9c9SPawel Moll	  a bootloader.
771d724a9c9SPawel Moll
772d724a9c9SPawel Mollconfig CMDLINE_EXTEND
773d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
774d724a9c9SPawel Moll	help
775d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
776d724a9c9SPawel Moll	  by a bootloader.
777d724a9c9SPawel Moll
778d724a9c9SPawel Mollendchoice
779ea0e1a9aSPaul Mundt
780ea0e1a9aSPaul Mundtconfig CMDLINE
781d724a9c9SPawel Moll	string "Kernel command line arguments string"
782d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
783ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
784ea0e1a9aSPaul Mundt
785ea0e1a9aSPaul Mundtendmenu
786ea0e1a9aSPaul Mundt
787ea0e1a9aSPaul Mundtmenu "Bus options"
788ea0e1a9aSPaul Mundt
789ea0e1a9aSPaul Mundtconfig SUPERHYWAY
790ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
791ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
792ea0e1a9aSPaul Mundt
793ea0e1a9aSPaul Mundtconfig MAPLE
794ea0e1a9aSPaul Mundt	bool "Maple Bus support"
795ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
796ea0e1a9aSPaul Mundt	help
797ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
798ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
799ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
800ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
801ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
802ea0e1a9aSPaul Mundt	 connection.
803ea0e1a9aSPaul Mundt
804ea0e1a9aSPaul Mundtendmenu
805ea0e1a9aSPaul Mundt
806ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
807f4cb5700SJohannes Berg
808c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
809c6f17cb2SMagnus Damm
810c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
811ea0e1a9aSPaul Mundt
812ea0e1a9aSPaul Mundtendmenu
813