18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ciconfig SUPERH
38c2ecf20Sopenharmony_ci	def_bool y
48c2ecf20Sopenharmony_ci	select ARCH_32BIT_OFF_T
58c2ecf20Sopenharmony_ci	select ARCH_HAVE_CUSTOM_GPIO_H
68c2ecf20Sopenharmony_ci	select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
78c2ecf20Sopenharmony_ci	select ARCH_HAS_BINFMT_FLAT if !MMU
88c2ecf20Sopenharmony_ci	select ARCH_HAS_CPU_FINALIZE_INIT
98c2ecf20Sopenharmony_ci	select ARCH_HAS_GIGANTIC_PAGE
108c2ecf20Sopenharmony_ci	select ARCH_HAS_GCOV_PROFILE_ALL
118c2ecf20Sopenharmony_ci	select ARCH_HAS_PTE_SPECIAL
128c2ecf20Sopenharmony_ci	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
138c2ecf20Sopenharmony_ci	select ARCH_HIBERNATION_POSSIBLE if MMU
148c2ecf20Sopenharmony_ci	select ARCH_MIGHT_HAVE_PC_PARPORT
158c2ecf20Sopenharmony_ci	select ARCH_WANT_IPC_PARSE_VERSION
168c2ecf20Sopenharmony_ci	select CLKDEV_LOOKUP
178c2ecf20Sopenharmony_ci	select CPU_NO_EFFICIENT_FFS
188c2ecf20Sopenharmony_ci	select DMA_DECLARE_COHERENT
198c2ecf20Sopenharmony_ci	select GENERIC_ATOMIC64
208c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS
218c2ecf20Sopenharmony_ci	select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
228c2ecf20Sopenharmony_ci	select GENERIC_IDLE_POLL_SETUP
238c2ecf20Sopenharmony_ci	select GENERIC_IRQ_SHOW
248c2ecf20Sopenharmony_ci	select GENERIC_PCI_IOMAP if PCI
258c2ecf20Sopenharmony_ci	select GENERIC_SCHED_CLOCK
268c2ecf20Sopenharmony_ci	select GENERIC_STRNCPY_FROM_USER
278c2ecf20Sopenharmony_ci	select GENERIC_STRNLEN_USER
288c2ecf20Sopenharmony_ci	select GENERIC_SMP_IDLE_THREAD
298c2ecf20Sopenharmony_ci	select GUP_GET_PTE_LOW_HIGH if X2TLB
308c2ecf20Sopenharmony_ci	select HAVE_ARCH_AUDITSYSCALL
318c2ecf20Sopenharmony_ci	select HAVE_ARCH_KGDB
328c2ecf20Sopenharmony_ci	select HAVE_ARCH_SECCOMP_FILTER
338c2ecf20Sopenharmony_ci	select HAVE_ARCH_TRACEHOOK
348c2ecf20Sopenharmony_ci	select HAVE_DEBUG_BUGVERBOSE
358c2ecf20Sopenharmony_ci	select HAVE_DEBUG_KMEMLEAK
368c2ecf20Sopenharmony_ci	select HAVE_DYNAMIC_FTRACE
378c2ecf20Sopenharmony_ci	select HAVE_FAST_GUP if MMU
388c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_GRAPH_TRACER
398c2ecf20Sopenharmony_ci	select HAVE_FUNCTION_TRACER
408c2ecf20Sopenharmony_ci	select HAVE_FUTEX_CMPXCHG if FUTEX
418c2ecf20Sopenharmony_ci	select HAVE_FTRACE_MCOUNT_RECORD
428c2ecf20Sopenharmony_ci	select HAVE_HW_BREAKPOINT
438c2ecf20Sopenharmony_ci	select HAVE_IDE if HAS_IOPORT_MAP
448c2ecf20Sopenharmony_ci	select HAVE_IOREMAP_PROT if MMU && !X2TLB
458c2ecf20Sopenharmony_ci	select HAVE_KERNEL_BZIP2
468c2ecf20Sopenharmony_ci	select HAVE_KERNEL_GZIP
478c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZMA
488c2ecf20Sopenharmony_ci	select HAVE_KERNEL_LZO
498c2ecf20Sopenharmony_ci	select HAVE_KERNEL_XZ
508c2ecf20Sopenharmony_ci	select HAVE_KPROBES
518c2ecf20Sopenharmony_ci	select HAVE_KRETPROBES
528c2ecf20Sopenharmony_ci	select HAVE_MIXED_BREAKPOINTS_REGS
538c2ecf20Sopenharmony_ci	select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
548c2ecf20Sopenharmony_ci	select HAVE_NMI
558c2ecf20Sopenharmony_ci	select HAVE_OPROFILE
568c2ecf20Sopenharmony_ci	select HAVE_PATA_PLATFORM
578c2ecf20Sopenharmony_ci	select HAVE_PERF_EVENTS
588c2ecf20Sopenharmony_ci	select HAVE_REGS_AND_STACK_ACCESS_API
598c2ecf20Sopenharmony_ci	select HAVE_UID16
608c2ecf20Sopenharmony_ci	select HAVE_STACKPROTECTOR
618c2ecf20Sopenharmony_ci	select HAVE_SYSCALL_TRACEPOINTS
628c2ecf20Sopenharmony_ci	select IRQ_FORCED_THREADING
638c2ecf20Sopenharmony_ci	select MAY_HAVE_SPARSE_IRQ
648c2ecf20Sopenharmony_ci	select MODULES_USE_ELF_RELA
658c2ecf20Sopenharmony_ci	select NEED_SG_DMA_LENGTH
668c2ecf20Sopenharmony_ci	select NO_DMA if !MMU && !DMA_COHERENT
678c2ecf20Sopenharmony_ci	select NO_GENERIC_PCI_IOPORT_MAP if PCI
688c2ecf20Sopenharmony_ci	select OLD_SIGACTION
698c2ecf20Sopenharmony_ci	select OLD_SIGSUSPEND
708c2ecf20Sopenharmony_ci	select PCI_DOMAINS if PCI
718c2ecf20Sopenharmony_ci	select PERF_EVENTS
728c2ecf20Sopenharmony_ci	select PERF_USE_VMALLOC
738c2ecf20Sopenharmony_ci	select RTC_LIB
748c2ecf20Sopenharmony_ci	select SET_FS
758c2ecf20Sopenharmony_ci	select SPARSE_IRQ
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  The SuperH is a RISC processor targeted for use in embedded systems
788c2ecf20Sopenharmony_ci	  and consumer electronics; it was also used in the Sega Dreamcast
798c2ecf20Sopenharmony_ci	  gaming console.  The SuperH port has a home page at
808c2ecf20Sopenharmony_ci	  <http://www.linux-sh.org/>.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig GENERIC_BUG
838c2ecf20Sopenharmony_ci	def_bool y
848c2ecf20Sopenharmony_ci	depends on BUG
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT
878c2ecf20Sopenharmony_ci	def_bool y
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciconfig GENERIC_CALIBRATE_DELAY
908c2ecf20Sopenharmony_ci	bool
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig GENERIC_LOCKBREAK
938c2ecf20Sopenharmony_ci	def_bool y
948c2ecf20Sopenharmony_ci	depends on SMP && PREEMPTION
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ciconfig ARCH_SUSPEND_POSSIBLE
978c2ecf20Sopenharmony_ci	def_bool n
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciconfig ARCH_HIBERNATION_POSSIBLE
1008c2ecf20Sopenharmony_ci	def_bool n
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_APM_EMULATION
1038c2ecf20Sopenharmony_ci	bool
1048c2ecf20Sopenharmony_ci	select ARCH_SUSPEND_POSSIBLE
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_HUGETLBFS
1078c2ecf20Sopenharmony_ci	bool
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_SMP
1108c2ecf20Sopenharmony_ci	bool
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig SYS_SUPPORTS_NUMA
1138c2ecf20Sopenharmony_ci	bool
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT
1168c2ecf20Sopenharmony_ci	def_bool y
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT
1198c2ecf20Sopenharmony_ci	def_bool y
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U32
1228c2ecf20Sopenharmony_ci	def_bool n
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U64
1258c2ecf20Sopenharmony_ci	def_bool n
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciconfig NO_IOPORT_MAP
1288c2ecf20Sopenharmony_ci	def_bool !PCI
1298c2ecf20Sopenharmony_ci	depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
1308c2ecf20Sopenharmony_ci		   !SH_SOLUTION_ENGINE
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ciconfig IO_TRAPPED
1338c2ecf20Sopenharmony_ci	bool
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ciconfig SWAP_IO_SPACE
1368c2ecf20Sopenharmony_ci	bool
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ciconfig DMA_COHERENT
1398c2ecf20Sopenharmony_ci	bool
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ciconfig DMA_NONCOHERENT
1428c2ecf20Sopenharmony_ci	def_bool !NO_DMA && !DMA_COHERENT
1438c2ecf20Sopenharmony_ci	select ARCH_HAS_DMA_PREP_COHERENT
1448c2ecf20Sopenharmony_ci	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
1458c2ecf20Sopenharmony_ci	select DMA_DIRECT_REMAP
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS
1488c2ecf20Sopenharmony_ci	default 3 if X2TLB
1498c2ecf20Sopenharmony_ci	default 2
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_cimenu "System type"
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci#
1548c2ecf20Sopenharmony_ci# Processor families
1558c2ecf20Sopenharmony_ci#
1568c2ecf20Sopenharmony_ciconfig CPU_SH2
1578c2ecf20Sopenharmony_ci	bool
1588c2ecf20Sopenharmony_ci	select SH_INTC
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ciconfig CPU_SH2A
1618c2ecf20Sopenharmony_ci	bool
1628c2ecf20Sopenharmony_ci	select CPU_SH2
1638c2ecf20Sopenharmony_ci	select UNCACHED_MAPPING
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ciconfig CPU_J2
1668c2ecf20Sopenharmony_ci	bool
1678c2ecf20Sopenharmony_ci	select CPU_SH2
1688c2ecf20Sopenharmony_ci	select OF
1698c2ecf20Sopenharmony_ci	select OF_EARLY_FLATTREE
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig CPU_SH3
1728c2ecf20Sopenharmony_ci	bool
1738c2ecf20Sopenharmony_ci	select CPU_HAS_INTEVT
1748c2ecf20Sopenharmony_ci	select CPU_HAS_SR_RB
1758c2ecf20Sopenharmony_ci	select SH_INTC
1768c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_TMU
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig CPU_SH4
1798c2ecf20Sopenharmony_ci	bool
1808c2ecf20Sopenharmony_ci	select CPU_HAS_INTEVT
1818c2ecf20Sopenharmony_ci	select CPU_HAS_SR_RB
1828c2ecf20Sopenharmony_ci	select CPU_HAS_FPU if !CPU_SH4AL_DSP
1838c2ecf20Sopenharmony_ci	select SH_INTC
1848c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_TMU
1858c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_HUGETLBFS if MMU
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ciconfig CPU_SH4A
1888c2ecf20Sopenharmony_ci	bool
1898c2ecf20Sopenharmony_ci	select CPU_SH4
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ciconfig CPU_SH4AL_DSP
1928c2ecf20Sopenharmony_ci	bool
1938c2ecf20Sopenharmony_ci	select CPU_SH4A
1948c2ecf20Sopenharmony_ci	select CPU_HAS_DSP
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ciconfig CPU_SHX2
1978c2ecf20Sopenharmony_ci	bool
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ciconfig CPU_SHX3
2008c2ecf20Sopenharmony_ci	bool
2018c2ecf20Sopenharmony_ci	select DMA_COHERENT
2028c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
2038c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ciconfig ARCH_SHMOBILE
2068c2ecf20Sopenharmony_ci	bool
2078c2ecf20Sopenharmony_ci	select ARCH_SUSPEND_POSSIBLE
2088c2ecf20Sopenharmony_ci	select PM
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ciconfig CPU_HAS_PMU
2118c2ecf20Sopenharmony_ci       depends on CPU_SH4 || CPU_SH4A
2128c2ecf20Sopenharmony_ci       default y
2138c2ecf20Sopenharmony_ci       bool
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_cichoice
2168c2ecf20Sopenharmony_ci	prompt "Processor sub-type selection"
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci#
2198c2ecf20Sopenharmony_ci# Processor subtypes
2208c2ecf20Sopenharmony_ci#
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci# SH-2 Processor Support
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7619
2258c2ecf20Sopenharmony_ci	bool "Support SH7619 processor"
2268c2ecf20Sopenharmony_ci	select CPU_SH2
2278c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_J2
2308c2ecf20Sopenharmony_ci	bool "Support J2 processor"
2318c2ecf20Sopenharmony_ci	select CPU_J2
2328c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SMP
2338c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci# SH-2A Processor Support
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7201
2388c2ecf20Sopenharmony_ci	bool "Support SH7201 processor"
2398c2ecf20Sopenharmony_ci	select CPU_SH2A
2408c2ecf20Sopenharmony_ci	select CPU_HAS_FPU
2418c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2428c2ecf20Sopenharmony_ci 
2438c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7203
2448c2ecf20Sopenharmony_ci	bool "Support SH7203 processor"
2458c2ecf20Sopenharmony_ci	select CPU_SH2A
2468c2ecf20Sopenharmony_ci	select CPU_HAS_FPU
2478c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2488c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2498c2ecf20Sopenharmony_ci	select PINCTRL
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7206
2528c2ecf20Sopenharmony_ci	bool "Support SH7206 processor"
2538c2ecf20Sopenharmony_ci	select CPU_SH2A
2548c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2558c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7263
2588c2ecf20Sopenharmony_ci	bool "Support SH7263 processor"
2598c2ecf20Sopenharmony_ci	select CPU_SH2A
2608c2ecf20Sopenharmony_ci	select CPU_HAS_FPU
2618c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2628c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7264
2658c2ecf20Sopenharmony_ci	bool "Support SH7264 processor"
2668c2ecf20Sopenharmony_ci	select CPU_SH2A
2678c2ecf20Sopenharmony_ci	select CPU_HAS_FPU
2688c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2698c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2708c2ecf20Sopenharmony_ci	select PINCTRL
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7269
2738c2ecf20Sopenharmony_ci	bool "Support SH7269 processor"
2748c2ecf20Sopenharmony_ci	select CPU_SH2A
2758c2ecf20Sopenharmony_ci	select CPU_HAS_FPU
2768c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
2778c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2788c2ecf20Sopenharmony_ci	select PINCTRL
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_MXG
2818c2ecf20Sopenharmony_ci	bool "Support MX-G processor"
2828c2ecf20Sopenharmony_ci	select CPU_SH2A
2838c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_MTU2
2848c2ecf20Sopenharmony_ci	help
2858c2ecf20Sopenharmony_ci	  Select MX-G if running on an R8A03022BG part.
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ci# SH-3 Processor Support
2888c2ecf20Sopenharmony_ci
2898c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7705
2908c2ecf20Sopenharmony_ci	bool "Support SH7705 processor"
2918c2ecf20Sopenharmony_ci	select CPU_SH3
2928c2ecf20Sopenharmony_ci
2938c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7706
2948c2ecf20Sopenharmony_ci	bool "Support SH7706 processor"
2958c2ecf20Sopenharmony_ci	select CPU_SH3
2968c2ecf20Sopenharmony_ci	help
2978c2ecf20Sopenharmony_ci	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7707
3008c2ecf20Sopenharmony_ci	bool "Support SH7707 processor"
3018c2ecf20Sopenharmony_ci	select CPU_SH3
3028c2ecf20Sopenharmony_ci	help
3038c2ecf20Sopenharmony_ci	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7708
3068c2ecf20Sopenharmony_ci	bool "Support SH7708 processor"
3078c2ecf20Sopenharmony_ci	select CPU_SH3
3088c2ecf20Sopenharmony_ci	help
3098c2ecf20Sopenharmony_ci	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
3108c2ecf20Sopenharmony_ci	  if you have a 100 Mhz SH-3 HD6417708R CPU.
3118c2ecf20Sopenharmony_ci
3128c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7709
3138c2ecf20Sopenharmony_ci	bool "Support SH7709 processor"
3148c2ecf20Sopenharmony_ci	select CPU_SH3
3158c2ecf20Sopenharmony_ci	help
3168c2ecf20Sopenharmony_ci	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
3178c2ecf20Sopenharmony_ci
3188c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7710
3198c2ecf20Sopenharmony_ci	bool "Support SH7710 processor"
3208c2ecf20Sopenharmony_ci	select CPU_SH3
3218c2ecf20Sopenharmony_ci	select CPU_HAS_DSP
3228c2ecf20Sopenharmony_ci	help
3238c2ecf20Sopenharmony_ci	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7712
3268c2ecf20Sopenharmony_ci	bool "Support SH7712 processor"
3278c2ecf20Sopenharmony_ci	select CPU_SH3
3288c2ecf20Sopenharmony_ci	select CPU_HAS_DSP
3298c2ecf20Sopenharmony_ci	help
3308c2ecf20Sopenharmony_ci	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7720
3338c2ecf20Sopenharmony_ci	bool "Support SH7720 processor"
3348c2ecf20Sopenharmony_ci	select CPU_SH3
3358c2ecf20Sopenharmony_ci	select CPU_HAS_DSP
3368c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
3378c2ecf20Sopenharmony_ci	select USB_OHCI_SH if USB_OHCI_HCD
3388c2ecf20Sopenharmony_ci	select PINCTRL
3398c2ecf20Sopenharmony_ci	help
3408c2ecf20Sopenharmony_ci	  Select SH7720 if you have a SH3-DSP SH7720 CPU.
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7721
3438c2ecf20Sopenharmony_ci	bool "Support SH7721 processor"
3448c2ecf20Sopenharmony_ci	select CPU_SH3
3458c2ecf20Sopenharmony_ci	select CPU_HAS_DSP
3468c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
3478c2ecf20Sopenharmony_ci	select USB_OHCI_SH if USB_OHCI_HCD
3488c2ecf20Sopenharmony_ci	help
3498c2ecf20Sopenharmony_ci	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ci# SH-4 Processor Support
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7750
3548c2ecf20Sopenharmony_ci	bool "Support SH7750 processor"
3558c2ecf20Sopenharmony_ci	select CPU_SH4
3568c2ecf20Sopenharmony_ci	help
3578c2ecf20Sopenharmony_ci	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
3588c2ecf20Sopenharmony_ci
3598c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7091
3608c2ecf20Sopenharmony_ci	bool "Support SH7091 processor"
3618c2ecf20Sopenharmony_ci	select CPU_SH4
3628c2ecf20Sopenharmony_ci	help
3638c2ecf20Sopenharmony_ci	  Select SH7091 if you have an SH-4 based Sega device (such as
3648c2ecf20Sopenharmony_ci	  the Dreamcast, Naomi, and Naomi 2).
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7750R
3678c2ecf20Sopenharmony_ci	bool "Support SH7750R processor"
3688c2ecf20Sopenharmony_ci	select CPU_SH4
3698c2ecf20Sopenharmony_ci
3708c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7750S
3718c2ecf20Sopenharmony_ci	bool "Support SH7750S processor"
3728c2ecf20Sopenharmony_ci	select CPU_SH4
3738c2ecf20Sopenharmony_ci
3748c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7751
3758c2ecf20Sopenharmony_ci	bool "Support SH7751 processor"
3768c2ecf20Sopenharmony_ci	select CPU_SH4
3778c2ecf20Sopenharmony_ci	help
3788c2ecf20Sopenharmony_ci	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
3798c2ecf20Sopenharmony_ci	  or if you have a HD6417751R CPU.
3808c2ecf20Sopenharmony_ci
3818c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7751R
3828c2ecf20Sopenharmony_ci	bool "Support SH7751R processor"
3838c2ecf20Sopenharmony_ci	select CPU_SH4
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7760
3868c2ecf20Sopenharmony_ci	bool "Support SH7760 processor"
3878c2ecf20Sopenharmony_ci	select CPU_SH4
3888c2ecf20Sopenharmony_ci
3898c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH4_202
3908c2ecf20Sopenharmony_ci	bool "Support SH4-202 processor"
3918c2ecf20Sopenharmony_ci	select CPU_SH4
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ci# SH-4A Processor Support
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7723
3968c2ecf20Sopenharmony_ci	bool "Support SH7723 processor"
3978c2ecf20Sopenharmony_ci	select CPU_SH4A
3988c2ecf20Sopenharmony_ci	select CPU_SHX2
3998c2ecf20Sopenharmony_ci	select ARCH_SHMOBILE
4008c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4018c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
4028c2ecf20Sopenharmony_ci	select PINCTRL
4038c2ecf20Sopenharmony_ci	help
4048c2ecf20Sopenharmony_ci	  Select SH7723 if you have an SH-MobileR2 CPU.
4058c2ecf20Sopenharmony_ci
4068c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7724
4078c2ecf20Sopenharmony_ci	bool "Support SH7724 processor"
4088c2ecf20Sopenharmony_ci	select CPU_SH4A
4098c2ecf20Sopenharmony_ci	select CPU_SHX2
4108c2ecf20Sopenharmony_ci	select ARCH_SHMOBILE
4118c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4128c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
4138c2ecf20Sopenharmony_ci	select PINCTRL
4148c2ecf20Sopenharmony_ci	help
4158c2ecf20Sopenharmony_ci	  Select SH7724 if you have an SH-MobileR2R CPU.
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7734
4188c2ecf20Sopenharmony_ci	bool "Support SH7734 processor"
4198c2ecf20Sopenharmony_ci	select CPU_SH4A
4208c2ecf20Sopenharmony_ci	select CPU_SHX2
4218c2ecf20Sopenharmony_ci	select PINCTRL
4228c2ecf20Sopenharmony_ci	help
4238c2ecf20Sopenharmony_ci	  Select SH7734 if you have a SH4A SH7734 CPU.
4248c2ecf20Sopenharmony_ci
4258c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7757
4268c2ecf20Sopenharmony_ci	bool "Support SH7757 processor"
4278c2ecf20Sopenharmony_ci	select CPU_SH4A
4288c2ecf20Sopenharmony_ci	select CPU_SHX2
4298c2ecf20Sopenharmony_ci	select PINCTRL
4308c2ecf20Sopenharmony_ci	help
4318c2ecf20Sopenharmony_ci	  Select SH7757 if you have a SH4A SH7757 CPU.
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7763
4348c2ecf20Sopenharmony_ci	bool "Support SH7763 processor"
4358c2ecf20Sopenharmony_ci	select CPU_SH4A
4368c2ecf20Sopenharmony_ci	select USB_OHCI_SH if USB_OHCI_HCD
4378c2ecf20Sopenharmony_ci	help
4388c2ecf20Sopenharmony_ci	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7770
4418c2ecf20Sopenharmony_ci	bool "Support SH7770 processor"
4428c2ecf20Sopenharmony_ci	select CPU_SH4A
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7780
4458c2ecf20Sopenharmony_ci	bool "Support SH7780 processor"
4468c2ecf20Sopenharmony_ci	select CPU_SH4A
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7785
4498c2ecf20Sopenharmony_ci	bool "Support SH7785 processor"
4508c2ecf20Sopenharmony_ci	select CPU_SH4A
4518c2ecf20Sopenharmony_ci	select CPU_SHX2
4528c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4538c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
4548c2ecf20Sopenharmony_ci	select PINCTRL
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7786
4578c2ecf20Sopenharmony_ci	bool "Support SH7786 processor"
4588c2ecf20Sopenharmony_ci	select CPU_SH4A
4598c2ecf20Sopenharmony_ci	select CPU_SHX3
4608c2ecf20Sopenharmony_ci	select CPU_HAS_PTEAEX
4618c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4628c2ecf20Sopenharmony_ci	select USB_OHCI_SH if USB_OHCI_HCD
4638c2ecf20Sopenharmony_ci	select USB_EHCI_SH if USB_EHCI_HCD
4648c2ecf20Sopenharmony_ci	select PINCTRL
4658c2ecf20Sopenharmony_ci
4668c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SHX3
4678c2ecf20Sopenharmony_ci	bool "Support SH-X3 processor"
4688c2ecf20Sopenharmony_ci	select CPU_SH4A
4698c2ecf20Sopenharmony_ci	select CPU_SHX3
4708c2ecf20Sopenharmony_ci	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
4718c2ecf20Sopenharmony_ci	select GPIOLIB
4728c2ecf20Sopenharmony_ci	select PINCTRL
4738c2ecf20Sopenharmony_ci
4748c2ecf20Sopenharmony_ci# SH4AL-DSP Processor Support
4758c2ecf20Sopenharmony_ci
4768c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7343
4778c2ecf20Sopenharmony_ci	bool "Support SH7343 processor"
4788c2ecf20Sopenharmony_ci	select CPU_SH4AL_DSP
4798c2ecf20Sopenharmony_ci	select ARCH_SHMOBILE
4808c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
4818c2ecf20Sopenharmony_ci
4828c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7722
4838c2ecf20Sopenharmony_ci	bool "Support SH7722 processor"
4848c2ecf20Sopenharmony_ci	select CPU_SH4AL_DSP
4858c2ecf20Sopenharmony_ci	select CPU_SHX2
4868c2ecf20Sopenharmony_ci	select ARCH_SHMOBILE
4878c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4888c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
4898c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
4908c2ecf20Sopenharmony_ci	select PINCTRL
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ciconfig CPU_SUBTYPE_SH7366
4938c2ecf20Sopenharmony_ci	bool "Support SH7366 processor"
4948c2ecf20Sopenharmony_ci	select CPU_SH4AL_DSP
4958c2ecf20Sopenharmony_ci	select CPU_SHX2
4968c2ecf20Sopenharmony_ci	select ARCH_SHMOBILE
4978c2ecf20Sopenharmony_ci	select ARCH_SPARSEMEM_ENABLE
4988c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_NUMA
4998c2ecf20Sopenharmony_ci	select SYS_SUPPORTS_SH_CMT
5008c2ecf20Sopenharmony_ci
5018c2ecf20Sopenharmony_ciendchoice
5028c2ecf20Sopenharmony_ci
5038c2ecf20Sopenharmony_cisource "arch/sh/mm/Kconfig"
5048c2ecf20Sopenharmony_ci 
5058c2ecf20Sopenharmony_cisource "arch/sh/Kconfig.cpu"
5068c2ecf20Sopenharmony_ci
5078c2ecf20Sopenharmony_cisource "arch/sh/boards/Kconfig"
5088c2ecf20Sopenharmony_ci
5098c2ecf20Sopenharmony_cimenu "Timer and clock configuration"
5108c2ecf20Sopenharmony_ci
5118c2ecf20Sopenharmony_ciconfig SH_PCLK_FREQ
5128c2ecf20Sopenharmony_ci	int "Peripheral clock frequency (in Hz)"
5138c2ecf20Sopenharmony_ci	depends on SH_CLK_CPG_LEGACY
5148c2ecf20Sopenharmony_ci	default "31250000" if CPU_SUBTYPE_SH7619
5158c2ecf20Sopenharmony_ci	default "33333333" if CPU_SUBTYPE_SH7770 || \
5168c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_SH7760 || \
5178c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_SH7705 || \
5188c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_SH7203 || \
5198c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_SH7206 || \
5208c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_SH7263 || \
5218c2ecf20Sopenharmony_ci			      CPU_SUBTYPE_MXG
5228c2ecf20Sopenharmony_ci	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
5238c2ecf20Sopenharmony_ci	default "66000000" if CPU_SUBTYPE_SH4_202
5248c2ecf20Sopenharmony_ci	default "50000000"
5258c2ecf20Sopenharmony_ci	help
5268c2ecf20Sopenharmony_ci	  This option is used to specify the peripheral clock frequency.
5278c2ecf20Sopenharmony_ci	  This is necessary for determining the reference clock value on
5288c2ecf20Sopenharmony_ci	  platforms lacking an RTC.
5298c2ecf20Sopenharmony_ci
5308c2ecf20Sopenharmony_ciconfig SH_CLK_CPG
5318c2ecf20Sopenharmony_ci	def_bool y
5328c2ecf20Sopenharmony_ci
5338c2ecf20Sopenharmony_ciconfig SH_CLK_CPG_LEGACY
5348c2ecf20Sopenharmony_ci	depends on SH_CLK_CPG
5358c2ecf20Sopenharmony_ci	def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
5368c2ecf20Sopenharmony_ci		      !CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
5378c2ecf20Sopenharmony_ci		      !CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
5388c2ecf20Sopenharmony_ci		      !CPU_SUBTYPE_SH7269
5398c2ecf20Sopenharmony_ci
5408c2ecf20Sopenharmony_ciendmenu
5418c2ecf20Sopenharmony_ci
5428c2ecf20Sopenharmony_cimenu "CPU Frequency scaling"
5438c2ecf20Sopenharmony_cisource "drivers/cpufreq/Kconfig"
5448c2ecf20Sopenharmony_ciendmenu
5458c2ecf20Sopenharmony_ci
5468c2ecf20Sopenharmony_cisource "arch/sh/drivers/Kconfig"
5478c2ecf20Sopenharmony_ci
5488c2ecf20Sopenharmony_ciendmenu
5498c2ecf20Sopenharmony_ci
5508c2ecf20Sopenharmony_cimenu "Kernel features"
5518c2ecf20Sopenharmony_ci
5528c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz"
5538c2ecf20Sopenharmony_ci
5548c2ecf20Sopenharmony_ciconfig KEXEC
5558c2ecf20Sopenharmony_ci	bool "kexec system call (EXPERIMENTAL)"
5568c2ecf20Sopenharmony_ci	depends on MMU
5578c2ecf20Sopenharmony_ci	select KEXEC_CORE
5588c2ecf20Sopenharmony_ci	help
5598c2ecf20Sopenharmony_ci	  kexec is a system call that implements the ability to shutdown your
5608c2ecf20Sopenharmony_ci	  current kernel, and to start another kernel.  It is like a reboot
5618c2ecf20Sopenharmony_ci	  but it is independent of the system firmware.  And like a reboot
5628c2ecf20Sopenharmony_ci	  you can start any kernel with it, not just Linux.
5638c2ecf20Sopenharmony_ci
5648c2ecf20Sopenharmony_ci	  The name comes from the similarity to the exec system call.
5658c2ecf20Sopenharmony_ci
5668c2ecf20Sopenharmony_ci	  It is an ongoing process to be certain the hardware in a machine
5678c2ecf20Sopenharmony_ci	  is properly shutdown, so do not be surprised if this code does not
5688c2ecf20Sopenharmony_ci	  initially work for you.  As of this writing the exact hardware
5698c2ecf20Sopenharmony_ci	  interface is strongly in flux, so no good recommendation can be
5708c2ecf20Sopenharmony_ci	  made.
5718c2ecf20Sopenharmony_ci
5728c2ecf20Sopenharmony_ciconfig CRASH_DUMP
5738c2ecf20Sopenharmony_ci	bool "kernel crash dumps (EXPERIMENTAL)"
5748c2ecf20Sopenharmony_ci	depends on BROKEN_ON_SMP
5758c2ecf20Sopenharmony_ci	help
5768c2ecf20Sopenharmony_ci	  Generate crash dump after being started by kexec.
5778c2ecf20Sopenharmony_ci	  This should be normally only set in special crash dump kernels
5788c2ecf20Sopenharmony_ci	  which are loaded in the main kernel with kexec-tools into
5798c2ecf20Sopenharmony_ci	  a specially reserved region and then later executed after
5808c2ecf20Sopenharmony_ci	  a crash by kdump/kexec. The crash dump kernel must be compiled
5818c2ecf20Sopenharmony_ci	  to a memory address not used by the main kernel using
5828c2ecf20Sopenharmony_ci	  PHYSICAL_START.
5838c2ecf20Sopenharmony_ci
5848c2ecf20Sopenharmony_ci	  For more details see Documentation/admin-guide/kdump/kdump.rst
5858c2ecf20Sopenharmony_ci
5868c2ecf20Sopenharmony_ciconfig KEXEC_JUMP
5878c2ecf20Sopenharmony_ci	bool "kexec jump (EXPERIMENTAL)"
5888c2ecf20Sopenharmony_ci	depends on KEXEC && HIBERNATION
5898c2ecf20Sopenharmony_ci	help
5908c2ecf20Sopenharmony_ci	  Jump between original kernel and kexeced kernel and invoke
5918c2ecf20Sopenharmony_ci	  code via KEXEC
5928c2ecf20Sopenharmony_ci
5938c2ecf20Sopenharmony_ciconfig PHYSICAL_START
5948c2ecf20Sopenharmony_ci	hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
5958c2ecf20Sopenharmony_ci	default MEMORY_START
5968c2ecf20Sopenharmony_ci	help
5978c2ecf20Sopenharmony_ci	  This gives the physical address where the kernel is loaded
5988c2ecf20Sopenharmony_ci	  and is ordinarily the same as MEMORY_START.
5998c2ecf20Sopenharmony_ci
6008c2ecf20Sopenharmony_ci	  Different values are primarily used in the case of kexec on panic
6018c2ecf20Sopenharmony_ci	  where the fail safe kernel needs to run at a different address
6028c2ecf20Sopenharmony_ci	  than the panic-ed kernel.
6038c2ecf20Sopenharmony_ci
6048c2ecf20Sopenharmony_ciconfig SMP
6058c2ecf20Sopenharmony_ci	bool "Symmetric multi-processing support"
6068c2ecf20Sopenharmony_ci	depends on SYS_SUPPORTS_SMP
6078c2ecf20Sopenharmony_ci	help
6088c2ecf20Sopenharmony_ci	  This enables support for systems with more than one CPU. If you have
6098c2ecf20Sopenharmony_ci	  a system with only one CPU, say N. If you have a system with more
6108c2ecf20Sopenharmony_ci	  than one CPU, say Y.
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ci	  If you say N here, the kernel will run on uni- and multiprocessor
6138c2ecf20Sopenharmony_ci	  machines, but will use only one CPU of a multiprocessor machine. If
6148c2ecf20Sopenharmony_ci	  you say Y here, the kernel will run on many, but not all,
6158c2ecf20Sopenharmony_ci	  uniprocessor machines. On a uniprocessor machine, the kernel
6168c2ecf20Sopenharmony_ci	  will run faster if you say N here.
6178c2ecf20Sopenharmony_ci
6188c2ecf20Sopenharmony_ci	  People using multiprocessor machines who say Y here should also say
6198c2ecf20Sopenharmony_ci	  Y to "Enhanced Real Time Clock Support", below.
6208c2ecf20Sopenharmony_ci
6218c2ecf20Sopenharmony_ci	  See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
6228c2ecf20Sopenharmony_ci	  available at <https://www.tldp.org/docs.html#howto>.
6238c2ecf20Sopenharmony_ci
6248c2ecf20Sopenharmony_ci	  If you don't know what to do here, say N.
6258c2ecf20Sopenharmony_ci
6268c2ecf20Sopenharmony_ciconfig NR_CPUS
6278c2ecf20Sopenharmony_ci	int "Maximum number of CPUs (2-32)"
6288c2ecf20Sopenharmony_ci	range 2 32
6298c2ecf20Sopenharmony_ci	depends on SMP
6308c2ecf20Sopenharmony_ci	default "4" if CPU_SUBTYPE_SHX3
6318c2ecf20Sopenharmony_ci	default "2"
6328c2ecf20Sopenharmony_ci	help
6338c2ecf20Sopenharmony_ci	  This allows you to specify the maximum number of CPUs which this
6348c2ecf20Sopenharmony_ci	  kernel will support.  The maximum supported value is 32 and the
6358c2ecf20Sopenharmony_ci	  minimum value which makes sense is 2.
6368c2ecf20Sopenharmony_ci
6378c2ecf20Sopenharmony_ci	  This is purely to save memory - each supported CPU adds
6388c2ecf20Sopenharmony_ci	  approximately eight kilobytes to the kernel image.
6398c2ecf20Sopenharmony_ci
6408c2ecf20Sopenharmony_ciconfig HOTPLUG_CPU
6418c2ecf20Sopenharmony_ci	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
6428c2ecf20Sopenharmony_ci	depends on SMP
6438c2ecf20Sopenharmony_ci	help
6448c2ecf20Sopenharmony_ci	  Say Y here to experiment with turning CPUs off and on.  CPUs
6458c2ecf20Sopenharmony_ci	  can be controlled through /sys/devices/system/cpu.
6468c2ecf20Sopenharmony_ci
6478c2ecf20Sopenharmony_ciconfig GUSA
6488c2ecf20Sopenharmony_ci	def_bool y
6498c2ecf20Sopenharmony_ci	depends on !SMP
6508c2ecf20Sopenharmony_ci	help
6518c2ecf20Sopenharmony_ci	  This enables support for gUSA (general UserSpace Atomicity).
6528c2ecf20Sopenharmony_ci	  This is the default implementation for both UP and non-ll/sc
6538c2ecf20Sopenharmony_ci	  CPUs, and is used by the libc, amongst others.
6548c2ecf20Sopenharmony_ci
6558c2ecf20Sopenharmony_ci	  For additional information, design information can be found 
6568c2ecf20Sopenharmony_ci	  in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
6578c2ecf20Sopenharmony_ci
6588c2ecf20Sopenharmony_ci	  This should only be disabled for special cases where alternate
6598c2ecf20Sopenharmony_ci	  atomicity implementations exist.
6608c2ecf20Sopenharmony_ci
6618c2ecf20Sopenharmony_ciconfig GUSA_RB
6628c2ecf20Sopenharmony_ci	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
6638c2ecf20Sopenharmony_ci	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
6648c2ecf20Sopenharmony_ci	help
6658c2ecf20Sopenharmony_ci	  Enabling this option will allow the kernel to implement some
6668c2ecf20Sopenharmony_ci	  atomic operations using a software implementation of load-locked/
6678c2ecf20Sopenharmony_ci	  store-conditional (LLSC). On machines which do not have hardware
6688c2ecf20Sopenharmony_ci	  LLSC, this should be more efficient than the other alternative of
6698c2ecf20Sopenharmony_ci	  disabling interrupts around the atomic sequence.
6708c2ecf20Sopenharmony_ci
6718c2ecf20Sopenharmony_ciconfig HW_PERF_EVENTS
6728c2ecf20Sopenharmony_ci	bool "Enable hardware performance counter support for perf events"
6738c2ecf20Sopenharmony_ci	depends on PERF_EVENTS && CPU_HAS_PMU
6748c2ecf20Sopenharmony_ci	default y
6758c2ecf20Sopenharmony_ci	help
6768c2ecf20Sopenharmony_ci	  Enable hardware performance counter support for perf events. If
6778c2ecf20Sopenharmony_ci	  disabled, perf events will use software events only.
6788c2ecf20Sopenharmony_ci
6798c2ecf20Sopenharmony_cisource "drivers/sh/Kconfig"
6808c2ecf20Sopenharmony_ci
6818c2ecf20Sopenharmony_ciendmenu
6828c2ecf20Sopenharmony_ci
6838c2ecf20Sopenharmony_cimenu "Boot options"
6848c2ecf20Sopenharmony_ci
6858c2ecf20Sopenharmony_ciconfig USE_BUILTIN_DTB
6868c2ecf20Sopenharmony_ci	bool "Use builtin DTB"
6878c2ecf20Sopenharmony_ci	default n
6888c2ecf20Sopenharmony_ci	depends on SH_DEVICE_TREE
6898c2ecf20Sopenharmony_ci	help
6908c2ecf20Sopenharmony_ci	  Link a device tree blob for particular hardware into the kernel,
6918c2ecf20Sopenharmony_ci	  suppressing use of the DTB pointer provided by the bootloader.
6928c2ecf20Sopenharmony_ci	  This option should only be used with legacy bootloaders that are
6938c2ecf20Sopenharmony_ci	  not capable of providing a DTB to the kernel, or for experimental
6948c2ecf20Sopenharmony_ci	  hardware without stable device tree bindings.
6958c2ecf20Sopenharmony_ci
6968c2ecf20Sopenharmony_ciconfig BUILTIN_DTB_SOURCE
6978c2ecf20Sopenharmony_ci	string "Source file for builtin DTB"
6988c2ecf20Sopenharmony_ci	default ""
6998c2ecf20Sopenharmony_ci	depends on USE_BUILTIN_DTB
7008c2ecf20Sopenharmony_ci	help
7018c2ecf20Sopenharmony_ci	  Base name (without suffix, relative to arch/sh/boot/dts) for the
7028c2ecf20Sopenharmony_ci	  a DTS file that will be used to produce the DTB linked into the
7038c2ecf20Sopenharmony_ci	  kernel.
7048c2ecf20Sopenharmony_ci
7058c2ecf20Sopenharmony_ciconfig ZERO_PAGE_OFFSET
7068c2ecf20Sopenharmony_ci	hex
7078c2ecf20Sopenharmony_ci	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
7088c2ecf20Sopenharmony_ci				SH_7751_SOLUTION_ENGINE
7098c2ecf20Sopenharmony_ci	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
7108c2ecf20Sopenharmony_ci	default "0x00002000" if PAGE_SIZE_8KB
7118c2ecf20Sopenharmony_ci	default "0x00001000"
7128c2ecf20Sopenharmony_ci	help
7138c2ecf20Sopenharmony_ci	  This sets the default offset of zero page.
7148c2ecf20Sopenharmony_ci
7158c2ecf20Sopenharmony_ciconfig BOOT_LINK_OFFSET
7168c2ecf20Sopenharmony_ci	hex
7178c2ecf20Sopenharmony_ci	default "0x00210000" if SH_SHMIN
7188c2ecf20Sopenharmony_ci	default "0x00810000" if SH_7780_SOLUTION_ENGINE
7198c2ecf20Sopenharmony_ci	default "0x009e0000" if SH_TITAN
7208c2ecf20Sopenharmony_ci	default "0x01800000" if SH_SDK7780
7218c2ecf20Sopenharmony_ci	default "0x02000000" if SH_EDOSK7760
7228c2ecf20Sopenharmony_ci	default "0x00800000"
7238c2ecf20Sopenharmony_ci	help
7248c2ecf20Sopenharmony_ci	  This option allows you to set the link address offset of the zImage.
7258c2ecf20Sopenharmony_ci	  This can be useful if you are on a board which has a small amount of
7268c2ecf20Sopenharmony_ci	  memory.
7278c2ecf20Sopenharmony_ci
7288c2ecf20Sopenharmony_ciconfig ENTRY_OFFSET
7298c2ecf20Sopenharmony_ci	hex
7308c2ecf20Sopenharmony_ci	default "0x00001000" if PAGE_SIZE_4KB
7318c2ecf20Sopenharmony_ci	default "0x00002000" if PAGE_SIZE_8KB
7328c2ecf20Sopenharmony_ci	default "0x00004000" if PAGE_SIZE_16KB
7338c2ecf20Sopenharmony_ci	default "0x00010000" if PAGE_SIZE_64KB
7348c2ecf20Sopenharmony_ci	default "0x00000000"
7358c2ecf20Sopenharmony_ci
7368c2ecf20Sopenharmony_ciconfig ROMIMAGE_MMCIF
7378c2ecf20Sopenharmony_ci	bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
7388c2ecf20Sopenharmony_ci	depends on CPU_SUBTYPE_SH7724
7398c2ecf20Sopenharmony_ci	help
7408c2ecf20Sopenharmony_ci	  Say Y here to include experimental MMCIF loading code in
7418c2ecf20Sopenharmony_ci	  romImage. With this enabled it is possible to write the romImage
7428c2ecf20Sopenharmony_ci	  kernel image to an MMC card and boot the kernel straight from
7438c2ecf20Sopenharmony_ci	  the reset vector. At reset the processor Mask ROM will load the
7448c2ecf20Sopenharmony_ci	  first part of the romImage which in turn loads the rest the kernel
7458c2ecf20Sopenharmony_ci	  image to RAM using the MMCIF hardware block.
7468c2ecf20Sopenharmony_ci
7478c2ecf20Sopenharmony_cichoice
7488c2ecf20Sopenharmony_ci	prompt "Kernel command line"
7498c2ecf20Sopenharmony_ci	optional
7508c2ecf20Sopenharmony_ci	default CMDLINE_OVERWRITE
7518c2ecf20Sopenharmony_ci	help
7528c2ecf20Sopenharmony_ci	  Setting this option allows the kernel command line arguments
7538c2ecf20Sopenharmony_ci	  to be set.
7548c2ecf20Sopenharmony_ci
7558c2ecf20Sopenharmony_ciconfig CMDLINE_OVERWRITE
7568c2ecf20Sopenharmony_ci	bool "Overwrite bootloader kernel arguments"
7578c2ecf20Sopenharmony_ci	help
7588c2ecf20Sopenharmony_ci	  Given string will overwrite any arguments passed in by
7598c2ecf20Sopenharmony_ci	  a bootloader.
7608c2ecf20Sopenharmony_ci
7618c2ecf20Sopenharmony_ciconfig CMDLINE_EXTEND
7628c2ecf20Sopenharmony_ci	bool "Extend bootloader kernel arguments"
7638c2ecf20Sopenharmony_ci	help
7648c2ecf20Sopenharmony_ci	  Given string will be concatenated with arguments passed in
7658c2ecf20Sopenharmony_ci	  by a bootloader.
7668c2ecf20Sopenharmony_ci
7678c2ecf20Sopenharmony_ciendchoice
7688c2ecf20Sopenharmony_ci
7698c2ecf20Sopenharmony_ciconfig CMDLINE
7708c2ecf20Sopenharmony_ci	string "Kernel command line arguments string"
7718c2ecf20Sopenharmony_ci	depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
7728c2ecf20Sopenharmony_ci	default "console=ttySC1,115200"
7738c2ecf20Sopenharmony_ci
7748c2ecf20Sopenharmony_ciendmenu
7758c2ecf20Sopenharmony_ci
7768c2ecf20Sopenharmony_cimenu "Bus options"
7778c2ecf20Sopenharmony_ci
7788c2ecf20Sopenharmony_ciconfig SUPERHYWAY
7798c2ecf20Sopenharmony_ci	tristate "SuperHyway Bus support"
7808c2ecf20Sopenharmony_ci	depends on CPU_SUBTYPE_SH4_202
7818c2ecf20Sopenharmony_ci
7828c2ecf20Sopenharmony_ciconfig MAPLE
7838c2ecf20Sopenharmony_ci	bool "Maple Bus support"
7848c2ecf20Sopenharmony_ci	depends on SH_DREAMCAST
7858c2ecf20Sopenharmony_ci	help
7868c2ecf20Sopenharmony_ci	 The Maple Bus is SEGA's serial communication bus for peripherals
7878c2ecf20Sopenharmony_ci	 on the Dreamcast. Without this bus support you won't be able to
7888c2ecf20Sopenharmony_ci	 get your Dreamcast keyboard etc to work, so most users
7898c2ecf20Sopenharmony_ci	 probably want to say 'Y' here, unless you are only using the
7908c2ecf20Sopenharmony_ci	 Dreamcast with a serial line terminal or a remote network
7918c2ecf20Sopenharmony_ci	 connection.
7928c2ecf20Sopenharmony_ci
7938c2ecf20Sopenharmony_ciendmenu
7948c2ecf20Sopenharmony_ci
7958c2ecf20Sopenharmony_cimenu "Power management options (EXPERIMENTAL)"
7968c2ecf20Sopenharmony_ci
7978c2ecf20Sopenharmony_cisource "kernel/power/Kconfig"
7988c2ecf20Sopenharmony_ci
7998c2ecf20Sopenharmony_cisource "drivers/cpuidle/Kconfig"
8008c2ecf20Sopenharmony_ci
8018c2ecf20Sopenharmony_ciendmenu
802