xref: /openbmc/linux/arch/sh/Kconfig (revision 19952a92)
1ea0e1a9aSPaul Mundtconfig SUPERH
2ea0e1a9aSPaul Mundt	def_bool y
309d8dd93SMark Salter	select ARCH_MIGHT_HAVE_PC_PARPORT
46a108a14SDavid Rientjes	select EXPERT
56d803ba7SJean-Christop PLAGNIOL-VILLARD	select CLKDEV_LOOKUP
686e4dd5aSPaul Mundt	select HAVE_IDE if HAS_IOPORT
795f72d1eSYinghai Lu	select HAVE_MEMBLOCK
8534cfbeeSTejun Heo	select HAVE_MEMBLOCK_NODE_MAP
9adaf7fd2SPaul Mundt	select ARCH_DISCARD_MEMBLOCK
1042d4b839SMathieu Desnoyers	select HAVE_OPROFILE
119de90ac2SDmitry Baryshkov	select HAVE_GENERIC_DMA_COHERENT
12d7b01f78SPaul Mundt	select HAVE_ARCH_TRACEHOOK
13f802d969SPaul Mundt	select HAVE_DMA_API_DEBUG
1473c926beSPaul Mundt	select HAVE_DMA_ATTRS
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)
1972f0c137SPaul Mundt	select PERF_USE_VMALLOC
20b69ec42bSCatalin Marinas	select HAVE_DEBUG_KMEMLEAK
21df8ce259SPaul Mundt	select HAVE_KERNEL_GZIP
2207e88e1bSPaul Mundt	select HAVE_KERNEL_BZIP2
2307e88e1bSPaul Mundt	select HAVE_KERNEL_LZMA
2450cfa79dSPaul Mundt	select HAVE_KERNEL_XZ
25c7b16efbSPaul Mundt	select HAVE_KERNEL_LZO
26af1839ebSCatalin Marinas	select HAVE_UID16
27c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
28a74f7e04SPaul Mundt	select HAVE_SYSCALL_TRACEPOINTS
29eaaaeef3SPaul Mundt	select HAVE_REGS_AND_STACK_ACCESS_API
302ed86b16SRob Herring	select MAY_HAVE_SPARSE_IRQ
31ed170924SPaul Mundt	select IRQ_FORCED_THREADING
326eac1af0SPaul Mundt	select RTC_LIB
33f01789c6SPaul Mundt	select GENERIC_ATOMIC64
343d44ae40SPaul Mundt	select GENERIC_IRQ_SHOW
35ea0588cbSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
36dc775dd8SThomas Gleixner	select GENERIC_IDLE_POLL_SETUP
378cf200d8SAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
388cf200d8SAnna-Maria Gleixner	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
390e100e11SPaul Mundt	select GENERIC_STRNCPY_FROM_USER
40cba8df4bSPaul Mundt	select GENERIC_STRNLEN_USER
41786d35d4SDavid Howells	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
42786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
43881e252dSAl Viro	select OLD_SIGSUSPEND
440679a858SAl Viro	select OLD_SIGACTION
45ea0e1a9aSPaul Mundt	help
46ea0e1a9aSPaul Mundt	  The SuperH is a RISC processor targeted for use in embedded systems
47ea0e1a9aSPaul Mundt	  and consumer electronics; it was also used in the Sega Dreamcast
48ea0e1a9aSPaul Mundt	  gaming console.  The SuperH port has a home page at
49ea0e1a9aSPaul Mundt	  <http://www.linux-sh.org/>.
50ea0e1a9aSPaul Mundt
51ea0e1a9aSPaul Mundtconfig SUPERH32
523cc000b5SPaul Mundt	def_bool ARCH = "sh"
53d39f5450SChris Smith	select HAVE_KPROBES
54d39f5450SChris Smith	select HAVE_KRETPROBES
556d63e73dSPaul Mundt	select HAVE_IOREMAP_PROT if MMU && !X2TLB
56694f94f2SPaul Mundt	select HAVE_FUNCTION_TRACER
57fad57febSMatt Fleming	select HAVE_FTRACE_MCOUNT_RECORD
58fad57febSMatt Fleming	select HAVE_DYNAMIC_FTRACE
59c1340c05SMatt Fleming	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
60e4b053d9SPaul Mundt	select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
61c1d7e01dSWill Deacon	select ARCH_WANT_IPC_PARSE_VERSION
62327933f5SMatt Fleming	select HAVE_FUNCTION_GRAPH_TRACER
63ab6e570bSPaul Mundt	select HAVE_ARCH_KGDB
646fbfe8d7SPaul Mundt	select HAVE_HW_BREAKPOINT
650102752eSFrederic Weisbecker	select HAVE_MIXED_BREAKPOINTS_REGS
66e583d6b3SSam Ravnborg	select PERF_EVENTS
678dafc346SPaul Mundt	select ARCH_HIBERNATION_POSSIBLE if MMU
6857b81330SPaul Mundt	select SPARSE_IRQ
6919952a92SKees Cook	select HAVE_CC_STACKPROTECTOR
70ea0e1a9aSPaul Mundt
71ea0e1a9aSPaul Mundtconfig SUPERH64
723cc000b5SPaul Mundt	def_bool ARCH = "sh64"
733a898c0fSPaul Mundt	select KALLSYMS
74ea0e1a9aSPaul Mundt
75f42b7e3dSPaul Mundtconfig ARCH_DEFCONFIG
76f42b7e3dSPaul Mundt	string
77f42b7e3dSPaul Mundt	default "arch/sh/configs/shx3_defconfig" if SUPERH32
78f42b7e3dSPaul Mundt	default "arch/sh/configs/cayman_defconfig" if SUPERH64
79f42b7e3dSPaul Mundt
80ea0e1a9aSPaul Mundtconfig RWSEM_GENERIC_SPINLOCK
81d7ef4fb3SHarvey Harrison	def_bool y
82ea0e1a9aSPaul Mundt
83ea0e1a9aSPaul Mundtconfig RWSEM_XCHGADD_ALGORITHM
84ea0e1a9aSPaul Mundt	bool
85ea0e1a9aSPaul Mundt
86ea0e1a9aSPaul Mundtconfig GENERIC_BUG
87ea0e1a9aSPaul Mundt	def_bool y
88a82d53ecSPaul Mundt	depends on BUG && SUPERH32
89ea0e1a9aSPaul Mundt
903767f3f1SPaul Mundtconfig GENERIC_CSUM
913767f3f1SPaul Mundt	def_bool y
923767f3f1SPaul Mundt	depends on SUPERH64
933767f3f1SPaul Mundt
94ea0e1a9aSPaul Mundtconfig GENERIC_HWEIGHT
95d7ef4fb3SHarvey Harrison	def_bool y
96ea0e1a9aSPaul Mundt
97ea0e1a9aSPaul Mundtconfig GENERIC_CALIBRATE_DELAY
98cf204fa7SPaul Mundt	bool
99ea0e1a9aSPaul Mundt
100bdcab87bSPaul Mundtconfig GENERIC_LOCKBREAK
101bdcab87bSPaul Mundt	def_bool y
102bdcab87bSPaul Mundt	depends on SMP && PREEMPT
103bdcab87bSPaul Mundt
104af998a9aSMagnus Dammconfig ARCH_SUSPEND_POSSIBLE
105af998a9aSMagnus Damm	def_bool n
106af998a9aSMagnus Damm
107af998a9aSMagnus Dammconfig ARCH_HIBERNATION_POSSIBLE
108af998a9aSMagnus Damm	def_bool n
109ea0e1a9aSPaul Mundt
110ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_APM_EMULATION
111ea0e1a9aSPaul Mundt	bool
112af998a9aSMagnus Damm	select ARCH_SUSPEND_POSSIBLE
113ea0e1a9aSPaul Mundt
114ffb4a73dSPaul Mundtconfig SYS_SUPPORTS_HUGETLBFS
115ffb4a73dSPaul Mundt	bool
116ffb4a73dSPaul Mundt
117ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_SMP
118ea0e1a9aSPaul Mundt	bool
119ea0e1a9aSPaul Mundt
120ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_NUMA
121ea0e1a9aSPaul Mundt	bool
122ea0e1a9aSPaul Mundt
123ea0e1a9aSPaul Mundtconfig SYS_SUPPORTS_PCI
124ea0e1a9aSPaul Mundt	bool
125ea0e1a9aSPaul Mundt
126f5ad881bSPaul Mundtconfig SYS_SUPPORTS_CMT
127f5ad881bSPaul Mundt	bool
128f5ad881bSPaul Mundt
129d5ed4c2eSMagnus Dammconfig SYS_SUPPORTS_MTU2
130d5ed4c2eSMagnus Damm	bool
131d5ed4c2eSMagnus Damm
1329570ef20SMagnus Dammconfig SYS_SUPPORTS_TMU
1339570ef20SMagnus Damm	bool
1349570ef20SMagnus Damm
135ea0e1a9aSPaul Mundtconfig STACKTRACE_SUPPORT
136d7ef4fb3SHarvey Harrison	def_bool y
137ea0e1a9aSPaul Mundt
138ea0e1a9aSPaul Mundtconfig LOCKDEP_SUPPORT
139d7ef4fb3SHarvey Harrison	def_bool y
140ea0e1a9aSPaul Mundt
1415a89f1adSPaul Mundtconfig HAVE_LATENCYTOP_SUPPORT
1425a89f1adSPaul Mundt	def_bool y
1435a89f1adSPaul Mundt
144ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U32
145d7ef4fb3SHarvey Harrison	def_bool n
146ea0e1a9aSPaul Mundt
147ea0e1a9aSPaul Mundtconfig ARCH_HAS_ILOG2_U64
148d7ef4fb3SHarvey Harrison	def_bool n
149ea0e1a9aSPaul Mundt
15086e4dd5aSPaul Mundtconfig NO_IOPORT
15137b7a978SPaul Mundt	def_bool !PCI
152c30b9c43SPaul Mundt	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
153c30b9c43SPaul Mundt		   !SH_HP6XX && !SH_SOLUTION_ENGINE
15486e4dd5aSPaul Mundt
155e7cc9a73SMagnus Dammconfig IO_TRAPPED
156e7cc9a73SMagnus Damm	bool
157e7cc9a73SMagnus Damm
158b7e68d68SPaul Mundtconfig SWAP_IO_SPACE
159b7e68d68SPaul Mundt	bool
160b7e68d68SPaul Mundt
16101be5d63SPaul Mundtconfig DMA_COHERENT
16201be5d63SPaul Mundt	bool
16301be5d63SPaul Mundt
16401be5d63SPaul Mundtconfig DMA_NONCOHERENT
16501be5d63SPaul Mundt	def_bool !DMA_COHERENT
16601be5d63SPaul Mundt
1675cabbb62SFUJITA Tomonoriconfig NEED_DMA_MAP_STATE
1685cabbb62SFUJITA Tomonori	def_bool DMA_NONCOHERENT
1695cabbb62SFUJITA Tomonori
17018e98307SFUJITA Tomonoriconfig NEED_SG_DMA_LENGTH
17118e98307SFUJITA Tomonori	def_bool y
17218e98307SFUJITA Tomonori
173ea0e1a9aSPaul Mundtsource "init/Kconfig"
174ea0e1a9aSPaul Mundt
175dc52ddc0SMatt Helsleysource "kernel/Kconfig.freezer"
176dc52ddc0SMatt Helsley
177ea0e1a9aSPaul Mundtmenu "System type"
178ea0e1a9aSPaul Mundt
179ea0e1a9aSPaul Mundt#
180ea0e1a9aSPaul Mundt# Processor families
181ea0e1a9aSPaul Mundt#
182ea0e1a9aSPaul Mundtconfig CPU_SH2
183ea0e1a9aSPaul Mundt	bool
184ea0e1a9aSPaul Mundt
185ea0e1a9aSPaul Mundtconfig CPU_SH2A
186ea0e1a9aSPaul Mundt	bool
187ea0e1a9aSPaul Mundt	select CPU_SH2
188e2fcf74fSPaul Mundt	select UNCACHED_MAPPING
189ea0e1a9aSPaul Mundt
190ea0e1a9aSPaul Mundtconfig CPU_SH3
191ea0e1a9aSPaul Mundt	bool
192ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
193ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
1944fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
195ea0e1a9aSPaul Mundt
196ea0e1a9aSPaul Mundtconfig CPU_SH4
197ea0e1a9aSPaul Mundt	bool
198ea0e1a9aSPaul Mundt	select CPU_HAS_INTEVT
199ea0e1a9aSPaul Mundt	select CPU_HAS_SR_RB
200ea0e1a9aSPaul Mundt	select CPU_HAS_FPU if !CPU_SH4AL_DSP
2014fa48e17SPaul Mundt	select SYS_SUPPORTS_TMU
202ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
203ea0e1a9aSPaul Mundt
204ea0e1a9aSPaul Mundtconfig CPU_SH4A
205ea0e1a9aSPaul Mundt	bool
206ea0e1a9aSPaul Mundt	select CPU_SH4
207ea0e1a9aSPaul Mundt
208ea0e1a9aSPaul Mundtconfig CPU_SH4AL_DSP
209ea0e1a9aSPaul Mundt	bool
210ea0e1a9aSPaul Mundt	select CPU_SH4A
211ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
212ea0e1a9aSPaul Mundt
213ea0e1a9aSPaul Mundtconfig CPU_SH5
214ea0e1a9aSPaul Mundt	bool
215ea0e1a9aSPaul Mundt	select CPU_HAS_FPU
216add47067SPaul Mundt	select SYS_SUPPORTS_TMU
217ffb4a73dSPaul Mundt	select SYS_SUPPORTS_HUGETLBFS if MMU
218ea0e1a9aSPaul Mundt
219ea0e1a9aSPaul Mundtconfig CPU_SHX2
220ea0e1a9aSPaul Mundt	bool
221ea0e1a9aSPaul Mundt
222ea0e1a9aSPaul Mundtconfig CPU_SHX3
223ea0e1a9aSPaul Mundt	bool
22401be5d63SPaul Mundt	select DMA_COHERENT
2254b478ee2SPaul Mundt	select SYS_SUPPORTS_SMP
2264b478ee2SPaul Mundt	select SYS_SUPPORTS_NUMA
227ea0e1a9aSPaul Mundt
228dc65a977SPaul Mundtconfig ARCH_SHMOBILE
229dc65a977SPaul Mundt	bool
23077594912SMagnus Damm	select ARCH_SUSPEND_POSSIBLE
231ac2c596bSMagnus Damm	select PM
232ac2c596bSMagnus Damm	select PM_RUNTIME
233dc65a977SPaul Mundt
23486c8c047SMatt Flemingconfig CPU_HAS_PMU
23586c8c047SMatt Fleming       depends on CPU_SH4 || CPU_SH4A
23686c8c047SMatt Fleming       default y
23786c8c047SMatt Fleming       bool
23886c8c047SMatt Fleming
2393cc000b5SPaul Mundtif SUPERH32
2403cc000b5SPaul Mundt
241ea0e1a9aSPaul Mundtchoice
242ea0e1a9aSPaul Mundt	prompt "Processor sub-type selection"
243ea0e1a9aSPaul Mundt
244ea0e1a9aSPaul Mundt#
245ea0e1a9aSPaul Mundt# Processor subtypes
246ea0e1a9aSPaul Mundt#
247ea0e1a9aSPaul Mundt
248ea0e1a9aSPaul Mundt# SH-2 Processor Support
249ea0e1a9aSPaul Mundt
250ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7619
251ea0e1a9aSPaul Mundt	bool "Support SH7619 processor"
252ea0e1a9aSPaul Mundt	select CPU_SH2
253f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
254ea0e1a9aSPaul Mundt
255ea0e1a9aSPaul Mundt# SH-2A Processor Support
256ea0e1a9aSPaul Mundt
2572825999eSPeter Griffinconfig CPU_SUBTYPE_SH7201
2582825999eSPeter Griffin	bool "Support SH7201 processor"
2592825999eSPeter Griffin	select CPU_SH2A
2602825999eSPeter Griffin	select CPU_HAS_FPU
261da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
2622825999eSPeter Griffin
2636d01f510SPaul Mundtconfig CPU_SUBTYPE_SH7203
2646d01f510SPaul Mundt	bool "Support SH7203 processor"
2656d01f510SPaul Mundt	select CPU_SH2A
26674d99a5eSPaul Mundt	select CPU_HAS_FPU
267f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
268da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
269f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
270b768ecbcSLaurent Pinchart	select PINCTRL
2716d01f510SPaul Mundt
272ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7206
273ea0e1a9aSPaul Mundt	bool "Support SH7206 processor"
274ea0e1a9aSPaul Mundt	select CPU_SH2A
275f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
276da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
277ea0e1a9aSPaul Mundt
278a8f67f4bSPaul Mundtconfig CPU_SUBTYPE_SH7263
279a8f67f4bSPaul Mundt	bool "Support SH7263 processor"
280a8f67f4bSPaul Mundt	select CPU_SH2A
28174d99a5eSPaul Mundt	select CPU_HAS_FPU
282f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
283da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
284a8f67f4bSPaul Mundt
28551ce3068SPhil Edworthyconfig CPU_SUBTYPE_SH7264
28651ce3068SPhil Edworthy	bool "Support SH7264 processor"
28751ce3068SPhil Edworthy	select CPU_SH2A
28851ce3068SPhil Edworthy	select CPU_HAS_FPU
28951ce3068SPhil Edworthy	select SYS_SUPPORTS_CMT
29051ce3068SPhil Edworthy	select SYS_SUPPORTS_MTU2
2915946e7bbSLaurent Pinchart	select PINCTRL
29251ce3068SPhil Edworthy
2930b25b7c8SPhil Edworthyconfig CPU_SUBTYPE_SH7269
2940b25b7c8SPhil Edworthy	bool "Support SH7269 processor"
2950b25b7c8SPhil Edworthy	select CPU_SH2A
2960b25b7c8SPhil Edworthy	select CPU_HAS_FPU
2970b25b7c8SPhil Edworthy	select SYS_SUPPORTS_CMT
2980b25b7c8SPhil Edworthy	select SYS_SUPPORTS_MTU2
299fb872fccSLaurent Pinchart	select PINCTRL
3000b25b7c8SPhil Edworthy
3012ad69908SPaul Mundtconfig CPU_SUBTYPE_MXG
3022ad69908SPaul Mundt	bool "Support MX-G processor"
3032ad69908SPaul Mundt	select CPU_SH2A
304da107c6eSMagnus Damm	select SYS_SUPPORTS_MTU2
3052ad69908SPaul Mundt	help
3062ad69908SPaul Mundt	  Select MX-G if running on an R8A03022BG part.
3072ad69908SPaul Mundt
308ea0e1a9aSPaul Mundt# SH-3 Processor Support
309ea0e1a9aSPaul Mundt
310ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7705
311ea0e1a9aSPaul Mundt	bool "Support SH7705 processor"
312ea0e1a9aSPaul Mundt	select CPU_SH3
313ea0e1a9aSPaul Mundt
314ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7706
315ea0e1a9aSPaul Mundt	bool "Support SH7706 processor"
316ea0e1a9aSPaul Mundt	select CPU_SH3
317ea0e1a9aSPaul Mundt	help
318ea0e1a9aSPaul Mundt	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
319ea0e1a9aSPaul Mundt
320ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7707
321ea0e1a9aSPaul Mundt	bool "Support SH7707 processor"
322ea0e1a9aSPaul Mundt	select CPU_SH3
323ea0e1a9aSPaul Mundt	help
324ea0e1a9aSPaul Mundt	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
325ea0e1a9aSPaul Mundt
326ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7708
327ea0e1a9aSPaul Mundt	bool "Support SH7708 processor"
328ea0e1a9aSPaul Mundt	select CPU_SH3
329ea0e1a9aSPaul Mundt	help
330ea0e1a9aSPaul Mundt	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
331ea0e1a9aSPaul Mundt	  if you have a 100 Mhz SH-3 HD6417708R CPU.
332ea0e1a9aSPaul Mundt
333ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7709
334ea0e1a9aSPaul Mundt	bool "Support SH7709 processor"
335ea0e1a9aSPaul Mundt	select CPU_SH3
336ea0e1a9aSPaul Mundt	help
337ea0e1a9aSPaul Mundt	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
338ea0e1a9aSPaul Mundt
339ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7710
340ea0e1a9aSPaul Mundt	bool "Support SH7710 processor"
341ea0e1a9aSPaul Mundt	select CPU_SH3
342ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
343ea0e1a9aSPaul Mundt	help
344ea0e1a9aSPaul Mundt	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
345ea0e1a9aSPaul Mundt
346ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7712
347ea0e1a9aSPaul Mundt	bool "Support SH7712 processor"
348ea0e1a9aSPaul Mundt	select CPU_SH3
349ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
350ea0e1a9aSPaul Mundt	help
351ea0e1a9aSPaul Mundt	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
352ea0e1a9aSPaul Mundt
353ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7720
354ea0e1a9aSPaul Mundt	bool "Support SH7720 processor"
355ea0e1a9aSPaul Mundt	select CPU_SH3
356ea0e1a9aSPaul Mundt	select CPU_HAS_DSP
3572b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
358f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
359e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
3607b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
36185db6bffSLaurent Pinchart	select PINCTRL
362ea0e1a9aSPaul Mundt	help
363ea0e1a9aSPaul Mundt	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
364ea0e1a9aSPaul Mundt
36531a49c4bSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7721
36631a49c4bSYoshihiro Shimoda	bool "Support SH7721 processor"
36731a49c4bSYoshihiro Shimoda	select CPU_SH3
36831a49c4bSYoshihiro Shimoda	select CPU_HAS_DSP
3692b23a882SMagnus Damm	select SYS_SUPPORTS_CMT
370e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
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
425f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
426f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
42716941a89SLaurent Pinchart	select PINCTRL
428178dd0cdSPaul Mundt	help
429178dd0cdSPaul Mundt	  Select SH7723 if you have an SH-MobileR2 CPU.
430178dd0cdSPaul Mundt
4310207a2efSKuninori Morimotoconfig CPU_SUBTYPE_SH7724
4320207a2efSKuninori Morimoto	bool "Support SH7724 processor"
4330207a2efSKuninori Morimoto	select CPU_SH4A
4340207a2efSKuninori Morimoto	select CPU_SHX2
43559fe700dSPaul Mundt	select ARCH_SHMOBILE
4360207a2efSKuninori Morimoto	select ARCH_SPARSEMEM_ENABLE
4370207a2efSKuninori Morimoto	select SYS_SUPPORTS_CMT
438f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
43918ebd228SLaurent Pinchart	select PINCTRL
4400207a2efSKuninori Morimoto	help
4410207a2efSKuninori Morimoto	  Select SH7724 if you have an SH-MobileR2R CPU.
4420207a2efSKuninori Morimoto
443fea88a0cSNobuhiro Iwamatsuconfig CPU_SUBTYPE_SH7734
444fea88a0cSNobuhiro Iwamatsu	bool "Support SH7734 processor"
445fea88a0cSNobuhiro Iwamatsu	select CPU_SH4A
446fea88a0cSNobuhiro Iwamatsu	select CPU_SHX2
447fea88a0cSNobuhiro Iwamatsu	select ARCH_WANT_OPTIONAL_GPIOLIB
448fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_OHCI
449fea88a0cSNobuhiro Iwamatsu	select USB_ARCH_HAS_EHCI
4502c172182SLaurent Pinchart	select PINCTRL
451fea88a0cSNobuhiro Iwamatsu	help
452fea88a0cSNobuhiro Iwamatsu	  Select SH7734 if you have a SH4A SH7734 CPU.
453fea88a0cSNobuhiro Iwamatsu
454c01f0f1aSYoshihiro Shimodaconfig CPU_SUBTYPE_SH7757
455c01f0f1aSYoshihiro Shimoda	bool "Support SH7757 processor"
456c01f0f1aSYoshihiro Shimoda	select CPU_SH4A
457c01f0f1aSYoshihiro Shimoda	select CPU_SHX2
458f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
4590fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_OHCI
4600fe48601SYoshihiro Shimoda	select USB_ARCH_HAS_EHCI
461eb61b772SLaurent Pinchart	select PINCTRL
462c01f0f1aSYoshihiro Shimoda	help
463c01f0f1aSYoshihiro Shimoda	  Select SH7757 if you have a SH4A SH7757 CPU.
464c01f0f1aSYoshihiro Shimoda
4657d740a06SYoshihiro Shimodaconfig CPU_SUBTYPE_SH7763
4667d740a06SYoshihiro Shimoda	bool "Support SH7763 processor"
4677d740a06SYoshihiro Shimoda	select CPU_SH4A
468e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4697b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
4707d740a06SYoshihiro Shimoda	help
4717d740a06SYoshihiro Shimoda	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4727d740a06SYoshihiro Shimoda
473ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7770
474ea0e1a9aSPaul Mundt	bool "Support SH7770 processor"
475ea0e1a9aSPaul Mundt	select CPU_SH4A
476ea0e1a9aSPaul Mundt
477ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7780
478ea0e1a9aSPaul Mundt	bool "Support SH7780 processor"
479ea0e1a9aSPaul Mundt	select CPU_SH4A
480ea0e1a9aSPaul Mundt
481ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7785
482ea0e1a9aSPaul Mundt	bool "Support SH7785 processor"
483ea0e1a9aSPaul Mundt	select CPU_SH4A
484ea0e1a9aSPaul Mundt	select CPU_SHX2
485ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
486ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
487f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
48877bd27b2SLaurent Pinchart	select PINCTRL
489ea0e1a9aSPaul Mundt
49055ba99ebSKuninori Morimotoconfig CPU_SUBTYPE_SH7786
49155ba99ebSKuninori Morimoto	bool "Support SH7786 processor"
49255ba99ebSKuninori Morimoto	select CPU_SH4A
49337042fbdSPaul Mundt	select CPU_SHX3
4948263a67eSPaul Mundt	select CPU_HAS_PTEAEX
4952eb2a436SPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
496f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
497e3e9887eSPaul Mundt	select USB_ARCH_HAS_OHCI
4987b61ca5dSPaul Mundt	select USB_OHCI_SH if USB_OHCI_HCD
499e3e9887eSPaul Mundt	select USB_ARCH_HAS_EHCI
5007b61ca5dSPaul Mundt	select USB_EHCI_SH if USB_EHCI_HCD
501c0fdbff9SLaurent Pinchart	select PINCTRL
50255ba99ebSKuninori Morimoto
503ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SHX3
504ea0e1a9aSPaul Mundt	bool "Support SH-X3 processor"
505ea0e1a9aSPaul Mundt	select CPU_SH4A
506ea0e1a9aSPaul Mundt	select CPU_SHX3
5075840263eSPaul Mundt	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
508742759eaSPaul Mundt	select ARCH_REQUIRE_GPIOLIB
5093e347f08SLaurent Pinchart	select PINCTRL
510ea0e1a9aSPaul Mundt
511ea0e1a9aSPaul Mundt# SH4AL-DSP Processor Support
512ea0e1a9aSPaul Mundt
513ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7343
514ea0e1a9aSPaul Mundt	bool "Support SH7343 processor"
515ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
516dc65a977SPaul Mundt	select ARCH_SHMOBILE
517f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
518ea0e1a9aSPaul Mundt
519ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH7722
520ea0e1a9aSPaul Mundt	bool "Support SH7722 processor"
521ea0e1a9aSPaul Mundt	select CPU_SH4AL_DSP
522ea0e1a9aSPaul Mundt	select CPU_SHX2
523dc65a977SPaul Mundt	select ARCH_SHMOBILE
524ea0e1a9aSPaul Mundt	select ARCH_SPARSEMEM_ENABLE
525ea0e1a9aSPaul Mundt	select SYS_SUPPORTS_NUMA
526f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
527f020c92dSPaul Mundt	select ARCH_WANT_OPTIONAL_GPIOLIB
528ef97c3c1SLaurent Pinchart	select PINCTRL
529ea0e1a9aSPaul Mundt
5309109a30eSMagnus Dammconfig CPU_SUBTYPE_SH7366
5319109a30eSMagnus Damm	bool "Support SH7366 processor"
5329109a30eSMagnus Damm	select CPU_SH4AL_DSP
5339109a30eSMagnus Damm	select CPU_SHX2
534dc65a977SPaul Mundt	select ARCH_SHMOBILE
5359109a30eSMagnus Damm	select ARCH_SPARSEMEM_ENABLE
5369109a30eSMagnus Damm	select SYS_SUPPORTS_NUMA
537f5ad881bSPaul Mundt	select SYS_SUPPORTS_CMT
5389109a30eSMagnus Damm
5393cc000b5SPaul Mundtendchoice
5403cc000b5SPaul Mundt
5413cc000b5SPaul Mundtendif
5423cc000b5SPaul Mundt
5433cc000b5SPaul Mundtif SUPERH64
5443cc000b5SPaul Mundt
5453cc000b5SPaul Mundtchoice
5463cc000b5SPaul Mundt	prompt "Processor sub-type selection"
5473cc000b5SPaul Mundt
548ea0e1a9aSPaul Mundt# SH-5 Processor Support
549ea0e1a9aSPaul Mundt
550ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_101
551ea0e1a9aSPaul Mundt	bool "Support SH5-101 processor"
552ea0e1a9aSPaul Mundt	select CPU_SH5
553ea0e1a9aSPaul Mundt
554ea0e1a9aSPaul Mundtconfig CPU_SUBTYPE_SH5_103
555ea0e1a9aSPaul Mundt	bool "Support SH5-103 processor"
5568ef97dd7SPaul Mundt	select CPU_SH5
557ea0e1a9aSPaul Mundt
558ea0e1a9aSPaul Mundtendchoice
559ea0e1a9aSPaul Mundt
5603cc000b5SPaul Mundtendif
5613cc000b5SPaul Mundt
562ea0e1a9aSPaul Mundtsource "arch/sh/mm/Kconfig"
563939a24a6SPaul Mundt
564ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.cpu"
565ea0e1a9aSPaul Mundt
566939a24a6SPaul Mundtsource "arch/sh/boards/Kconfig"
567ea0e1a9aSPaul Mundt
568ea0e1a9aSPaul Mundtmenu "Timer and clock configuration"
569ea0e1a9aSPaul Mundt
5709570ef20SMagnus Dammconfig SH_TIMER_TMU
5719570ef20SMagnus Damm	bool "TMU timer driver"
572f19900b2SMagnus Damm	depends on SYS_SUPPORTS_TMU
5739570ef20SMagnus Damm	default y
5749570ef20SMagnus Damm	help
5759570ef20SMagnus Damm	  This enables the build of the TMU timer driver.
5769570ef20SMagnus Damm
577f5ad881bSPaul Mundtconfig SH_TIMER_CMT
578f425752fSMagnus Damm	bool "CMT timer driver"
579f425752fSMagnus Damm	depends on SYS_SUPPORTS_CMT
580f425752fSMagnus Damm	default y
581f425752fSMagnus Damm	help
582f425752fSMagnus Damm	  This enables build of the CMT timer driver.
583f5ad881bSPaul Mundt
584d5ed4c2eSMagnus Dammconfig SH_TIMER_MTU2
585d5ed4c2eSMagnus Damm	bool "MTU2 timer driver"
5863280c886SMagnus Damm	depends on SYS_SUPPORTS_MTU2
587d5ed4c2eSMagnus Damm	default y
588d5ed4c2eSMagnus Damm	help
589d5ed4c2eSMagnus Damm	  This enables build of the MTU2 timer driver.
590d5ed4c2eSMagnus Damm
591ea0e1a9aSPaul Mundtconfig SH_PCLK_FREQ
592ea0e1a9aSPaul Mundt	int "Peripheral clock frequency (in Hz)"
5938152a74bSPaul Mundt	depends on SH_CLK_CPG_LEGACY
594ea0e1a9aSPaul Mundt	default "31250000" if CPU_SUBTYPE_SH7619
5958152a74bSPaul Mundt	default "33333333" if CPU_SUBTYPE_SH7770 || \
5968152a74bSPaul Mundt			      CPU_SUBTYPE_SH7760 || \
5978152a74bSPaul Mundt			      CPU_SUBTYPE_SH7705 || \
5988152a74bSPaul Mundt			      CPU_SUBTYPE_SH7203 || \
5998152a74bSPaul Mundt			      CPU_SUBTYPE_SH7206 || \
6008152a74bSPaul Mundt			      CPU_SUBTYPE_SH7263 || \
60143a1839cSPaul Mundt			      CPU_SUBTYPE_MXG
602ea0e1a9aSPaul Mundt	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
603ea0e1a9aSPaul Mundt	default "66000000" if CPU_SUBTYPE_SH4_202
604ea0e1a9aSPaul Mundt	default "50000000"
605ea0e1a9aSPaul Mundt	help
606ea0e1a9aSPaul Mundt	  This option is used to specify the peripheral clock frequency.
607ea0e1a9aSPaul Mundt	  This is necessary for determining the reference clock value on
608ea0e1a9aSPaul Mundt	  platforms lacking an RTC.
609ea0e1a9aSPaul Mundt
61036aa1e32SPaul Mundtconfig SH_CLK_CPG
61136aa1e32SPaul Mundt	def_bool y
61236aa1e32SPaul Mundt
613253b0887SPaul Mundtconfig SH_CLK_CPG_LEGACY
61436aa1e32SPaul Mundt	depends on SH_CLK_CPG
61543a1839cSPaul Mundt	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
61651ce3068SPhil Edworthy		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
617bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
618bcb86e0aSPaul Mundt		      !CPU_SUBTYPE_SH7269
619253b0887SPaul Mundt
620ea0e1a9aSPaul Mundtendmenu
621ea0e1a9aSPaul Mundt
622ea0e1a9aSPaul Mundtmenu "CPU Frequency scaling"
623ea0e1a9aSPaul Mundtsource "drivers/cpufreq/Kconfig"
624ea0e1a9aSPaul Mundtendmenu
625ea0e1a9aSPaul Mundt
626ea0e1a9aSPaul Mundtsource "arch/sh/drivers/Kconfig"
627ea0e1a9aSPaul Mundt
628ea0e1a9aSPaul Mundtendmenu
629ea0e1a9aSPaul Mundt
630ea0e1a9aSPaul Mundtmenu "Kernel features"
631ea0e1a9aSPaul Mundt
632ea0e1a9aSPaul Mundtsource kernel/Kconfig.hz
633ea0e1a9aSPaul Mundt
634ea0e1a9aSPaul Mundtconfig KEXEC
635ea0e1a9aSPaul Mundt	bool "kexec system call (EXPERIMENTAL)"
6360d57af1eSKees Cook	depends on SUPERH32 && MMU
637ea0e1a9aSPaul Mundt	help
638ea0e1a9aSPaul Mundt	  kexec is a system call that implements the ability to shutdown your
639ea0e1a9aSPaul Mundt	  current kernel, and to start another kernel.  It is like a reboot
640ea0e1a9aSPaul Mundt	  but it is independent of the system firmware.  And like a reboot
641ea0e1a9aSPaul Mundt	  you can start any kernel with it, not just Linux.
642ea0e1a9aSPaul Mundt
643ea0e1a9aSPaul Mundt	  The name comes from the similarity to the exec system call.
644ea0e1a9aSPaul Mundt
645ea0e1a9aSPaul Mundt	  It is an ongoing process to be certain the hardware in a machine
646ea0e1a9aSPaul Mundt	  is properly shutdown, so do not be surprised if this code does not
647bf220695SGeert Uytterhoeven	  initially work for you.  As of this writing the exact hardware
648bf220695SGeert Uytterhoeven	  interface is strongly in flux, so no good recommendation can be
649bf220695SGeert Uytterhoeven	  made.
650ea0e1a9aSPaul Mundt
651ea0e1a9aSPaul Mundtconfig CRASH_DUMP
652ea0e1a9aSPaul Mundt	bool "kernel crash dumps (EXPERIMENTAL)"
6530d57af1eSKees Cook	depends on SUPERH32 && BROKEN_ON_SMP
654ea0e1a9aSPaul Mundt	help
655ea0e1a9aSPaul Mundt	  Generate crash dump after being started by kexec.
656ea0e1a9aSPaul Mundt	  This should be normally only set in special crash dump kernels
657ea0e1a9aSPaul Mundt	  which are loaded in the main kernel with kexec-tools into
658ea0e1a9aSPaul Mundt	  a specially reserved region and then later executed after
659ea0e1a9aSPaul Mundt	  a crash by kdump/kexec. The crash dump kernel must be compiled
660ea0e1a9aSPaul Mundt	  to a memory address not used by the main kernel using
661e66ac3f2SSimon Horman	  PHYSICAL_START.
662ea0e1a9aSPaul Mundt
663ea0e1a9aSPaul Mundt	  For more details see Documentation/kdump/kdump.txt
664ea0e1a9aSPaul Mundt
665b7cf6ddcSMagnus Dammconfig KEXEC_JUMP
666b7cf6ddcSMagnus Damm	bool "kexec jump (EXPERIMENTAL)"
6670d57af1eSKees Cook	depends on SUPERH32 && KEXEC && HIBERNATION
668b7cf6ddcSMagnus Damm	help
669b7cf6ddcSMagnus Damm	  Jump between original kernel and kexeced kernel and invoke
670b7cf6ddcSMagnus Damm	  code via KEXEC
671b7cf6ddcSMagnus Damm
672e66ac3f2SSimon Hormanconfig PHYSICAL_START
673e66ac3f2SSimon Horman	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
674e66ac3f2SSimon Horman	default MEMORY_START
675e66ac3f2SSimon Horman	---help---
676e66ac3f2SSimon Horman	  This gives the physical address where the kernel is loaded
677e66ac3f2SSimon Horman	  and is ordinarily the same as MEMORY_START.
678e66ac3f2SSimon Horman
679e66ac3f2SSimon Horman	  Different values are primarily used in the case of kexec on panic
680e66ac3f2SSimon Horman	  where the fail safe kernel needs to run at a different address
681e66ac3f2SSimon Horman	  than the panic-ed kernel.
682e66ac3f2SSimon Horman
683c4637d47SPaul Mundtconfig SECCOMP
684c4637d47SPaul Mundt	bool "Enable seccomp to safely compute untrusted bytecode"
685c4637d47SPaul Mundt	depends on PROC_FS
686c4637d47SPaul Mundt	help
687c4637d47SPaul Mundt	  This kernel feature is useful for number crunching applications
688c4637d47SPaul Mundt	  that may need to compute untrusted bytecode during their
689c4637d47SPaul Mundt	  execution. By using pipes or other transports made available to
690c4637d47SPaul Mundt	  the process as file descriptors supporting the read/write
691c4637d47SPaul Mundt	  syscalls, it's possible to isolate those applications in
692c4637d47SPaul Mundt	  their own address space using seccomp. Once seccomp is
693c4637d47SPaul Mundt	  enabled via prctl, it cannot be disabled and the task is only
694c4637d47SPaul Mundt	  allowed to execute a few safe syscalls defined by each seccomp
695c4637d47SPaul Mundt	  mode.
696c4637d47SPaul Mundt
697c4637d47SPaul Mundt	  If unsure, say N.
698c4637d47SPaul Mundt
699ea0e1a9aSPaul Mundtconfig SMP
700ea0e1a9aSPaul Mundt	bool "Symmetric multi-processing support"
701ea0e1a9aSPaul Mundt	depends on SYS_SUPPORTS_SMP
702ea0e1a9aSPaul Mundt	---help---
703ea0e1a9aSPaul Mundt	  This enables support for systems with more than one CPU. If you have
704ea0e1a9aSPaul Mundt	  a system with only one CPU, like most personal computers, say N. If
705ea0e1a9aSPaul Mundt	  you have a system with more than one CPU, say Y.
706ea0e1a9aSPaul Mundt
707ea0e1a9aSPaul Mundt	  If you say N here, the kernel will run on single and multiprocessor
708ea0e1a9aSPaul Mundt	  machines, but will use only one CPU of a multiprocessor machine. If
709ea0e1a9aSPaul Mundt	  you say Y here, the kernel will run on many, but not all,
710ea0e1a9aSPaul Mundt	  singleprocessor machines. On a singleprocessor machine, the kernel
711ea0e1a9aSPaul Mundt	  will run faster if you say N here.
712ea0e1a9aSPaul Mundt
713ea0e1a9aSPaul Mundt	  People using multiprocessor machines who say Y here should also say
714ea0e1a9aSPaul Mundt	  Y to "Enhanced Real Time Clock Support", below.
715ea0e1a9aSPaul Mundt
71603502faaSAdrian Bunk	  See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
71703502faaSAdrian Bunk	  available at <http://www.tldp.org/docs.html#howto>.
718ea0e1a9aSPaul Mundt
719ea0e1a9aSPaul Mundt	  If you don't know what to do here, say N.
720ea0e1a9aSPaul Mundt
721ea0e1a9aSPaul Mundtconfig NR_CPUS
722ea0e1a9aSPaul Mundt	int "Maximum number of CPUs (2-32)"
723ea0e1a9aSPaul Mundt	range 2 32
724ea0e1a9aSPaul Mundt	depends on SMP
7252eb2a436SPaul Mundt	default "4" if CPU_SUBTYPE_SHX3
726ea0e1a9aSPaul Mundt	default "2"
727ea0e1a9aSPaul Mundt	help
728ea0e1a9aSPaul Mundt	  This allows you to specify the maximum number of CPUs which this
729ea0e1a9aSPaul Mundt	  kernel will support.  The maximum supported value is 32 and the
730ea0e1a9aSPaul Mundt	  minimum value which makes sense is 2.
731ea0e1a9aSPaul Mundt
732ea0e1a9aSPaul Mundt	  This is purely to save memory - each supported CPU adds
733ea0e1a9aSPaul Mundt	  approximately eight kilobytes to the kernel image.
734ea0e1a9aSPaul Mundt
735763142d1SPaul Mundtconfig HOTPLUG_CPU
736763142d1SPaul Mundt	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
73740b31360SStephen Rothwell	depends on SMP
738763142d1SPaul Mundt	help
739763142d1SPaul Mundt	  Say Y here to experiment with turning CPUs off and on.  CPUs
740763142d1SPaul Mundt	  can be controlled through /sys/devices/system/cpu.
741763142d1SPaul Mundt
742ea0e1a9aSPaul Mundtsource "kernel/Kconfig.preempt"
743ea0e1a9aSPaul Mundt
744ea0e1a9aSPaul Mundtconfig GUSA
745ea0e1a9aSPaul Mundt	def_bool y
7461efe4ce3SStuart Menefy	depends on !SMP && SUPERH32
747ea0e1a9aSPaul Mundt	help
748ea0e1a9aSPaul Mundt	  This enables support for gUSA (general UserSpace Atomicity).
749ea0e1a9aSPaul Mundt	  This is the default implementation for both UP and non-ll/sc
750ea0e1a9aSPaul Mundt	  CPUs, and is used by the libc, amongst others.
751ea0e1a9aSPaul Mundt
752ea0e1a9aSPaul Mundt	  For additional information, design information can be found
753ea0e1a9aSPaul Mundt	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
754ea0e1a9aSPaul Mundt
755ea0e1a9aSPaul Mundt	  This should only be disabled for special cases where alternate
756ea0e1a9aSPaul Mundt	  atomicity implementations exist.
757ea0e1a9aSPaul Mundt
7581efe4ce3SStuart Menefyconfig GUSA_RB
7591efe4ce3SStuart Menefy	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
7601efe4ce3SStuart Menefy	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
7611efe4ce3SStuart Menefy	help
7621efe4ce3SStuart Menefy	  Enabling this option will allow the kernel to implement some
763692105b8SMatt LaPlante	  atomic operations using a software implementation of load-locked/
7641efe4ce3SStuart Menefy	  store-conditional (LLSC). On machines which do not have hardware
7651efe4ce3SStuart Menefy	  LLSC, this should be more efficient than the other alternative of
766692105b8SMatt LaPlante	  disabling interrupts around the atomic sequence.
7671efe4ce3SStuart Menefy
76886c8c047SMatt Flemingconfig HW_PERF_EVENTS
76986c8c047SMatt Fleming	bool "Enable hardware performance counter support for perf events"
77086c8c047SMatt Fleming	depends on PERF_EVENTS && CPU_HAS_PMU
77186c8c047SMatt Fleming	default y
77286c8c047SMatt Fleming	help
77386c8c047SMatt Fleming	  Enable hardware performance counter support for perf events. If
77486c8c047SMatt Fleming	  disabled, perf events will use software events only.
77586c8c047SMatt Fleming
77643b8774dSPaul Mundtsource "drivers/sh/Kconfig"
77743b8774dSPaul Mundt
778ea0e1a9aSPaul Mundtendmenu
779ea0e1a9aSPaul Mundt
780ea0e1a9aSPaul Mundtmenu "Boot options"
781ea0e1a9aSPaul Mundt
782ea0e1a9aSPaul Mundtconfig ZERO_PAGE_OFFSET
783b412a49aSPaul Mundt	hex
784b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
785b412a49aSPaul Mundt				SH_7751_SOLUTION_ENGINE
786b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
787ea0e1a9aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
788ea0e1a9aSPaul Mundt	default "0x00001000"
789ea0e1a9aSPaul Mundt	help
790ea0e1a9aSPaul Mundt	  This sets the default offset of zero page.
791ea0e1a9aSPaul Mundt
792ea0e1a9aSPaul Mundtconfig BOOT_LINK_OFFSET
793b412a49aSPaul Mundt	hex
794b412a49aSPaul Mundt	default "0x00210000" if SH_SHMIN
795a2e76c80SPaul Mundt	default "0x00400000" if SH_CAYMAN
796b412a49aSPaul Mundt	default "0x00810000" if SH_7780_SOLUTION_ENGINE
797b412a49aSPaul Mundt	default "0x009e0000" if SH_TITAN
798b412a49aSPaul Mundt	default "0x01800000" if SH_SDK7780
799b412a49aSPaul Mundt	default "0x02000000" if SH_EDOSK7760
800ea0e1a9aSPaul Mundt	default "0x00800000"
801ea0e1a9aSPaul Mundt	help
802ea0e1a9aSPaul Mundt	  This option allows you to set the link address offset of the zImage.
803ea0e1a9aSPaul Mundt	  This can be useful if you are on a board which has a small amount of
804ea0e1a9aSPaul Mundt	  memory.
805ea0e1a9aSPaul Mundt
806b412a49aSPaul Mundtconfig ENTRY_OFFSET
807b412a49aSPaul Mundt	hex
808b412a49aSPaul Mundt	default "0x00001000" if PAGE_SIZE_4KB
809b412a49aSPaul Mundt	default "0x00002000" if PAGE_SIZE_8KB
810b412a49aSPaul Mundt	default "0x00004000" if PAGE_SIZE_16KB
811b412a49aSPaul Mundt	default "0x00010000" if PAGE_SIZE_64KB
812b412a49aSPaul Mundt	default "0x00000000"
813b412a49aSPaul Mundt
8144705b2e8SMagnus Dammconfig ROMIMAGE_MMCIF
8154705b2e8SMagnus Damm	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
8160d57af1eSKees Cook	depends on CPU_SUBTYPE_SH7724
8174705b2e8SMagnus Damm	help
8184705b2e8SMagnus Damm	  Say Y here to include experimental MMCIF loading code in
8194705b2e8SMagnus Damm	  romImage. With this enabled it is possible to write the romImage
8204705b2e8SMagnus Damm	  kernel image to an MMC card and boot the kernel straight from
8214705b2e8SMagnus Damm	  the reset vector. At reset the processor Mask ROM will load the
8224705b2e8SMagnus Damm	  first part of the romImage which in turn loads the rest the kernel
8234705b2e8SMagnus Damm	  image to RAM using the MMCIF hardware block.
8244705b2e8SMagnus Damm
825d724a9c9SPawel Mollchoice
826d724a9c9SPawel Moll	prompt "Kernel command line"
827d724a9c9SPawel Moll	optional
828d724a9c9SPawel Moll	default CMDLINE_OVERWRITE
829d724a9c9SPawel Moll	help
830d724a9c9SPawel Moll	  Setting this option allows the kernel command line arguments
831d724a9c9SPawel Moll	  to be set.
832d724a9c9SPawel Moll
833d724a9c9SPawel Mollconfig CMDLINE_OVERWRITE
834d724a9c9SPawel Moll	bool "Overwrite bootloader kernel arguments"
835d724a9c9SPawel Moll	help
836d724a9c9SPawel Moll	  Given string will overwrite any arguments passed in by
837d724a9c9SPawel Moll	  a bootloader.
838d724a9c9SPawel Moll
839d724a9c9SPawel Mollconfig CMDLINE_EXTEND
840d724a9c9SPawel Moll	bool "Extend bootloader kernel arguments"
841d724a9c9SPawel Moll	help
842d724a9c9SPawel Moll	  Given string will be concatenated with arguments passed in
843d724a9c9SPawel Moll	  by a bootloader.
844d724a9c9SPawel Moll
845d724a9c9SPawel Mollendchoice
846ea0e1a9aSPaul Mundt
847ea0e1a9aSPaul Mundtconfig CMDLINE
848d724a9c9SPawel Moll	string "Kernel command line arguments string"
849d724a9c9SPawel Moll	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
850ea0e1a9aSPaul Mundt	default "console=ttySC1,115200"
851ea0e1a9aSPaul Mundt
852ea0e1a9aSPaul Mundtendmenu
853ea0e1a9aSPaul Mundt
854ea0e1a9aSPaul Mundtmenu "Bus options"
855ea0e1a9aSPaul Mundt
856ea0e1a9aSPaul Mundtconfig SUPERHYWAY
857ea0e1a9aSPaul Mundt	tristate "SuperHyway Bus support"
858ea0e1a9aSPaul Mundt	depends on CPU_SUBTYPE_SH4_202
859ea0e1a9aSPaul Mundt
860ea0e1a9aSPaul Mundtconfig MAPLE
861ea0e1a9aSPaul Mundt	bool "Maple Bus support"
862ea0e1a9aSPaul Mundt	depends on SH_DREAMCAST
863ea0e1a9aSPaul Mundt	help
864ea0e1a9aSPaul Mundt	 The Maple Bus is SEGA's serial communication bus for peripherals
865ea0e1a9aSPaul Mundt	 on the Dreamcast. Without this bus support you won't be able to
866ea0e1a9aSPaul Mundt	 get your Dreamcast keyboard etc to work, so most users
867ea0e1a9aSPaul Mundt	 probably want to say 'Y' here, unless you are only using the
868ea0e1a9aSPaul Mundt	 Dreamcast with a serial line terminal or a remote network
869ea0e1a9aSPaul Mundt	 connection.
870ea0e1a9aSPaul Mundt
8717693465dSPaul Mundtconfig PCI
8727693465dSPaul Mundt	bool "PCI support"
8737693465dSPaul Mundt	depends on SYS_SUPPORTS_PCI
874320e68daSPaul Mundt	select PCI_DOMAINS
87543db595eSMichael S. Tsirkin	select GENERIC_PCI_IOMAP
8761e05b62aSMichael S. Tsirkin	select NO_GENERIC_PCI_IOPORT_MAP
8777693465dSPaul Mundt	help
8787693465dSPaul Mundt	  Find out whether you have a PCI motherboard. PCI is the name of a
8797693465dSPaul Mundt	  bus system, i.e. the way the CPU talks to the other stuff inside
8807693465dSPaul Mundt	  your box. If you have PCI, say Y, otherwise N.
881ea0e1a9aSPaul Mundt
882320e68daSPaul Mundtconfig PCI_DOMAINS
883320e68daSPaul Mundt	bool
884320e68daSPaul Mundt
885e16038abSPaul Mundtsource "drivers/pci/pcie/Kconfig"
886e16038abSPaul Mundt
887ea0e1a9aSPaul Mundtsource "drivers/pci/Kconfig"
888ea0e1a9aSPaul Mundt
889ea0e1a9aSPaul Mundtsource "drivers/pcmcia/Kconfig"
890ea0e1a9aSPaul Mundt
891ea0e1a9aSPaul Mundtsource "drivers/pci/hotplug/Kconfig"
892ea0e1a9aSPaul Mundt
893ea0e1a9aSPaul Mundtendmenu
894ea0e1a9aSPaul Mundt
895ea0e1a9aSPaul Mundtmenu "Executable file formats"
896ea0e1a9aSPaul Mundt
897ea0e1a9aSPaul Mundtsource "fs/Kconfig.binfmt"
898ea0e1a9aSPaul Mundt
899ea0e1a9aSPaul Mundtendmenu
900ea0e1a9aSPaul Mundt
901ea0e1a9aSPaul Mundtmenu "Power management options (EXPERIMENTAL)"
902f4cb5700SJohannes Berg
903c6f17cb2SMagnus Dammsource "kernel/power/Kconfig"
904c6f17cb2SMagnus Damm
905c6f17cb2SMagnus Dammsource "drivers/cpuidle/Kconfig"
906ea0e1a9aSPaul Mundt
907ea0e1a9aSPaul Mundtendmenu
908ea0e1a9aSPaul Mundt
909ea0e1a9aSPaul Mundtsource "net/Kconfig"
910ea0e1a9aSPaul Mundt
911ea0e1a9aSPaul Mundtsource "drivers/Kconfig"
912ea0e1a9aSPaul Mundt
913ea0e1a9aSPaul Mundtsource "fs/Kconfig"
914ea0e1a9aSPaul Mundt
915ea0e1a9aSPaul Mundtsource "arch/sh/Kconfig.debug"
916ea0e1a9aSPaul Mundt
917ea0e1a9aSPaul Mundtsource "security/Kconfig"
918ea0e1a9aSPaul Mundt
919ea0e1a9aSPaul Mundtsource "crypto/Kconfig"
920ea0e1a9aSPaul Mundt
921ea0e1a9aSPaul Mundtsource "lib/Kconfig"
922