xref: /openbmc/linux/arch/hexagon/Kconfig (revision a67ff6a5)
1# Hexagon configuration
2comment "Linux Kernel Configuration for Hexagon"
3
4config HEXAGON
5	def_bool y
6	select HAVE_OPROFILE
7	select USE_GENERIC_SMP_HELPERS if SMP
8	# Other pending projects/to-do items.
9	# select HAVE_REGS_AND_STACK_ACCESS_API
10	# select HAVE_HW_BREAKPOINT if PERF_EVENTS
11	# select ARCH_HAS_CPU_IDLE_WAIT
12	# select ARCH_WANT_OPTIONAL_GPIOLIB
13	# select ARCH_REQUIRE_GPIOLIB
14	# select HAVE_CLK
15	# select IRQ_PER_CPU
16	select HAVE_IRQ_WORK
17	# select GENERIC_PENDING_IRQ if SMP
18	select GENERIC_ATOMIC64
19	select HAVE_PERF_EVENTS
20	select HAVE_GENERIC_HARDIRQS
21	select GENERIC_HARDIRQS_NO__DO_IRQ
22	select GENERIC_HARDIRQS_NO_DEPRECATED
23	# GENERIC_ALLOCATOR is used by dma_alloc_coherent()
24	select GENERIC_ALLOCATOR
25	select GENERIC_IRQ_SHOW
26	select HAVE_ARCH_KGDB
27	select HAVE_ARCH_TRACEHOOK
28	select NO_IOPORT
29	# mostly generic routines, with some accelerated ones
30	---help---
31	  Qualcomm Hexagon is a processor architecture designed for high
32	  performance and low power across a wide variety of applications.
33
34config HEXAGON_ARCH_V1
35	bool
36
37config HEXAGON_ARCH_V2
38	bool
39
40config HEXAGON_ARCH_V3
41	bool
42
43config HEXAGON_ARCH_V4
44	bool
45
46config FRAME_POINTER
47	def_bool y
48
49config LOCKDEP_SUPPORT
50	def_bool y
51
52config PCI
53	def_bool n
54
55config EARLY_PRINTK
56	def_bool y
57
58config KTIME_SCALAR
59	def_bool y
60
61config MMU
62	def_bool y
63
64config TRACE_IRQFLAGS_SUPPORT
65	def_bool y
66
67config GENERIC_CSUM
68	def_bool y
69
70#
71# Use the generic interrupt handling code in kernel/irq/:
72#
73config GENERIC_IRQ_PROBE
74	def_bool y
75
76config GENERIC_IOMAP
77	def_bool y
78
79#config ZONE_DMA
80#	bool
81#	default y
82
83config HAS_DMA
84	bool
85	select HAVE_DMA_ATTRS
86	default y
87
88config NEED_SG_DMA_LENGTH
89	def_bool y
90
91config RWSEM_GENERIC_SPINLOCK
92	def_bool n
93
94config RWSEM_XCHGADD_ALGORITHM
95	def_bool y
96
97config GENERIC_FIND_NEXT_BIT
98	def_bool y
99
100config GENERIC_HWEIGHT
101	def_bool y
102
103config GENERIC_TIME
104	def_bool y
105
106config GENERIC_CLOCKEVENTS
107	def_bool y
108
109config GENERIC_CLOCKEVENTS_BROADCAST
110	def_bool y
111
112config STACKTRACE_SUPPORT
113	def_bool y
114	select STACKTRACE
115
116config GENERIC_BUG
117	def_bool y
118	depends on BUG
119
120config BUG
121	def_bool y
122
123menu "Machine selection"
124
125choice
126	prompt "System type"
127	default HEXAGON_ARCH_V2
128
129config HEXAGON_COMET
130	bool "Comet Board"
131	select HEXAGON_ARCH_V2
132	---help---
133	  Support for the Comet platform.
134
135endchoice
136
137config HEXAGON_VM
138	def_bool y
139
140config CMDLINE
141	string "Default kernel command string"
142	default ""
143	help
144	  On some platforms, there is currently no way for the boot loader
145	  to pass arguments to the kernel. For these, you should supply some
146	  command-line options at build time by entering them here.  At a
147	  minimum, you should specify the memory size and the root device
148	  (e.g., mem=64M root=/dev/nfs).
149
150config HEXAGON_ANGEL_TRAPS
151	bool "Use Angel Traps"
152	default n
153	---help---
154	  Enable angel debug traps (for printk's).
155
156config SMP
157	bool "Multi-Processing support"
158	---help---
159	  Enables SMP support in the kernel.  If unsure, say "Y"
160
161config NR_CPUS
162	int "Maximum number of CPUs" if SMP
163	range 2 6 if SMP
164	default "1" if !SMP
165	default "6" if SMP
166	---help---
167	  This allows you to specify the maximum number of CPUs which this
168	  kernel will support.  The maximum supported value is 6 and the
169	  minimum value which makes sense is 2.
170
171	  This is purely to save memory - each supported CPU adds
172	  approximately eight kilobytes to the kernel image.
173
174choice
175	prompt "Kernel page size"
176	default PAGE_SIZE_4KB
177	---help---
178	  Changes the default page size; use with caution.
179
180config PAGE_SIZE_4KB
181	bool "4KB"
182
183config PAGE_SIZE_16KB
184	bool "16KB"
185
186config PAGE_SIZE_64KB
187	bool "64KB"
188
189config PAGE_SIZE_256KB
190	bool "256KB"
191
192endchoice
193
194source "mm/Kconfig"
195
196source "kernel/Kconfig.hz"
197source "kernel/time/Kconfig"
198
199config GENERIC_GPIO
200	bool "Generic GPIO support"
201	default n
202
203endmenu
204
205source "init/Kconfig"
206source "drivers/Kconfig"
207source "fs/Kconfig"
208
209menu "Executable File Formats"
210source "fs/Kconfig.binfmt"
211endmenu
212
213source "net/Kconfig"
214source "security/Kconfig"
215source "crypto/Kconfig"
216source "lib/Kconfig"
217
218menu "Kernel hacking"
219source "lib/Kconfig.debug"
220endmenu
221