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