xref: /openbmc/linux/arch/hexagon/Kconfig (revision b9ccfda2)
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 GENERIC_PENDING_IRQ if SMP
17	select HAVE_IRQ_WORK
18	select GENERIC_ATOMIC64
19	select HAVE_PERF_EVENTS
20	select HAVE_GENERIC_HARDIRQS
21	# GENERIC_ALLOCATOR is used by dma_alloc_coherent()
22	select GENERIC_ALLOCATOR
23	select GENERIC_IRQ_SHOW
24	select HAVE_ARCH_KGDB
25	select HAVE_ARCH_TRACEHOOK
26	select NO_IOPORT
27	select GENERIC_IOMAP
28	select GENERIC_SMP_IDLE_THREAD
29	select STACKTRACE_SUPPORT
30	select KTIME_SCALAR
31	select GENERIC_CLOCKEVENTS
32	select GENERIC_CLOCKEVENTS_BROADCAST
33	---help---
34	  Qualcomm Hexagon is a processor architecture designed for high
35	  performance and low power across a wide variety of applications.
36
37config HEXAGON_ARCH_V1
38	bool
39
40config HEXAGON_ARCH_V2
41	bool
42
43config HEXAGON_ARCH_V3
44	bool
45
46config HEXAGON_ARCH_V4
47	bool
48
49config FRAME_POINTER
50	def_bool y
51
52config LOCKDEP_SUPPORT
53	def_bool y
54
55config PCI
56	def_bool n
57
58config EARLY_PRINTK
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 NEED_SG_DMA_LENGTH
77	def_bool y
78
79config RWSEM_GENERIC_SPINLOCK
80	def_bool n
81
82config RWSEM_XCHGADD_ALGORITHM
83	def_bool y
84
85config GENERIC_FIND_NEXT_BIT
86	def_bool y
87
88config GENERIC_HWEIGHT
89	def_bool y
90
91config STACKTRACE_SUPPORT
92	def_bool y
93	select STACKTRACE
94
95config GENERIC_BUG
96	def_bool y
97	depends on BUG
98
99menu "Machine selection"
100
101choice
102	prompt "System type"
103	default HEXAGON_COMET
104
105config HEXAGON_COMET
106	bool "Comet Board"
107	select HEXAGON_ARCH_V2
108	---help---
109	  Support for the Comet platform.
110
111endchoice
112
113config HEXAGON_VM
114	def_bool y
115
116config CMDLINE
117	string "Default kernel command string"
118	default ""
119	help
120	  On some platforms, there is currently no way for the boot loader
121	  to pass arguments to the kernel. For these, you should supply some
122	  command-line options at build time by entering them here.  At a
123	  minimum, you should specify the memory size and the root device
124	  (e.g., mem=64M root=/dev/nfs).
125
126config HEXAGON_ANGEL_TRAPS
127	bool "Use Angel Traps"
128	default n
129	---help---
130	  Enable angel debug traps (for printk's).
131
132config SMP
133	bool "Multi-Processing support"
134	---help---
135	  Enables SMP support in the kernel.  If unsure, say "Y"
136
137config NR_CPUS
138	int "Maximum number of CPUs" if SMP
139	range 2 6 if SMP
140	default "1" if !SMP
141	default "6" if SMP
142	---help---
143	  This allows you to specify the maximum number of CPUs which this
144	  kernel will support.  The maximum supported value is 6 and the
145	  minimum value which makes sense is 2.
146
147	  This is purely to save memory - each supported CPU adds
148	  approximately eight kilobytes to the kernel image.
149
150choice
151	prompt "Kernel page size"
152	default PAGE_SIZE_4KB
153	---help---
154	  Changes the default page size; use with caution.
155
156config PAGE_SIZE_4KB
157	bool "4KB"
158
159config PAGE_SIZE_16KB
160	bool "16KB"
161
162config PAGE_SIZE_64KB
163	bool "64KB"
164
165config PAGE_SIZE_256KB
166	bool "256KB"
167
168endchoice
169
170source "mm/Kconfig"
171
172source "kernel/Kconfig.hz"
173
174config GENERIC_GPIO
175	def_bool n
176
177endmenu
178
179source "init/Kconfig"
180source "drivers/Kconfig"
181source "fs/Kconfig"
182
183menu "Executable File Formats"
184source "fs/Kconfig.binfmt"
185endmenu
186
187source "net/Kconfig"
188source "security/Kconfig"
189source "crypto/Kconfig"
190source "lib/Kconfig"
191
192menu "Kernel hacking"
193source "lib/Kconfig.debug"
194endmenu
195