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