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