xref: /linux/arch/hexagon/Kconfig (revision eb01fe7abbe2d0b38824d2a93fdb4cc3eaf2ccc1)
1# SPDX-License-Identifier: GPL-2.0
2# Hexagon configuration
3comment "Linux Kernel Configuration for Hexagon"
4
5config HEXAGON
6	def_bool y
7	select ARCH_32BIT_OFF_T
8	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
9	select ARCH_NO_PREEMPT
10	select DMA_GLOBAL_POOL
11	select HAVE_PAGE_SIZE_4KB
12	select HAVE_PAGE_SIZE_16KB
13	select HAVE_PAGE_SIZE_64KB
14	select HAVE_PAGE_SIZE_256KB
15	# Other pending projects/to-do items.
16	# select HAVE_REGS_AND_STACK_ACCESS_API
17	# select HAVE_HW_BREAKPOINT if PERF_EVENTS
18	# select ARCH_HAS_CPU_IDLE_WAIT
19	# select GPIOLIB
20	# select HAVE_CLK
21	# select GENERIC_PENDING_IRQ if SMP
22	select GENERIC_ATOMIC64
23	select HAVE_PERF_EVENTS
24	# GENERIC_ALLOCATOR is used by dma_alloc_coherent()
25	select GENERIC_ALLOCATOR
26	select GENERIC_IRQ_SHOW
27	select HAVE_ARCH_KGDB
28	select HAVE_ARCH_TRACEHOOK
29	select NEED_SG_DMA_LENGTH
30	select NO_IOPORT_MAP
31	select GENERIC_IOMAP
32	select GENERIC_IOREMAP
33	select GENERIC_SMP_IDLE_THREAD
34	select STACKTRACE_SUPPORT
35	select GENERIC_CLOCKEVENTS_BROADCAST
36	select LOCK_MM_AND_FIND_VMA
37	select MODULES_USE_ELF_RELA
38	select GENERIC_CPU_DEVICES
39	select ARCH_WANT_LD_ORPHAN_WARN
40	select TRACE_IRQFLAGS_SUPPORT
41	help
42	  Qualcomm Hexagon is a processor architecture designed for high
43	  performance and low power across a wide variety of applications.
44
45config HEXAGON_PHYS_OFFSET
46	def_bool y
47	help
48	  Platforms that don't load the kernel at zero set this.
49
50config FRAME_POINTER
51	def_bool y
52
53config LOCKDEP_SUPPORT
54	def_bool y
55
56config EARLY_PRINTK
57	def_bool y
58
59config MMU
60	def_bool y
61
62config GENERIC_CSUM
63	def_bool y
64
65#
66# Use the generic interrupt handling code in kernel/irq/:
67#
68config GENERIC_IRQ_PROBE
69	def_bool y
70
71config GENERIC_HWEIGHT
72	def_bool y
73
74config STACKTRACE_SUPPORT
75	def_bool y
76	select STACKTRACE
77
78config GENERIC_BUG
79	def_bool y
80	depends on BUG
81
82menu "Machine selection"
83
84choice
85	prompt "System type"
86	default HEXAGON_COMET
87
88config HEXAGON_COMET
89	bool "Comet Board"
90	help
91	  Support for the Comet platform.
92
93endchoice
94
95config HEXAGON_ARCH_VERSION
96	int "Architecture version"
97	default 2
98
99config CMDLINE
100	string "Default kernel command string"
101	default ""
102	help
103	  On some platforms, there is currently no way for the boot loader
104	  to pass arguments to the kernel. For these, you should supply some
105	  command-line options at build time by entering them here.  At a
106	  minimum, you should specify the memory size and the root device
107	  (e.g., mem=64M root=/dev/nfs).
108
109config SMP
110	bool "Multi-Processing support"
111	help
112	  Enables SMP support in the kernel.  If unsure, say "Y"
113
114config NR_CPUS
115	int "Maximum number of CPUs" if SMP
116	range 2 6 if SMP
117	default "1" if !SMP
118	default "6" if SMP
119	help
120	  This allows you to specify the maximum number of CPUs which this
121	  kernel will support.  The maximum supported value is 6 and the
122	  minimum value which makes sense is 2.
123
124	  This is purely to save memory - each supported CPU adds
125	  approximately eight kilobytes to the kernel image.
126
127source "kernel/Kconfig.hz"
128
129endmenu
130