Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-microblaze.git] / arch / csky / Kconfig
1 config CSKY
2         def_bool y
3         select ARCH_HAS_SYNC_DMA_FOR_CPU
4         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
5         select ARCH_USE_BUILTIN_BSWAP
6         select ARCH_USE_QUEUED_RWLOCKS if NR_CPUS>2
7         select COMMON_CLK
8         select CLKSRC_MMIO
9         select CLKSRC_OF
10         select DMA_DIRECT_OPS
11         select DMA_NONCOHERENT_OPS
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_GENERIC_DMA_COHERENT
33         select HAVE_KERNEL_GZIP
34         select HAVE_KERNEL_LZO
35         select HAVE_KERNEL_LZMA
36         select HAVE_C_RECORDMCOUNT
37         select HAVE_DMA_API_DEBUG
38         select HAVE_DMA_CONTIGUOUS
39         select HAVE_MEMBLOCK
40         select MAY_HAVE_SPARSE_IRQ
41         select MODULES_USE_ELF_RELA if MODULES
42         select NO_BOOTMEM
43         select OF
44         select OF_EARLY_FLATTREE
45         select OF_RESERVED_MEM
46         select PERF_USE_VMALLOC
47         select RTC_LIB
48         select TIMER_OF
49         select USB_ARCH_HAS_EHCI
50         select USB_ARCH_HAS_OHCI
51
52 config CPU_HAS_CACHEV2
53         bool
54
55 config CPU_HAS_FPUV2
56         bool
57
58 config CPU_HAS_HILO
59         bool
60
61 config CPU_HAS_TLBI
62         bool
63
64 config CPU_HAS_LDSTEX
65         bool
66         help
67           For SMP, CPU needs "ldex&stex" instrcutions to atomic operations.
68
69 config CPU_NEED_TLBSYNC
70         bool
71
72 config CPU_NEED_SOFTALIGN
73         bool
74
75 config CPU_NO_USER_BKPT
76         bool
77         help
78           For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because
79           abiv2 is 16/32bit instruction set and "trap 1" is 32bit.
80           So we need a 16bit instruction as user space bkpt, and it will cause an illegal
81           instruction exception.
82           In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not.
83
84 config GENERIC_CALIBRATE_DELAY
85         def_bool y
86
87 config GENERIC_CSUM
88         def_bool y
89
90 config GENERIC_HWEIGHT
91         def_bool y
92
93 config MMU
94         def_bool y
95
96 config RWSEM_GENERIC_SPINLOCK
97         def_bool y
98
99 config TIME_LOW_RES
100         def_bool y
101
102 config TRACE_IRQFLAGS_SUPPORT
103         def_bool y
104
105 config CPU_TLB_SIZE
106         int
107         default "128"   if (CPU_CK610 || CPU_CK807 || CPU_CK810)
108         default "1024"  if (CPU_CK860)
109
110 config CPU_ASID_BITS
111         int
112         default "8"     if (CPU_CK610 || CPU_CK807 || CPU_CK810)
113         default "12"    if (CPU_CK860)
114
115 config L1_CACHE_SHIFT
116         int
117         default "4"     if (CPU_CK610)
118         default "5"     if (CPU_CK807 || CPU_CK810)
119         default "6"     if (CPU_CK860)
120
121 menu "Processor type and features"
122
123 choice
124         prompt "CPU MODEL"
125         default CPU_CK807
126
127 config CPU_CK610
128         bool "CSKY CPU ck610"
129         select CPU_NEED_TLBSYNC
130         select CPU_NEED_SOFTALIGN
131         select CPU_NO_USER_BKPT
132
133 config CPU_CK810
134         bool "CSKY CPU ck810"
135         select CPU_HAS_HILO
136         select CPU_NEED_TLBSYNC
137
138 config CPU_CK807
139         bool "CSKY CPU ck807"
140         select CPU_HAS_HILO
141
142 config CPU_CK860
143         bool "CSKY CPU ck860"
144         select CPU_HAS_TLBI
145         select CPU_HAS_CACHEV2
146         select CPU_HAS_LDSTEX
147         select CPU_HAS_FPUV2
148 endchoice
149
150 choice
151         prompt "Power Manager Instruction (wait/doze/stop)"
152         default CPU_PM_NONE
153
154 config CPU_PM_NONE
155         bool "None"
156
157 config CPU_PM_WAIT
158         bool "wait"
159
160 config CPU_PM_DOZE
161         bool "doze"
162
163 config CPU_PM_STOP
164         bool "stop"
165 endchoice
166
167 config CPU_HAS_VDSP
168         bool "CPU has VDSP coprocessor"
169         depends on CPU_HAS_FPU && CPU_HAS_FPUV2
170
171 config CPU_HAS_FPU
172         bool "CPU has FPU coprocessor"
173         depends on CPU_CK807 || CPU_CK810 || CPU_CK860
174
175 config CPU_HAS_TEE
176         bool "CPU has Trusted Execution Environment"
177         depends on CPU_CK810
178
179 config SMP
180         bool "Symmetric Multi-Processing (SMP) support for C-SKY"
181         depends on CPU_CK860
182         default n
183
184 config NR_CPUS
185         int "Maximum number of CPUs (2-32)"
186         range 2 32
187         depends on SMP
188         default "2"
189
190 config HIGHMEM
191         bool "High Memory Support"
192         depends on !CPU_CK610
193         default y
194
195 config FORCE_MAX_ZONEORDER
196         int "Maximum zone order"
197         default "11"
198
199 config RAM_BASE
200         hex "DRAM start addr (the same with memory-section in dts)"
201         default 0x0
202
203 endmenu
204
205 source "kernel/Kconfig.hz"