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