1 # SPDX-License-Identifier: GPL-2.0-only
4 select ARCH_32BIT_OFF_T
5 select ARCH_HAS_DMA_PREP_COHERENT
6 select ARCH_HAS_SYNC_DMA_FOR_CPU
7 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
8 select ARCH_USE_BUILTIN_BSWAP
9 select ARCH_USE_QUEUED_RWLOCKS if NR_CPUS>2
12 select CSKY_MPINTC if CPU_CK860
13 select CSKY_MP_TIMER if CPU_CK860
15 select DMA_DIRECT_REMAP
17 select HANDLE_DOMAIN_IRQ
18 select DW_APB_TIMER_OF
19 select GENERIC_IOREMAP
20 select GENERIC_LIB_ASHLDI3
21 select GENERIC_LIB_ASHRDI3
22 select GENERIC_LIB_LSHRDI3
23 select GENERIC_LIB_MULDI3
24 select GENERIC_LIB_CMPDI2
25 select GENERIC_LIB_UCMPDI2
26 select GENERIC_ALLOCATOR
27 select GENERIC_ATOMIC64
28 select GENERIC_CLOCKEVENTS
29 select GENERIC_CPU_DEVICES
30 select GENERIC_IRQ_CHIP
31 select GENERIC_IRQ_PROBE
32 select GENERIC_IRQ_SHOW
33 select GENERIC_IRQ_MULTI_HANDLER
34 select GENERIC_SCHED_CLOCK
35 select GENERIC_SMP_IDLE_THREAD
36 select GX6605S_TIMER if CPU_CK610
37 select HAVE_ARCH_TRACEHOOK
38 select HAVE_ARCH_AUDITSYSCALL
39 select HAVE_COPY_THREAD_TLS
40 select HAVE_DYNAMIC_FTRACE
41 select HAVE_FUNCTION_TRACER
42 select HAVE_FUNCTION_GRAPH_TRACER
43 select HAVE_FTRACE_MCOUNT_RECORD
44 select HAVE_KERNEL_GZIP
45 select HAVE_KERNEL_LZO
46 select HAVE_KERNEL_LZMA
47 select HAVE_PERF_EVENTS
49 select HAVE_PERF_USER_STACK_DUMP
50 select HAVE_DMA_CONTIGUOUS
51 select HAVE_STACKPROTECTOR
52 select HAVE_SYSCALL_TRACEPOINTS
53 select MAY_HAVE_SPARSE_IRQ
54 select MODULES_USE_ELF_RELA if MODULES
56 select OF_EARLY_FLATTREE
57 select PERF_USE_VMALLOC if CPU_CK610
60 select USB_ARCH_HAS_EHCI
61 select USB_ARCH_HAS_OHCI
62 select GENERIC_PCI_IOMAP
64 select PCI_DOMAINS_GENERIC if PCI
65 select PCI_SYSCALL if PCI
68 config CPU_HAS_CACHEV2
83 For SMP, CPU needs "ldex&stex" instructions for atomic operations.
85 config CPU_NEED_TLBSYNC
88 config CPU_NEED_SOFTALIGN
91 config CPU_NO_USER_BKPT
94 For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because
95 abiv2 is 16/32bit instruction set and "trap 1" is 32bit.
96 So we need a 16bit instruction as user space bkpt, and it will cause an illegal
97 instruction exception.
98 In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not.
100 config GENERIC_CALIBRATE_DELAY
106 config GENERIC_HWEIGHT
112 config STACKTRACE_SUPPORT
118 config TRACE_IRQFLAGS_SUPPORT
123 default "128" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
124 default "1024" if (CPU_CK860)
128 default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
129 default "12" if (CPU_CK860)
131 config L1_CACHE_SHIFT
133 default "4" if (CPU_CK610)
134 default "5" if (CPU_CK807 || CPU_CK810)
135 default "6" if (CPU_CK860)
137 menu "Processor type and features"
144 bool "CSKY CPU ck610"
145 select CPU_NEED_TLBSYNC
146 select CPU_NEED_SOFTALIGN
147 select CPU_NO_USER_BKPT
150 bool "CSKY CPU ck810"
152 select CPU_NEED_TLBSYNC
155 bool "CSKY CPU ck807"
159 bool "CSKY CPU ck860"
161 select CPU_HAS_CACHEV2
162 select CPU_HAS_LDSTEX
167 prompt "C-SKY PMU type"
168 depends on PERF_EVENTS
169 depends on CPU_CK807 || CPU_CK810 || CPU_CK860
175 bool "Performance Monitoring Unit Ver.1"
180 prompt "Power Manager Instruction (wait/doze/stop)"
197 bool "Tightly-Coupled/Sram Memory"
198 select GENERIC_ALLOCATOR
200 The implementation are not only used by TCM (Tightly-Coupled Meory)
201 but also used by sram on SOC bus. It follow existed linux tcm
202 software interface, so that old tcm application codes could be
211 int "Page count of ITCM size: NR*4KB"
224 int "Page count of DTCM size: NR*4KB"
231 bool "CPU has VDSP coprocessor"
232 depends on CPU_HAS_FPU && CPU_HAS_FPUV2
235 bool "CPU has FPU coprocessor"
236 depends on CPU_CK807 || CPU_CK810 || CPU_CK860
238 config CPU_HAS_ICACHE_INS
239 bool "CPU has Icache invalidate instructions"
240 depends on CPU_HAS_CACHEV2
243 bool "CPU has Trusted Execution Environment"
247 bool "Symmetric Multi-Processing (SMP) support for C-SKY"
252 int "Maximum number of CPUs (2-32)"
258 bool "High Memory Support"
259 depends on !CPU_CK610
262 config FORCE_MAX_ZONEORDER
263 int "Maximum zone order"
267 hex "DRAM start addr (the same with memory-section in dts)"
271 bool "Support for hot-pluggable CPUs"
272 select GENERIC_IRQ_MIGRATION
275 Say Y here to allow turning CPUs off and on. CPUs can be
276 controlled through /sys/devices/system/cpu/cpu1/hotplug/target.
278 Say N if you want to disable CPU hotplug.
281 source "arch/csky/Kconfig.platforms"
283 source "kernel/Kconfig.hz"