xref: /openbmc/linux/arch/csky/Kconfig (revision 7c768f84)
1config 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
52config CPU_HAS_CACHEV2
53	bool
54
55config CPU_HAS_FPUV2
56	bool
57
58config CPU_HAS_HILO
59	bool
60
61config CPU_HAS_TLBI
62	bool
63
64config CPU_HAS_LDSTEX
65	bool
66	help
67	  For SMP, CPU needs "ldex&stex" instrcutions to atomic operations.
68
69config CPU_NEED_TLBSYNC
70	bool
71
72config CPU_NEED_SOFTALIGN
73	bool
74
75config 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
84config GENERIC_CALIBRATE_DELAY
85	def_bool y
86
87config GENERIC_CSUM
88	def_bool y
89
90config GENERIC_HWEIGHT
91	def_bool y
92
93config MMU
94	def_bool y
95
96config RWSEM_GENERIC_SPINLOCK
97	def_bool y
98
99config TIME_LOW_RES
100	def_bool y
101
102config TRACE_IRQFLAGS_SUPPORT
103	def_bool y
104
105config CPU_TLB_SIZE
106	int
107	default "128"	if (CPU_CK610 || CPU_CK807 || CPU_CK810)
108	default "1024"	if (CPU_CK860)
109
110config CPU_ASID_BITS
111	int
112	default "8"	if (CPU_CK610 || CPU_CK807 || CPU_CK810)
113	default "12"	if (CPU_CK860)
114
115config 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
121menu "Processor type and features"
122
123choice
124	prompt "CPU MODEL"
125	default CPU_CK807
126
127config CPU_CK610
128	bool "CSKY CPU ck610"
129	select CPU_NEED_TLBSYNC
130	select CPU_NEED_SOFTALIGN
131	select CPU_NO_USER_BKPT
132
133config CPU_CK810
134	bool "CSKY CPU ck810"
135	select CPU_HAS_HILO
136	select CPU_NEED_TLBSYNC
137
138config CPU_CK807
139	bool "CSKY CPU ck807"
140	select CPU_HAS_HILO
141
142config 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
148endchoice
149
150choice
151	prompt "Power Manager Instruction (wait/doze/stop)"
152	default CPU_PM_NONE
153
154config CPU_PM_NONE
155	bool "None"
156
157config CPU_PM_WAIT
158	bool "wait"
159
160config CPU_PM_DOZE
161	bool "doze"
162
163config CPU_PM_STOP
164	bool "stop"
165endchoice
166
167config CPU_HAS_VDSP
168	bool "CPU has VDSP coprocessor"
169	depends on CPU_HAS_FPU && CPU_HAS_FPUV2
170
171config CPU_HAS_FPU
172	bool "CPU has FPU coprocessor"
173	depends on CPU_CK807 || CPU_CK810 || CPU_CK860
174
175config CPU_HAS_TEE
176	bool "CPU has Trusted Execution Environment"
177	depends on CPU_CK810
178
179config SMP
180	bool "Symmetric Multi-Processing (SMP) support for C-SKY"
181	depends on CPU_CK860
182	default n
183
184config NR_CPUS
185	int "Maximum number of CPUs (2-32)"
186	range 2 32
187	depends on SMP
188	default "2"
189
190config HIGHMEM
191	bool "High Memory Support"
192	depends on !CPU_CK610
193	default y
194
195config FORCE_MAX_ZONEORDER
196	int "Maximum zone order"
197	default "11"
198
199config RAM_BASE
200	hex "DRAM start addr (the same with memory-section in dts)"
201	default 0x0
202
203endmenu
204
205source "kernel/Kconfig.hz"
206