Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
c32e64e8 GR |
2 | config CSKY |
3 | def_bool y | |
942fa985 | 4 | select ARCH_32BIT_OFF_T |
13bf5ced | 5 | select ARCH_HAS_DMA_PREP_COHERENT |
c32e64e8 GR |
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 | |
10 | select COMMON_CLK | |
11 | select CLKSRC_MMIO | |
12 | select CLKSRC_OF | |
1994cc49 GR |
13 | select CSKY_MPINTC if CPU_CK860 |
14 | select CSKY_MP_TIMER if CPU_CK860 | |
15 | select CSKY_APB_INTC | |
f04b951f | 16 | select DMA_DIRECT_REMAP |
c32e64e8 GR |
17 | select IRQ_DOMAIN |
18 | select HANDLE_DOMAIN_IRQ | |
19 | select DW_APB_TIMER_OF | |
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 | |
1994cc49 | 36 | select GX6605S_TIMER if CPU_CK610 |
c32e64e8 | 37 | select HAVE_ARCH_TRACEHOOK |
2f7932b0 | 38 | select HAVE_ARCH_AUDITSYSCALL |
28bb030f | 39 | select HAVE_DYNAMIC_FTRACE |
230c77a5 | 40 | select HAVE_FUNCTION_TRACER |
d7950be1 | 41 | select HAVE_FUNCTION_GRAPH_TRACER |
28bb030f | 42 | select HAVE_FTRACE_MCOUNT_RECORD |
c32e64e8 GR |
43 | select HAVE_KERNEL_GZIP |
44 | select HAVE_KERNEL_LZO | |
45 | select HAVE_KERNEL_LZMA | |
f50fd2d8 | 46 | select HAVE_PERF_EVENTS |
daac95e7 MH |
47 | select HAVE_PERF_REGS |
48 | select HAVE_PERF_USER_STACK_DUMP | |
c32e64e8 GR |
49 | select HAVE_DMA_API_DEBUG |
50 | select HAVE_DMA_CONTIGUOUS | |
2f7932b0 | 51 | select HAVE_SYSCALL_TRACEPOINTS |
c32e64e8 GR |
52 | select MAY_HAVE_SPARSE_IRQ |
53 | select MODULES_USE_ELF_RELA if MODULES | |
c32e64e8 GR |
54 | select OF |
55 | select OF_EARLY_FLATTREE | |
f50fd2d8 | 56 | select PERF_USE_VMALLOC if CPU_CK610 |
c32e64e8 GR |
57 | select RTC_LIB |
58 | select TIMER_OF | |
59 | select USB_ARCH_HAS_EHCI | |
60 | select USB_ARCH_HAS_OHCI | |
61 | ||
62 | config CPU_HAS_CACHEV2 | |
63 | bool | |
64 | ||
65 | config CPU_HAS_FPUV2 | |
66 | bool | |
67 | ||
68 | config CPU_HAS_HILO | |
69 | bool | |
70 | ||
71 | config CPU_HAS_TLBI | |
72 | bool | |
73 | ||
74 | config CPU_HAS_LDSTEX | |
75 | bool | |
76 | help | |
77 | For SMP, CPU needs "ldex&stex" instrcutions to atomic operations. | |
78 | ||
79 | config CPU_NEED_TLBSYNC | |
80 | bool | |
81 | ||
82 | config CPU_NEED_SOFTALIGN | |
83 | bool | |
84 | ||
85 | config CPU_NO_USER_BKPT | |
86 | bool | |
87 | help | |
88 | For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because | |
89 | abiv2 is 16/32bit instruction set and "trap 1" is 32bit. | |
90 | So we need a 16bit instruction as user space bkpt, and it will cause an illegal | |
91 | instruction exception. | |
92 | In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not. | |
93 | ||
94 | config GENERIC_CALIBRATE_DELAY | |
95 | def_bool y | |
96 | ||
97 | config GENERIC_CSUM | |
98 | def_bool y | |
99 | ||
100 | config GENERIC_HWEIGHT | |
101 | def_bool y | |
102 | ||
103 | config MMU | |
104 | def_bool y | |
105 | ||
0ea2dc7c GR |
106 | config STACKTRACE_SUPPORT |
107 | def_bool y | |
108 | ||
c32e64e8 GR |
109 | config TIME_LOW_RES |
110 | def_bool y | |
111 | ||
112 | config TRACE_IRQFLAGS_SUPPORT | |
113 | def_bool y | |
114 | ||
115 | config CPU_TLB_SIZE | |
116 | int | |
117 | default "128" if (CPU_CK610 || CPU_CK807 || CPU_CK810) | |
118 | default "1024" if (CPU_CK860) | |
119 | ||
120 | config CPU_ASID_BITS | |
121 | int | |
122 | default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810) | |
123 | default "12" if (CPU_CK860) | |
124 | ||
125 | config L1_CACHE_SHIFT | |
126 | int | |
127 | default "4" if (CPU_CK610) | |
128 | default "5" if (CPU_CK807 || CPU_CK810) | |
129 | default "6" if (CPU_CK860) | |
130 | ||
131 | menu "Processor type and features" | |
132 | ||
133 | choice | |
134 | prompt "CPU MODEL" | |
135 | default CPU_CK807 | |
136 | ||
137 | config CPU_CK610 | |
138 | bool "CSKY CPU ck610" | |
139 | select CPU_NEED_TLBSYNC | |
140 | select CPU_NEED_SOFTALIGN | |
141 | select CPU_NO_USER_BKPT | |
142 | ||
143 | config CPU_CK810 | |
144 | bool "CSKY CPU ck810" | |
145 | select CPU_HAS_HILO | |
146 | select CPU_NEED_TLBSYNC | |
147 | ||
148 | config CPU_CK807 | |
149 | bool "CSKY CPU ck807" | |
150 | select CPU_HAS_HILO | |
151 | ||
152 | config CPU_CK860 | |
153 | bool "CSKY CPU ck860" | |
154 | select CPU_HAS_TLBI | |
155 | select CPU_HAS_CACHEV2 | |
156 | select CPU_HAS_LDSTEX | |
157 | select CPU_HAS_FPUV2 | |
158 | endchoice | |
159 | ||
f50fd2d8 GR |
160 | choice |
161 | prompt "C-SKY PMU type" | |
162 | depends on PERF_EVENTS | |
163 | depends on CPU_CK807 || CPU_CK810 || CPU_CK860 | |
164 | ||
165 | config CPU_PMU_NONE | |
166 | bool "None" | |
167 | ||
168 | config CSKY_PMU_V1 | |
169 | bool "Performance Monitoring Unit Ver.1" | |
170 | ||
171 | endchoice | |
172 | ||
c32e64e8 GR |
173 | choice |
174 | prompt "Power Manager Instruction (wait/doze/stop)" | |
175 | default CPU_PM_NONE | |
176 | ||
177 | config CPU_PM_NONE | |
178 | bool "None" | |
179 | ||
180 | config CPU_PM_WAIT | |
181 | bool "wait" | |
182 | ||
183 | config CPU_PM_DOZE | |
184 | bool "doze" | |
185 | ||
186 | config CPU_PM_STOP | |
187 | bool "stop" | |
188 | endchoice | |
189 | ||
190 | config CPU_HAS_VDSP | |
191 | bool "CPU has VDSP coprocessor" | |
192 | depends on CPU_HAS_FPU && CPU_HAS_FPUV2 | |
193 | ||
194 | config CPU_HAS_FPU | |
195 | bool "CPU has FPU coprocessor" | |
196 | depends on CPU_CK807 || CPU_CK810 || CPU_CK860 | |
197 | ||
198 | config CPU_HAS_TEE | |
199 | bool "CPU has Trusted Execution Environment" | |
200 | depends on CPU_CK810 | |
201 | ||
202 | config SMP | |
203 | bool "Symmetric Multi-Processing (SMP) support for C-SKY" | |
204 | depends on CPU_CK860 | |
205 | default n | |
206 | ||
207 | config NR_CPUS | |
208 | int "Maximum number of CPUs (2-32)" | |
209 | range 2 32 | |
210 | depends on SMP | |
211 | default "2" | |
212 | ||
213 | config HIGHMEM | |
214 | bool "High Memory Support" | |
215 | depends on !CPU_CK610 | |
216 | default y | |
217 | ||
218 | config FORCE_MAX_ZONEORDER | |
219 | int "Maximum zone order" | |
220 | default "11" | |
221 | ||
222 | config RAM_BASE | |
223 | hex "DRAM start addr (the same with memory-section in dts)" | |
224 | default 0x0 | |
225 | ||
859e5f45 GR |
226 | config HOTPLUG_CPU |
227 | bool "Support for hot-pluggable CPUs" | |
228 | select GENERIC_IRQ_MIGRATION | |
229 | depends on SMP | |
230 | help | |
231 | Say Y here to allow turning CPUs off and on. CPUs can be | |
232 | controlled through /sys/devices/system/cpu/cpu1/hotplug/target. | |
233 | ||
234 | Say N if you want to disable CPU hotplug. | |
c32e64e8 GR |
235 | endmenu |
236 | ||
237 | source "kernel/Kconfig.hz" |