xref: /openbmc/linux/arch/sh/Kconfig (revision 45624ac3)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
345624ac3SRich Felker	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
409d8dd93SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
5560b8c0eSRob Landley	select HAVE_PATA_PLATFORM
66d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
7ce816fa8SUwe Kleine-König	select HAVE_IDE if HAS_IOPORT_MAP
895f72d1eSYinghai Lu	select HAVE_MEMBLOCK
9534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
10adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
1142d4b839SMathieu Desnoyers	select HAVE_OPROFILE
129de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
13d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
14f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
15cdd6c482SIngo Molnar	select HAVE_PERF_EVENTS
169b2a60c4SCatalin Marinas	select HAVE_DEBUG_BUGVERBOSE
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
2307e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2407e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2550cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
26c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
27af1839ebSCatalin Marinas	select HAVE_UID16
28c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
29a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
30eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
312ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
32ed170924SPaul Mundt	select IRQ_FORCED_THREADING
336eac1af0SPaul Mundt	select RTC_LIB
34f01789c6SPaul Mundt	select GENERIC_ATOMIC64
353d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
36ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
37dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
388cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
398cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
400e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
41cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
42786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
43786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
44881e252dSAl Viro	select OLD_SIGSUSPEND
450679a858SAl Viro	select OLD_SIGACTION
467a017721SAKASHI Takahiro	select HAVE_ARCH_AUDITSYSCALL
47ea0e1a9aSPaul Mundt	help
48ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
49ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
50ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
51ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
52ea0e1a9aSPaul Mundt
53ea0e1a9aSPaul Mundtconfig SUPERH32
543cc000b5SPaul Mundt	def_bool ARCH = "sh"
55d39f5450SChris Smith	select HAVE_KPROBES
56d39f5450SChris Smith	select HAVE_KRETPROBES
576d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
58694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
59fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
60fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
61e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
62c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
63327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
64ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
656fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
660102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
67e583d6b3SSam Ravnborg	select PERF_EVENTS
688dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
6957b81330SPaul Mundt	select SPARSE_IRQ
7019952a92SKees Cook	select HAVE_CC_STACKPROTECTOR
71ea0e1a9aSPaul Mundt
72ea0e1a9aSPaul Mundtconfig SUPERH64
733cc000b5SPaul Mundt	def_bool ARCH = "sh64"
743a898c0fSPaul Mundt	select KALLSYMS
75ea0e1a9aSPaul Mundt
76f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
77f42b7e3dSPaul Mundt	string
78f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
79f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
80f42b7e3dSPaul Mundt
81ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
82d7ef4fb3SHarvey Harrison	def_bool y
83ea0e1a9aSPaul Mundt
84ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
85ea0e1a9aSPaul Mundt	bool
86ea0e1a9aSPaul Mundt
87ea0e1a9aSPaul Mundtconfig GENERIC_BUG
88ea0e1a9aSPaul Mundt	def_bool y
89a82d53ecSPaul Mundt	depends on BUG && SUPERH32
90ea0e1a9aSPaul Mundt
913767f3f1SPaul Mundtconfig GENERIC_CSUM
923767f3f1SPaul Mundt	def_bool y
933767f3f1SPaul Mundt	depends on SUPERH64
943767f3f1SPaul Mundt
95ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
96d7ef4fb3SHarvey Harrison	def_bool y
97ea0e1a9aSPaul Mundt
98ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
99cf204fa7SPaul Mundt	bool
100ea0e1a9aSPaul Mundt
101bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
102bdcab87bSPaul Mundt	def_bool y
103bdcab87bSPaul Mundt	depends on SMP && PREEMPT
104bdcab87bSPaul Mundt
105af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
106af998a9aSMagnus Damm	def_bool n
107af998a9aSMagnus Damm
108af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
109af998a9aSMagnus Damm	def_bool n
110ea0e1a9aSPaul Mundt
111ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
112ea0e1a9aSPaul Mundt	bool
113af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
114ea0e1a9aSPaul Mundt
115ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
116ffb4a73dSPaul Mundt	bool
117ffb4a73dSPaul Mundt
118ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
119ea0e1a9aSPaul Mundt	bool
120ea0e1a9aSPaul Mundt
121ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
122ea0e1a9aSPaul Mundt	bool
123ea0e1a9aSPaul Mundt
124ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
125ea0e1a9aSPaul Mundt	bool
126ea0e1a9aSPaul Mundt
127ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
128d7ef4fb3SHarvey Harrison	def_bool y
129ea0e1a9aSPaul Mundt
130ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
131d7ef4fb3SHarvey Harrison	def_bool y
132ea0e1a9aSPaul Mundt
133ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
134d7ef4fb3SHarvey Harrison	def_bool n
135ea0e1a9aSPaul Mundt
136ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
137d7ef4fb3SHarvey Harrison	def_bool n
138ea0e1a9aSPaul Mundt
139ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
14037b7a978SPaul Mundt	def_bool !PCI
141c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
142c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
14386e4dd5aSPaul Mundt
144e7cc9a73SMagnus Dammconfig IO_TRAPPED
145e7cc9a73SMagnus Damm	bool
146e7cc9a73SMagnus Damm
147b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
148b7e68d68SPaul Mundt	bool
149b7e68d68SPaul Mundt
15001be5d63SPaul Mundtconfig DMA_COHERENT
15101be5d63SPaul Mundt	bool
15201be5d63SPaul Mundt
15301be5d63SPaul Mundtconfig DMA_NONCOHERENT
15401be5d63SPaul Mundt	def_bool !DMA_COHERENT
15501be5d63SPaul Mundt
1565cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1575cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1585cabbb62SFUJITA Tomonori
15918e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
16018e98307SFUJITA Tomonori	def_bool y
16118e98307SFUJITA Tomonori
16269543d63SKirill A. Shutemovconfig PGTABLE_LEVELS
16369543d63SKirill A. Shutemov	default 3 if X2TLB
16469543d63SKirill A. Shutemov	default 2
16569543d63SKirill A. Shutemov
166ea0e1a9aSPaul Mundtsource "init/Kconfig"
167ea0e1a9aSPaul Mundt
168dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
169dc52ddc0SMatt Helsley
170ea0e1a9aSPaul Mundtmenu "System type"
171ea0e1a9aSPaul Mundt
172ea0e1a9aSPaul Mundt#
173ea0e1a9aSPaul Mundt# Processor families
174ea0e1a9aSPaul Mundt#
175ea0e1a9aSPaul Mundtconfig CPU_SH2
176ea0e1a9aSPaul Mundt	bool
177049d2804SGeert Uytterhoeven	select SH_INTC
178ea0e1a9aSPaul Mundt
179ea0e1a9aSPaul Mundtconfig CPU_SH2A
180ea0e1a9aSPaul Mundt	bool
181ea0e1a9aSPaul Mundt	select CPU_SH2
182e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
183ea0e1a9aSPaul Mundt
184ea0e1a9aSPaul Mundtconfig CPU_SH3
185ea0e1a9aSPaul Mundt	bool
186ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
187ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
188049d2804SGeert Uytterhoeven	select SH_INTC
189fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
190ea0e1a9aSPaul Mundt
191ea0e1a9aSPaul Mundtconfig CPU_SH4
192ea0e1a9aSPaul Mundt	bool
193ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
194ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
195ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
196049d2804SGeert Uytterhoeven	select SH_INTC
197fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
198ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
199ea0e1a9aSPaul Mundt
200ea0e1a9aSPaul Mundtconfig CPU_SH4A
201ea0e1a9aSPaul Mundt	bool
202ea0e1a9aSPaul Mundt	select CPU_SH4
203ea0e1a9aSPaul Mundt
204ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
205ea0e1a9aSPaul Mundt	bool
206ea0e1a9aSPaul Mundt	select CPU_SH4A
207ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
208ea0e1a9aSPaul Mundt
209ea0e1a9aSPaul Mundtconfig CPU_SH5
210ea0e1a9aSPaul Mundt	bool
211ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
212fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_TMU
213ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
214ea0e1a9aSPaul Mundt
215ea0e1a9aSPaul Mundtconfig CPU_SHX2
216ea0e1a9aSPaul Mundt	bool
217ea0e1a9aSPaul Mundt
218ea0e1a9aSPaul Mundtconfig CPU_SHX3
219ea0e1a9aSPaul Mundt	bool
22001be5d63SPaul Mundt	select DMA_COHERENT
2214b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2224b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
223ea0e1a9aSPaul Mundt
224dc65a977SPaul Mundtconfig ARCH_SHMOBILE
225dc65a977SPaul Mundt	bool
22677594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
227464ed18eSRafael J. Wysocki	select PM
228dc65a977SPaul Mundt
22986c8c047SMatt Flemingconfig CPU_HAS_PMU
23086c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
23186c8c047SMatt Fleming       default y
23286c8c047SMatt Fleming       bool
23386c8c047SMatt Fleming
2343cc000b5SPaul Mundtif SUPERH32
2353cc000b5SPaul Mundt
236ea0e1a9aSPaul Mundtchoice
237ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
238ea0e1a9aSPaul Mundt
239ea0e1a9aSPaul Mundt#
240ea0e1a9aSPaul Mundt# Processor subtypes
241ea0e1a9aSPaul Mundt#
242ea0e1a9aSPaul Mundt
243ea0e1a9aSPaul Mundt# SH-2 Processor Support
244ea0e1a9aSPaul Mundt
245ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
246ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
247ea0e1a9aSPaul Mundt	select CPU_SH2
248fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
249ea0e1a9aSPaul Mundt
250ea0e1a9aSPaul Mundt# SH-2A Processor Support
251ea0e1a9aSPaul Mundt
2522825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2532825999eSPeter Griffin	bool "Support SH7201 processor"
2542825999eSPeter Griffin	select CPU_SH2A
2552825999eSPeter Griffin	select CPU_HAS_FPU
256fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2572825999eSPeter Griffin
2586d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2596d01f510SPaul Mundt	bool "Support SH7203 processor"
2606d01f510SPaul Mundt	select CPU_SH2A
26174d99a5eSPaul Mundt	select CPU_HAS_FPU
262fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
263fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
264f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
265b768ecbcSLaurent Pinchart	select PINCTRL
2666d01f510SPaul Mundt
267ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
268ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
269ea0e1a9aSPaul Mundt	select CPU_SH2A
270fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
271fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
272ea0e1a9aSPaul Mundt
273a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
274a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
275a8f67f4bSPaul Mundt	select CPU_SH2A
27674d99a5eSPaul Mundt	select CPU_HAS_FPU
277fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
278fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
279a8f67f4bSPaul Mundt
28051ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
28151ce3068SPhil Edworthy	bool "Support SH7264 processor"
28251ce3068SPhil Edworthy	select CPU_SH2A
28351ce3068SPhil Edworthy	select CPU_HAS_FPU
284fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
285fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
2865946e7bbSLaurent Pinchart	select PINCTRL
28751ce3068SPhil Edworthy
2880b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
2890b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
2900b25b7c8SPhil Edworthy	select CPU_SH2A
2910b25b7c8SPhil Edworthy	select CPU_HAS_FPU
292fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
293fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
294fb872fccSLaurent Pinchart	select PINCTRL
2950b25b7c8SPhil Edworthy
2962ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
2972ad69908SPaul Mundt	bool "Support MX-G processor"
2982ad69908SPaul Mundt	select CPU_SH2A
299fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_MTU2
3002ad69908SPaul Mundt	help
3012ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3022ad69908SPaul Mundt
303ea0e1a9aSPaul Mundt# SH-3 Processor Support
304ea0e1a9aSPaul Mundt
305ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
306ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
307ea0e1a9aSPaul Mundt	select CPU_SH3
308ea0e1a9aSPaul Mundt
309ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
310ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
311ea0e1a9aSPaul Mundt	select CPU_SH3
312ea0e1a9aSPaul Mundt	help
313ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
314ea0e1a9aSPaul Mundt
315ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
316ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
317ea0e1a9aSPaul Mundt	select CPU_SH3
318ea0e1a9aSPaul Mundt	help
319ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
320ea0e1a9aSPaul Mundt
321ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
322ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
323ea0e1a9aSPaul Mundt	select CPU_SH3
324ea0e1a9aSPaul Mundt	help
325ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
326ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
327ea0e1a9aSPaul Mundt
328ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
329ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
330ea0e1a9aSPaul Mundt	select CPU_SH3
331ea0e1a9aSPaul Mundt	help
332ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
333ea0e1a9aSPaul Mundt
334ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
335ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
336ea0e1a9aSPaul Mundt	select CPU_SH3
337ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
338ea0e1a9aSPaul Mundt	help
339ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
340ea0e1a9aSPaul Mundt
341ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
342ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
343ea0e1a9aSPaul Mundt	select CPU_SH3
344ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
345ea0e1a9aSPaul Mundt	help
346ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
347ea0e1a9aSPaul Mundt
348ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
349ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
350ea0e1a9aSPaul Mundt	select CPU_SH3
351ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
352fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
353f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
3547b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
35585db6bffSLaurent Pinchart	select PINCTRL
356ea0e1a9aSPaul Mundt	help
357ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
358ea0e1a9aSPaul Mundt
35931a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
36031a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
36131a49c4bSYoshihiro Shimoda	select CPU_SH3
36231a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
363fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
3647b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36531a49c4bSYoshihiro Shimoda	help
36631a49c4bSYoshihiro Shimoda	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
36731a49c4bSYoshihiro Shimoda
368ea0e1a9aSPaul Mundt# SH-4 Processor Support
369ea0e1a9aSPaul Mundt
370ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750
371ea0e1a9aSPaul Mundt	bool "Support SH7750 processor"
372ea0e1a9aSPaul Mundt	select CPU_SH4
373ea0e1a9aSPaul Mundt	help
374ea0e1a9aSPaul Mundt	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
375ea0e1a9aSPaul Mundt
376ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7091
377ea0e1a9aSPaul Mundt	bool "Support SH7091 processor"
378ea0e1a9aSPaul Mundt	select CPU_SH4
379ea0e1a9aSPaul Mundt	help
380ea0e1a9aSPaul Mundt	  Select SH7091 if you have an SH-4 based Sega device (such as
381ea0e1a9aSPaul Mundt	  the Dreamcast, Naomi, and Naomi 2).
382ea0e1a9aSPaul Mundt
383ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750R
384ea0e1a9aSPaul Mundt	bool "Support SH7750R processor"
385ea0e1a9aSPaul Mundt	select CPU_SH4
386ea0e1a9aSPaul Mundt
387ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7750S
388ea0e1a9aSPaul Mundt	bool "Support SH7750S processor"
389ea0e1a9aSPaul Mundt	select CPU_SH4
390ea0e1a9aSPaul Mundt
391ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751
392ea0e1a9aSPaul Mundt	bool "Support SH7751 processor"
393ea0e1a9aSPaul Mundt	select CPU_SH4
394ea0e1a9aSPaul Mundt	help
395ea0e1a9aSPaul Mundt	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
396ea0e1a9aSPaul Mundt	  or if you have a HD6417751R CPU.
397ea0e1a9aSPaul Mundt
398ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7751R
399ea0e1a9aSPaul Mundt	bool "Support SH7751R processor"
400ea0e1a9aSPaul Mundt	select CPU_SH4
401ea0e1a9aSPaul Mundt
402ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7760
403ea0e1a9aSPaul Mundt	bool "Support SH7760 processor"
404ea0e1a9aSPaul Mundt	select CPU_SH4
405ea0e1a9aSPaul Mundt
406ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH4_202
407ea0e1a9aSPaul Mundt	bool "Support SH4-202 processor"
408ea0e1a9aSPaul Mundt	select CPU_SH4
409ea0e1a9aSPaul Mundt
410ea0e1a9aSPaul Mundt# SH-4A Processor Support
411ea0e1a9aSPaul Mundt
412178dd0cdSPaul Mundtconfig CPU_SUBTYPE_SH7723
413178dd0cdSPaul Mundt	bool "Support SH7723 processor"
414178dd0cdSPaul Mundt	select CPU_SH4A
415178dd0cdSPaul Mundt	select CPU_SHX2
416dc65a977SPaul Mundt	select ARCH_SHMOBILE
417178dd0cdSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
418fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
419f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
42016941a89SLaurent Pinchart	select PINCTRL
421178dd0cdSPaul Mundt	help
422178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
423178dd0cdSPaul Mundt
4240207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4250207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4260207a2efSKuninori Morimoto	select CPU_SH4A
4270207a2efSKuninori Morimoto	select CPU_SHX2
42859fe700dSPaul Mundt	select ARCH_SHMOBILE
4290207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
430fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
431f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
43218ebd228SLaurent Pinchart	select PINCTRL
4330207a2efSKuninori Morimoto	help
4340207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4350207a2efSKuninori Morimoto
436fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
437fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
438fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
439fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
440fea88a0cSNobuhiro Iwamatsu	select ARCH_WANT_OPTIONAL_GPIOLIB
4412c172182SLaurent Pinchart	select PINCTRL
442fea88a0cSNobuhiro Iwamatsu	help
443fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
444fea88a0cSNobuhiro Iwamatsu
445c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
446c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
447c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
448c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
449f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
450eb61b772SLaurent Pinchart	select PINCTRL
451c01f0f1aSYoshihiro Shimoda	help
452c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
453c01f0f1aSYoshihiro Shimoda
4547d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4557d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4567d740a06SYoshihiro Shimoda	select CPU_SH4A
4577b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4587d740a06SYoshihiro Shimoda	help
4597d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4607d740a06SYoshihiro Shimoda
461ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
462ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
463ea0e1a9aSPaul Mundt	select CPU_SH4A
464ea0e1a9aSPaul Mundt
465ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
466ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
467ea0e1a9aSPaul Mundt	select CPU_SH4A
468ea0e1a9aSPaul Mundt
469ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
470ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
471ea0e1a9aSPaul Mundt	select CPU_SH4A
472ea0e1a9aSPaul Mundt	select CPU_SHX2
473ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
474ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
475f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
47677bd27b2SLaurent Pinchart	select PINCTRL
477ea0e1a9aSPaul Mundt
47855ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
47955ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
48055ba99ebSKuninori Morimoto	select CPU_SH4A
48137042fbdSPaul Mundt	select CPU_SHX3
4828263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4832eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
484f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4857b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4867b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
487c0fdbff9SLaurent Pinchart	select PINCTRL
48855ba99ebSKuninori Morimoto
489ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
490ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
491ea0e1a9aSPaul Mundt	select CPU_SH4A
492ea0e1a9aSPaul Mundt	select CPU_SHX3
4935840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
494742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
4953e347f08SLaurent Pinchart	select PINCTRL
496ea0e1a9aSPaul Mundt
497ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
498ea0e1a9aSPaul Mundt
499ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
500ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
501ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
502dc65a977SPaul Mundt	select ARCH_SHMOBILE
503fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
504ea0e1a9aSPaul Mundt
505ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
506ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
507ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
508ea0e1a9aSPaul Mundt	select CPU_SHX2
509dc65a977SPaul Mundt	select ARCH_SHMOBILE
510ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
511ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
512fbfa8934SMagnus Damm	select SYS_SUPPORTS_SH_CMT
513f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
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
597ea0e1a9aSPaul Mundtsource 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
629ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
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
68203502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.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 Mundtsource "kernel/Kconfig.preempt"
709ea0e1a9aSPaul Mundt
710ea0e1a9aSPaul Mundtconfig GUSA
711ea0e1a9aSPaul Mundt	def_bool y
7121efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
713ea0e1a9aSPaul Mundt	help
714ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
715ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
716ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
717ea0e1a9aSPaul Mundt
718ea0e1a9aSPaul Mundt	  For additional information, design information can be found
719ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
720ea0e1a9aSPaul Mundt
721ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
722ea0e1a9aSPaul Mundt	  atomicity implementations exist.
723ea0e1a9aSPaul Mundt
7241efe4ce3SStuart Menefyconfig GUSA_RB
7251efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7261efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7271efe4ce3SStuart Menefy	help
7281efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
729692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7301efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7311efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
732692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7331efe4ce3SStuart Menefy
73486c8c047SMatt Flemingconfig HW_PERF_EVENTS
73586c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
73686c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
73786c8c047SMatt Fleming	default y
73886c8c047SMatt Fleming	help
73986c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
74086c8c047SMatt Fleming	  disabled, perf events will use software events only.
74186c8c047SMatt Fleming
74243b8774dSPaul Mundtsource "drivers/sh/Kconfig"
74343b8774dSPaul Mundt
744ea0e1a9aSPaul Mundtendmenu
745ea0e1a9aSPaul Mundt
746ea0e1a9aSPaul Mundtmenu "Boot options"
747ea0e1a9aSPaul Mundt
748ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
749b412a49aSPaul Mundt	hex
750b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
751b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
752b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
753ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
754ea0e1a9aSPaul Mundt	default "0x00001000"
755ea0e1a9aSPaul Mundt	help
756ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
757ea0e1a9aSPaul Mundt
758ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
759b412a49aSPaul Mundt	hex
760b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
761a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
762b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
763b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
764b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
765b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
766ea0e1a9aSPaul Mundt	default "0x00800000"
767ea0e1a9aSPaul Mundt	help
768ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
769ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
770ea0e1a9aSPaul Mundt	  memory.
771ea0e1a9aSPaul Mundt
772b412a49aSPaul Mundtconfig ENTRY_OFFSET
773b412a49aSPaul Mundt	hex
774b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
775b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
776b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
777b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
778b412a49aSPaul Mundt	default "0x00000000"
779b412a49aSPaul Mundt
7804705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
7814705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7820d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
7834705b2e8SMagnus Damm	help
7844705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
7854705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
7864705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
7874705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
7884705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
7894705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
7904705b2e8SMagnus Damm
791d724a9c9SPawel Mollchoice
792d724a9c9SPawel Moll	prompt "Kernel command line"
793d724a9c9SPawel Moll	optional
794d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
795d724a9c9SPawel Moll	help
796d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
797d724a9c9SPawel Moll	  to be set.
798d724a9c9SPawel Moll
799d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
800d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
801d724a9c9SPawel Moll	help
802d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
803d724a9c9SPawel Moll	  a bootloader.
804d724a9c9SPawel Moll
805d724a9c9SPawel Mollconfig CMDLINE_EXTEND
806d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
807d724a9c9SPawel Moll	help
808d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
809d724a9c9SPawel Moll	  by a bootloader.
810d724a9c9SPawel Moll
811d724a9c9SPawel Mollendchoice
812ea0e1a9aSPaul Mundt
813ea0e1a9aSPaul Mundtconfig CMDLINE
814d724a9c9SPawel Moll	string "Kernel command line arguments string"
815d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
816ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
817ea0e1a9aSPaul Mundt
818ea0e1a9aSPaul Mundtendmenu
819ea0e1a9aSPaul Mundt
820ea0e1a9aSPaul Mundtmenu "Bus options"
821ea0e1a9aSPaul Mundt
822ea0e1a9aSPaul Mundtconfig SUPERHYWAY
823ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
824ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
825ea0e1a9aSPaul Mundt
826ea0e1a9aSPaul Mundtconfig MAPLE
827ea0e1a9aSPaul Mundt	bool "Maple Bus support"
828ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
829ea0e1a9aSPaul Mundt	help
830ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
831ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
832ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
833ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
834ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
835ea0e1a9aSPaul Mundt	 connection.
836ea0e1a9aSPaul Mundt
8377693465dSPaul Mundtconfig PCI
8387693465dSPaul Mundt	bool "PCI support"
8397693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
840320e68daSPaul Mundt	select PCI_DOMAINS
84143db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8421e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
8437693465dSPaul Mundt	help
8447693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8457693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8467693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
847ea0e1a9aSPaul Mundt
848320e68daSPaul Mundtconfig PCI_DOMAINS
849320e68daSPaul Mundt	bool
850320e68daSPaul Mundt
851e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
852e16038abSPaul Mundt
853ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
854ea0e1a9aSPaul Mundt
855ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
856ea0e1a9aSPaul Mundt
857ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
858ea0e1a9aSPaul Mundt
859ea0e1a9aSPaul Mundtendmenu
860ea0e1a9aSPaul Mundt
861ea0e1a9aSPaul Mundtmenu "Executable file formats"
862ea0e1a9aSPaul Mundt
863ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
864ea0e1a9aSPaul Mundt
865ea0e1a9aSPaul Mundtendmenu
866ea0e1a9aSPaul Mundt
867ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
868f4cb5700SJohannes Berg
869c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
870c6f17cb2SMagnus Damm
871c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
872ea0e1a9aSPaul Mundt
873ea0e1a9aSPaul Mundtendmenu
874ea0e1a9aSPaul Mundt
875ea0e1a9aSPaul Mundtsource "net/Kconfig"
876ea0e1a9aSPaul Mundt
877ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
878ea0e1a9aSPaul Mundt
879ea0e1a9aSPaul Mundtsource "fs/Kconfig"
880ea0e1a9aSPaul Mundt
881ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
882ea0e1a9aSPaul Mundt
883ea0e1a9aSPaul Mundtsource "security/Kconfig"
884ea0e1a9aSPaul Mundt
885ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
886ea0e1a9aSPaul Mundt
887ea0e1a9aSPaul Mundtsource "lib/Kconfig"
888