xref: /openbmc/linux/arch/sh/Kconfig (revision fb37409a)
1# SPDX-License-Identifier: GPL-2.0
2config SUPERH
3	def_bool y
4	select ARCH_HAS_BINFMT_FLAT if !MMU
5	select ARCH_HAS_PTE_SPECIAL
6	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
7	select ARCH_MIGHT_HAVE_PC_PARPORT
8	select HAVE_PATA_PLATFORM
9	select CLKDEV_LOOKUP
10	select DMA_DECLARE_COHERENT
11	select HAVE_IDE if HAS_IOPORT_MAP
12	select HAVE_OPROFILE
13	select HAVE_ARCH_TRACEHOOK
14	select HAVE_PERF_EVENTS
15	select HAVE_DEBUG_BUGVERBOSE
16	select HAVE_FAST_GUP if MMU
17	select ARCH_HAVE_CUSTOM_GPIO_H
18	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
19	select ARCH_HAS_GCOV_PROFILE_ALL
20	select PERF_USE_VMALLOC
21	select HAVE_DEBUG_KMEMLEAK
22	select HAVE_KERNEL_GZIP
23	select CPU_NO_EFFICIENT_FFS
24	select HAVE_KERNEL_BZIP2
25	select HAVE_KERNEL_LZMA
26	select HAVE_KERNEL_XZ
27	select HAVE_KERNEL_LZO
28	select HAVE_UID16
29	select ARCH_WANT_IPC_PARSE_VERSION
30	select HAVE_SYSCALL_TRACEPOINTS
31	select HAVE_REGS_AND_STACK_ACCESS_API
32	select MAY_HAVE_SPARSE_IRQ
33	select IRQ_FORCED_THREADING
34	select RTC_LIB
35	select GENERIC_ATOMIC64
36	select GENERIC_IRQ_SHOW
37	select GENERIC_SMP_IDLE_THREAD
38	select GENERIC_IDLE_POLL_SETUP
39	select GENERIC_CLOCKEVENTS
40	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
41	select GENERIC_PCI_IOMAP if PCI
42	select GENERIC_SCHED_CLOCK
43	select GENERIC_STRNCPY_FROM_USER
44	select GENERIC_STRNLEN_USER
45	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
46	select MODULES_USE_ELF_RELA
47	select NO_GENERIC_PCI_IOPORT_MAP if PCI
48	select OLD_SIGSUSPEND
49	select OLD_SIGACTION
50	select PCI_DOMAINS if PCI
51	select HAVE_ARCH_AUDITSYSCALL
52	select HAVE_FUTEX_CMPXCHG if FUTEX
53	select HAVE_NMI
54	select NEED_SG_DMA_LENGTH
55	select ARCH_HAS_GIGANTIC_PAGE
56	select ARCH_32BIT_OFF_T
57	select GUP_GET_PTE_LOW_HIGH if X2TLB
58	select HAVE_KPROBES
59	select HAVE_KRETPROBES
60	select HAVE_IOREMAP_PROT if MMU && !X2TLB
61	select HAVE_FUNCTION_TRACER
62	select HAVE_FTRACE_MCOUNT_RECORD
63	select HAVE_DYNAMIC_FTRACE
64	select ARCH_WANT_IPC_PARSE_VERSION
65	select HAVE_FUNCTION_GRAPH_TRACER
66	select HAVE_ARCH_KGDB
67	select HAVE_HW_BREAKPOINT
68	select HAVE_MIXED_BREAKPOINTS_REGS
69	select PERF_EVENTS
70	select ARCH_HIBERNATION_POSSIBLE if MMU
71	select SPARSE_IRQ
72	select HAVE_STACKPROTECTOR
73	help
74	  The SuperH is a RISC processor targeted for use in embedded systems
75	  and consumer electronics; it was also used in the Sega Dreamcast
76	  gaming console.  The SuperH port has a home page at
77	  <http://www.linux-sh.org/>.
78
79config GENERIC_BUG
80	def_bool y
81	depends on BUG
82
83config GENERIC_HWEIGHT
84	def_bool y
85
86config GENERIC_CALIBRATE_DELAY
87	bool
88
89config GENERIC_LOCKBREAK
90	def_bool y
91	depends on SMP && PREEMPTION
92
93config ARCH_SUSPEND_POSSIBLE
94	def_bool n
95
96config ARCH_HIBERNATION_POSSIBLE
97	def_bool n
98
99config SYS_SUPPORTS_APM_EMULATION
100	bool
101	select ARCH_SUSPEND_POSSIBLE
102
103config SYS_SUPPORTS_HUGETLBFS
104	bool
105
106config SYS_SUPPORTS_SMP
107	bool
108
109config SYS_SUPPORTS_NUMA
110	bool
111
112config STACKTRACE_SUPPORT
113	def_bool y
114
115config LOCKDEP_SUPPORT
116	def_bool y
117
118config ARCH_HAS_ILOG2_U32
119	def_bool n
120
121config ARCH_HAS_ILOG2_U64
122	def_bool n
123
124config NO_IOPORT_MAP
125	def_bool !PCI
126	depends on !SH_CAYMAN && !SH_SH4202_MICRODEV && !SH_SHMIN && \
127		   !SH_HP6XX && !SH_SOLUTION_ENGINE
128
129config IO_TRAPPED
130	bool
131
132config SWAP_IO_SPACE
133	bool
134
135config DMA_COHERENT
136	bool
137
138config DMA_NONCOHERENT
139	def_bool !DMA_COHERENT
140	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
141
142config PGTABLE_LEVELS
143	default 3 if X2TLB
144	default 2
145
146menu "System type"
147
148#
149# Processor families
150#
151config CPU_SH2
152	bool
153	select SH_INTC
154
155config CPU_SH2A
156	bool
157	select CPU_SH2
158	select UNCACHED_MAPPING
159
160config CPU_J2
161	bool
162	select CPU_SH2
163	select OF
164	select OF_EARLY_FLATTREE
165
166config CPU_SH3
167	bool
168	select CPU_HAS_INTEVT
169	select CPU_HAS_SR_RB
170	select SH_INTC
171	select SYS_SUPPORTS_SH_TMU
172
173config CPU_SH4
174	bool
175	select CPU_HAS_INTEVT
176	select CPU_HAS_SR_RB
177	select CPU_HAS_FPU if !CPU_SH4AL_DSP
178	select SH_INTC
179	select SYS_SUPPORTS_SH_TMU
180	select SYS_SUPPORTS_HUGETLBFS if MMU
181
182config CPU_SH4A
183	bool
184	select CPU_SH4
185
186config CPU_SH4AL_DSP
187	bool
188	select CPU_SH4A
189	select CPU_HAS_DSP
190
191config CPU_SHX2
192	bool
193
194config CPU_SHX3
195	bool
196	select DMA_COHERENT
197	select SYS_SUPPORTS_SMP
198	select SYS_SUPPORTS_NUMA
199
200config ARCH_SHMOBILE
201	bool
202	select ARCH_SUSPEND_POSSIBLE
203	select PM
204
205config CPU_HAS_PMU
206       depends on CPU_SH4 || CPU_SH4A
207       default y
208       bool
209
210choice
211	prompt "Processor sub-type selection"
212
213#
214# Processor subtypes
215#
216
217# SH-2 Processor Support
218
219config CPU_SUBTYPE_SH7619
220	bool "Support SH7619 processor"
221	select CPU_SH2
222	select SYS_SUPPORTS_SH_CMT
223
224config CPU_SUBTYPE_J2
225	bool "Support J2 processor"
226	select CPU_J2
227	select SYS_SUPPORTS_SMP
228	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
229
230# SH-2A Processor Support
231
232config CPU_SUBTYPE_SH7201
233	bool "Support SH7201 processor"
234	select CPU_SH2A
235	select CPU_HAS_FPU
236	select SYS_SUPPORTS_SH_MTU2
237
238config CPU_SUBTYPE_SH7203
239	bool "Support SH7203 processor"
240	select CPU_SH2A
241	select CPU_HAS_FPU
242	select SYS_SUPPORTS_SH_CMT
243	select SYS_SUPPORTS_SH_MTU2
244	select PINCTRL
245
246config CPU_SUBTYPE_SH7206
247	bool "Support SH7206 processor"
248	select CPU_SH2A
249	select SYS_SUPPORTS_SH_CMT
250	select SYS_SUPPORTS_SH_MTU2
251
252config CPU_SUBTYPE_SH7263
253	bool "Support SH7263 processor"
254	select CPU_SH2A
255	select CPU_HAS_FPU
256	select SYS_SUPPORTS_SH_CMT
257	select SYS_SUPPORTS_SH_MTU2
258
259config CPU_SUBTYPE_SH7264
260	bool "Support SH7264 processor"
261	select CPU_SH2A
262	select CPU_HAS_FPU
263	select SYS_SUPPORTS_SH_CMT
264	select SYS_SUPPORTS_SH_MTU2
265	select PINCTRL
266
267config CPU_SUBTYPE_SH7269
268	bool "Support SH7269 processor"
269	select CPU_SH2A
270	select CPU_HAS_FPU
271	select SYS_SUPPORTS_SH_CMT
272	select SYS_SUPPORTS_SH_MTU2
273	select PINCTRL
274
275config CPU_SUBTYPE_MXG
276	bool "Support MX-G processor"
277	select CPU_SH2A
278	select SYS_SUPPORTS_SH_MTU2
279	help
280	  Select MX-G if running on an R8A03022BG part.
281
282# SH-3 Processor Support
283
284config CPU_SUBTYPE_SH7705
285	bool "Support SH7705 processor"
286	select CPU_SH3
287
288config CPU_SUBTYPE_SH7706
289	bool "Support SH7706 processor"
290	select CPU_SH3
291	help
292	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
293
294config CPU_SUBTYPE_SH7707
295	bool "Support SH7707 processor"
296	select CPU_SH3
297	help
298	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
299
300config CPU_SUBTYPE_SH7708
301	bool "Support SH7708 processor"
302	select CPU_SH3
303	help
304	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
305	  if you have a 100 Mhz SH-3 HD6417708R CPU.
306
307config CPU_SUBTYPE_SH7709
308	bool "Support SH7709 processor"
309	select CPU_SH3
310	help
311	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
312
313config CPU_SUBTYPE_SH7710
314	bool "Support SH7710 processor"
315	select CPU_SH3
316	select CPU_HAS_DSP
317	help
318	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
319
320config CPU_SUBTYPE_SH7712
321	bool "Support SH7712 processor"
322	select CPU_SH3
323	select CPU_HAS_DSP
324	help
325	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
326
327config CPU_SUBTYPE_SH7720
328	bool "Support SH7720 processor"
329	select CPU_SH3
330	select CPU_HAS_DSP
331	select SYS_SUPPORTS_SH_CMT
332	select USB_OHCI_SH if USB_OHCI_HCD
333	select PINCTRL
334	help
335	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
336
337config CPU_SUBTYPE_SH7721
338	bool "Support SH7721 processor"
339	select CPU_SH3
340	select CPU_HAS_DSP
341	select SYS_SUPPORTS_SH_CMT
342	select USB_OHCI_SH if USB_OHCI_HCD
343	help
344	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
345
346# SH-4 Processor Support
347
348config CPU_SUBTYPE_SH7750
349	bool "Support SH7750 processor"
350	select CPU_SH4
351	help
352	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
353
354config CPU_SUBTYPE_SH7091
355	bool "Support SH7091 processor"
356	select CPU_SH4
357	help
358	  Select SH7091 if you have an SH-4 based Sega device (such as
359	  the Dreamcast, Naomi, and Naomi 2).
360
361config CPU_SUBTYPE_SH7750R
362	bool "Support SH7750R processor"
363	select CPU_SH4
364
365config CPU_SUBTYPE_SH7750S
366	bool "Support SH7750S processor"
367	select CPU_SH4
368
369config CPU_SUBTYPE_SH7751
370	bool "Support SH7751 processor"
371	select CPU_SH4
372	help
373	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
374	  or if you have a HD6417751R CPU.
375
376config CPU_SUBTYPE_SH7751R
377	bool "Support SH7751R processor"
378	select CPU_SH4
379
380config CPU_SUBTYPE_SH7760
381	bool "Support SH7760 processor"
382	select CPU_SH4
383
384config CPU_SUBTYPE_SH4_202
385	bool "Support SH4-202 processor"
386	select CPU_SH4
387
388# SH-4A Processor Support
389
390config CPU_SUBTYPE_SH7723
391	bool "Support SH7723 processor"
392	select CPU_SH4A
393	select CPU_SHX2
394	select ARCH_SHMOBILE
395	select ARCH_SPARSEMEM_ENABLE
396	select SYS_SUPPORTS_SH_CMT
397	select PINCTRL
398	help
399	  Select SH7723 if you have an SH-MobileR2 CPU.
400
401config CPU_SUBTYPE_SH7724
402	bool "Support SH7724 processor"
403	select CPU_SH4A
404	select CPU_SHX2
405	select ARCH_SHMOBILE
406	select ARCH_SPARSEMEM_ENABLE
407	select SYS_SUPPORTS_SH_CMT
408	select PINCTRL
409	help
410	  Select SH7724 if you have an SH-MobileR2R CPU.
411
412config CPU_SUBTYPE_SH7734
413	bool "Support SH7734 processor"
414	select CPU_SH4A
415	select CPU_SHX2
416	select PINCTRL
417	help
418	  Select SH7734 if you have a SH4A SH7734 CPU.
419
420config CPU_SUBTYPE_SH7757
421	bool "Support SH7757 processor"
422	select CPU_SH4A
423	select CPU_SHX2
424	select PINCTRL
425	help
426	  Select SH7757 if you have a SH4A SH7757 CPU.
427
428config CPU_SUBTYPE_SH7763
429	bool "Support SH7763 processor"
430	select CPU_SH4A
431	select USB_OHCI_SH if USB_OHCI_HCD
432	help
433	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
434
435config CPU_SUBTYPE_SH7770
436	bool "Support SH7770 processor"
437	select CPU_SH4A
438
439config CPU_SUBTYPE_SH7780
440	bool "Support SH7780 processor"
441	select CPU_SH4A
442
443config CPU_SUBTYPE_SH7785
444	bool "Support SH7785 processor"
445	select CPU_SH4A
446	select CPU_SHX2
447	select ARCH_SPARSEMEM_ENABLE
448	select SYS_SUPPORTS_NUMA
449	select PINCTRL
450
451config CPU_SUBTYPE_SH7786
452	bool "Support SH7786 processor"
453	select CPU_SH4A
454	select CPU_SHX3
455	select CPU_HAS_PTEAEX
456	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
457	select USB_OHCI_SH if USB_OHCI_HCD
458	select USB_EHCI_SH if USB_EHCI_HCD
459	select PINCTRL
460
461config CPU_SUBTYPE_SHX3
462	bool "Support SH-X3 processor"
463	select CPU_SH4A
464	select CPU_SHX3
465	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
466	select GPIOLIB
467	select PINCTRL
468
469# SH4AL-DSP Processor Support
470
471config CPU_SUBTYPE_SH7343
472	bool "Support SH7343 processor"
473	select CPU_SH4AL_DSP
474	select ARCH_SHMOBILE
475	select SYS_SUPPORTS_SH_CMT
476
477config CPU_SUBTYPE_SH7722
478	bool "Support SH7722 processor"
479	select CPU_SH4AL_DSP
480	select CPU_SHX2
481	select ARCH_SHMOBILE
482	select ARCH_SPARSEMEM_ENABLE
483	select SYS_SUPPORTS_NUMA
484	select SYS_SUPPORTS_SH_CMT
485	select PINCTRL
486
487config CPU_SUBTYPE_SH7366
488	bool "Support SH7366 processor"
489	select CPU_SH4AL_DSP
490	select CPU_SHX2
491	select ARCH_SHMOBILE
492	select ARCH_SPARSEMEM_ENABLE
493	select SYS_SUPPORTS_NUMA
494	select SYS_SUPPORTS_SH_CMT
495
496endchoice
497
498source "arch/sh/mm/Kconfig"
499
500source "arch/sh/Kconfig.cpu"
501
502source "arch/sh/boards/Kconfig"
503
504menu "Timer and clock configuration"
505
506config SH_PCLK_FREQ
507	int "Peripheral clock frequency (in Hz)"
508	depends on SH_CLK_CPG_LEGACY
509	default "31250000" if CPU_SUBTYPE_SH7619
510	default "33333333" if CPU_SUBTYPE_SH7770 || \
511			      CPU_SUBTYPE_SH7760 || \
512			      CPU_SUBTYPE_SH7705 || \
513			      CPU_SUBTYPE_SH7203 || \
514			      CPU_SUBTYPE_SH7206 || \
515			      CPU_SUBTYPE_SH7263 || \
516			      CPU_SUBTYPE_MXG
517	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
518	default "66000000" if CPU_SUBTYPE_SH4_202
519	default "50000000"
520	help
521	  This option is used to specify the peripheral clock frequency.
522	  This is necessary for determining the reference clock value on
523	  platforms lacking an RTC.
524
525config SH_CLK_CPG
526	def_bool y
527
528config SH_CLK_CPG_LEGACY
529	depends on SH_CLK_CPG
530	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
531		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
532		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
533		      !CPU_SUBTYPE_SH7269
534
535endmenu
536
537menu "CPU Frequency scaling"
538source "drivers/cpufreq/Kconfig"
539endmenu
540
541source "arch/sh/drivers/Kconfig"
542
543endmenu
544
545menu "Kernel features"
546
547source "kernel/Kconfig.hz"
548
549config KEXEC
550	bool "kexec system call (EXPERIMENTAL)"
551	depends on MMU
552	select KEXEC_CORE
553	help
554	  kexec is a system call that implements the ability to shutdown your
555	  current kernel, and to start another kernel.  It is like a reboot
556	  but it is independent of the system firmware.  And like a reboot
557	  you can start any kernel with it, not just Linux.
558
559	  The name comes from the similarity to the exec system call.
560
561	  It is an ongoing process to be certain the hardware in a machine
562	  is properly shutdown, so do not be surprised if this code does not
563	  initially work for you.  As of this writing the exact hardware
564	  interface is strongly in flux, so no good recommendation can be
565	  made.
566
567config CRASH_DUMP
568	bool "kernel crash dumps (EXPERIMENTAL)"
569	depends on BROKEN_ON_SMP
570	help
571	  Generate crash dump after being started by kexec.
572	  This should be normally only set in special crash dump kernels
573	  which are loaded in the main kernel with kexec-tools into
574	  a specially reserved region and then later executed after
575	  a crash by kdump/kexec. The crash dump kernel must be compiled
576	  to a memory address not used by the main kernel using
577	  PHYSICAL_START.
578
579	  For more details see Documentation/admin-guide/kdump/kdump.rst
580
581config KEXEC_JUMP
582	bool "kexec jump (EXPERIMENTAL)"
583	depends on KEXEC && HIBERNATION
584	help
585	  Jump between original kernel and kexeced kernel and invoke
586	  code via KEXEC
587
588config PHYSICAL_START
589	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
590	default MEMORY_START
591	help
592	  This gives the physical address where the kernel is loaded
593	  and is ordinarily the same as MEMORY_START.
594
595	  Different values are primarily used in the case of kexec on panic
596	  where the fail safe kernel needs to run at a different address
597	  than the panic-ed kernel.
598
599config SECCOMP
600	bool "Enable seccomp to safely compute untrusted bytecode"
601	depends on PROC_FS
602	help
603	  This kernel feature is useful for number crunching applications
604	  that may need to compute untrusted bytecode during their
605	  execution. By using pipes or other transports made available to
606	  the process as file descriptors supporting the read/write
607	  syscalls, it's possible to isolate those applications in
608	  their own address space using seccomp. Once seccomp is
609	  enabled via prctl, it cannot be disabled and the task is only
610	  allowed to execute a few safe syscalls defined by each seccomp
611	  mode.
612
613	  If unsure, say N.
614
615config SMP
616	bool "Symmetric multi-processing support"
617	depends on SYS_SUPPORTS_SMP
618	help
619	  This enables support for systems with more than one CPU. If you have
620	  a system with only one CPU, say N. If you have a system with more
621	  than one CPU, say Y.
622
623	  If you say N here, the kernel will run on uni- and multiprocessor
624	  machines, but will use only one CPU of a multiprocessor machine. If
625	  you say Y here, the kernel will run on many, but not all,
626	  uniprocessor machines. On a uniprocessor machine, the kernel
627	  will run faster if you say N here.
628
629	  People using multiprocessor machines who say Y here should also say
630	  Y to "Enhanced Real Time Clock Support", below.
631
632	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
633	  available at <http://www.tldp.org/docs.html#howto>.
634
635	  If you don't know what to do here, say N.
636
637config NR_CPUS
638	int "Maximum number of CPUs (2-32)"
639	range 2 32
640	depends on SMP
641	default "4" if CPU_SUBTYPE_SHX3
642	default "2"
643	help
644	  This allows you to specify the maximum number of CPUs which this
645	  kernel will support.  The maximum supported value is 32 and the
646	  minimum value which makes sense is 2.
647
648	  This is purely to save memory - each supported CPU adds
649	  approximately eight kilobytes to the kernel image.
650
651config HOTPLUG_CPU
652	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
653	depends on SMP
654	help
655	  Say Y here to experiment with turning CPUs off and on.  CPUs
656	  can be controlled through /sys/devices/system/cpu.
657
658config GUSA
659	def_bool y
660	depends on !SMP
661	help
662	  This enables support for gUSA (general UserSpace Atomicity).
663	  This is the default implementation for both UP and non-ll/sc
664	  CPUs, and is used by the libc, amongst others.
665
666	  For additional information, design information can be found
667	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
668
669	  This should only be disabled for special cases where alternate
670	  atomicity implementations exist.
671
672config GUSA_RB
673	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
674	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
675	help
676	  Enabling this option will allow the kernel to implement some
677	  atomic operations using a software implementation of load-locked/
678	  store-conditional (LLSC). On machines which do not have hardware
679	  LLSC, this should be more efficient than the other alternative of
680	  disabling interrupts around the atomic sequence.
681
682config HW_PERF_EVENTS
683	bool "Enable hardware performance counter support for perf events"
684	depends on PERF_EVENTS && CPU_HAS_PMU
685	default y
686	help
687	  Enable hardware performance counter support for perf events. If
688	  disabled, perf events will use software events only.
689
690source "drivers/sh/Kconfig"
691
692endmenu
693
694menu "Boot options"
695
696config USE_BUILTIN_DTB
697	bool "Use builtin DTB"
698	default n
699	depends on SH_DEVICE_TREE
700	help
701	  Link a device tree blob for particular hardware into the kernel,
702	  suppressing use of the DTB pointer provided by the bootloader.
703	  This option should only be used with legacy bootloaders that are
704	  not capable of providing a DTB to the kernel, or for experimental
705	  hardware without stable device tree bindings.
706
707config BUILTIN_DTB_SOURCE
708	string "Source file for builtin DTB"
709	default ""
710	depends on USE_BUILTIN_DTB
711	help
712	  Base name (without suffix, relative to arch/sh/boot/dts) for the
713	  a DTS file that will be used to produce the DTB linked into the
714	  kernel.
715
716config ZERO_PAGE_OFFSET
717	hex
718	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
719				SH_7751_SOLUTION_ENGINE
720	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
721	default "0x00002000" if PAGE_SIZE_8KB
722	default "0x00001000"
723	help
724	  This sets the default offset of zero page.
725
726config BOOT_LINK_OFFSET
727	hex
728	default "0x00210000" if SH_SHMIN
729	default "0x00400000" if SH_CAYMAN
730	default "0x00810000" if SH_7780_SOLUTION_ENGINE
731	default "0x009e0000" if SH_TITAN
732	default "0x01800000" if SH_SDK7780
733	default "0x02000000" if SH_EDOSK7760
734	default "0x00800000"
735	help
736	  This option allows you to set the link address offset of the zImage.
737	  This can be useful if you are on a board which has a small amount of
738	  memory.
739
740config ENTRY_OFFSET
741	hex
742	default "0x00001000" if PAGE_SIZE_4KB
743	default "0x00002000" if PAGE_SIZE_8KB
744	default "0x00004000" if PAGE_SIZE_16KB
745	default "0x00010000" if PAGE_SIZE_64KB
746	default "0x00000000"
747
748config ROMIMAGE_MMCIF
749	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
750	depends on CPU_SUBTYPE_SH7724
751	help
752	  Say Y here to include experimental MMCIF loading code in
753	  romImage. With this enabled it is possible to write the romImage
754	  kernel image to an MMC card and boot the kernel straight from
755	  the reset vector. At reset the processor Mask ROM will load the
756	  first part of the romImage which in turn loads the rest the kernel
757	  image to RAM using the MMCIF hardware block.
758
759choice
760	prompt "Kernel command line"
761	optional
762	default CMDLINE_OVERWRITE
763	help
764	  Setting this option allows the kernel command line arguments
765	  to be set.
766
767config CMDLINE_OVERWRITE
768	bool "Overwrite bootloader kernel arguments"
769	help
770	  Given string will overwrite any arguments passed in by
771	  a bootloader.
772
773config CMDLINE_EXTEND
774	bool "Extend bootloader kernel arguments"
775	help
776	  Given string will be concatenated with arguments passed in
777	  by a bootloader.
778
779endchoice
780
781config CMDLINE
782	string "Kernel command line arguments string"
783	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
784	default "console=ttySC1,115200"
785
786endmenu
787
788menu "Bus options"
789
790config SUPERHYWAY
791	tristate "SuperHyway Bus support"
792	depends on CPU_SUBTYPE_SH4_202
793
794config MAPLE
795	bool "Maple Bus support"
796	depends on SH_DREAMCAST
797	help
798	 The Maple Bus is SEGA's serial communication bus for peripherals
799	 on the Dreamcast. Without this bus support you won't be able to
800	 get your Dreamcast keyboard etc to work, so most users
801	 probably want to say 'Y' here, unless you are only using the
802	 Dreamcast with a serial line terminal or a remote network
803	 connection.
804
805endmenu
806
807menu "Power management options (EXPERIMENTAL)"
808
809source "kernel/power/Kconfig"
810
811source "drivers/cpuidle/Kconfig"
812
813endmenu
814