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
13 select CSKY_MPINTC if CPU_CK860
14 select CSKY_MP_TIMER if CPU_CK860
16 select DMA_DIRECT_REMAP
18 select HANDLE_DOMAIN_IRQ
19 select DW_APB_TIMER_OF
20 select GENERIC_IOREMAP
21 select GENERIC_LIB_ASHLDI3
22 select GENERIC_LIB_ASHRDI3
23 select GENERIC_LIB_LSHRDI3
24 select GENERIC_LIB_MULDI3
25 select GENERIC_LIB_CMPDI2
26 select GENERIC_LIB_UCMPDI2
27 select GENERIC_ALLOCATOR
28 select GENERIC_ATOMIC64
29 select GENERIC_CLOCKEVENTS
30 select GENERIC_CPU_DEVICES
31 select GENERIC_IRQ_CHIP
32 select GENERIC_IRQ_PROBE
33 select GENERIC_IRQ_SHOW
34 select GENERIC_IRQ_MULTI_HANDLER
35 select GENERIC_SCHED_CLOCK
36 select GENERIC_SMP_IDLE_THREAD
37 select GX6605S_TIMER if CPU_CK610
38 select HAVE_ARCH_TRACEHOOK
39 select HAVE_ARCH_AUDITSYSCALL
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_API_DEBUG
51 select HAVE_DMA_CONTIGUOUS
52 select HAVE_STACKPROTECTOR
53 select HAVE_SYSCALL_TRACEPOINTS
54 select MAY_HAVE_SPARSE_IRQ
55 select MODULES_USE_ELF_RELA if MODULES
57 select OF_EARLY_FLATTREE
58 select PERF_USE_VMALLOC if CPU_CK610
61 select USB_ARCH_HAS_EHCI
62 select USB_ARCH_HAS_OHCI
64 config CPU_HAS_CACHEV2
79 For SMP, CPU needs "ldex&stex" instrcutions to atomic operations.
81 config CPU_NEED_TLBSYNC
84 config CPU_NEED_SOFTALIGN
87 config CPU_NO_USER_BKPT
90 For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because
91 abiv2 is 16/32bit instruction set and "trap 1" is 32bit.
92 So we need a 16bit instruction as user space bkpt, and it will cause an illegal
93 instruction exception.
94 In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not.
96 config GENERIC_CALIBRATE_DELAY
102 config GENERIC_HWEIGHT
108 config STACKTRACE_SUPPORT
114 config TRACE_IRQFLAGS_SUPPORT
119 default "128" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
120 default "1024" if (CPU_CK860)
124 default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810)
125 default "12" if (CPU_CK860)
127 config L1_CACHE_SHIFT
129 default "4" if (CPU_CK610)
130 default "5" if (CPU_CK807 || CPU_CK810)
131 default "6" if (CPU_CK860)
133 menu "Processor type and features"
140 bool "CSKY CPU ck610"
141 select CPU_NEED_TLBSYNC
142 select CPU_NEED_SOFTALIGN
143 select CPU_NO_USER_BKPT
146 bool "CSKY CPU ck810"
148 select CPU_NEED_TLBSYNC
151 bool "CSKY CPU ck807"
155 bool "CSKY CPU ck860"
157 select CPU_HAS_CACHEV2
158 select CPU_HAS_LDSTEX
163 prompt "C-SKY PMU type"
164 depends on PERF_EVENTS
165 depends on CPU_CK807 || CPU_CK810 || CPU_CK860
171 bool "Performance Monitoring Unit Ver.1"
176 prompt "Power Manager Instruction (wait/doze/stop)"
193 bool "Tightly-Coupled/Sram Memory"
194 select GENERIC_ALLOCATOR
196 The implementation are not only used by TCM (Tightly-Coupled Meory)
197 but also used by sram on SOC bus. It follow existed linux tcm
198 software interface, so that old tcm application codes could be
207 int "Page count of ITCM size: NR*4KB"
220 int "Page count of DTCM size: NR*4KB"
227 bool "CPU has VDSP coprocessor"
228 depends on CPU_HAS_FPU && CPU_HAS_FPUV2
231 bool "CPU has FPU coprocessor"
232 depends on CPU_CK807 || CPU_CK810 || CPU_CK860
235 bool "CPU has Trusted Execution Environment"
239 bool "Symmetric Multi-Processing (SMP) support for C-SKY"
244 int "Maximum number of CPUs (2-32)"
250 bool "High Memory Support"
251 depends on !CPU_CK610
254 config FORCE_MAX_ZONEORDER
255 int "Maximum zone order"
259 hex "DRAM start addr (the same with memory-section in dts)"
263 bool "Support for hot-pluggable CPUs"
264 select GENERIC_IRQ_MIGRATION
267 Say Y here to allow turning CPUs off and on. CPUs can be
268 controlled through /sys/devices/system/cpu/cpu1/hotplug/target.
270 Say N if you want to disable CPU hotplug.
273 source "arch/csky/Kconfig.platforms"
275 source "kernel/Kconfig.hz"