xref: /openbmc/linux/arch/hexagon/Kconfig (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2e95bf452SRichard Kuo# Hexagon configuration
3e95bf452SRichard Kuocomment "Linux Kernel Configuration for Hexagon"
4e95bf452SRichard Kuo
5e95bf452SRichard Kuoconfig HEXAGON
6e95bf452SRichard Kuo	def_bool y
7942fa985SYury Norov	select ARCH_32BIT_OFF_T
8e0a9317dSChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
987a4c375SChristoph Hellwig	select ARCH_NO_PREEMPT
10c1dec343SChristoph Hellwig	select DMA_GLOBAL_POOL
11e95bf452SRichard Kuo	# Other pending projects/to-do items.
12e95bf452SRichard Kuo	# select HAVE_REGS_AND_STACK_ACCESS_API
13e95bf452SRichard Kuo	# select HAVE_HW_BREAKPOINT if PERF_EVENTS
14e95bf452SRichard Kuo	# select ARCH_HAS_CPU_IDLE_WAIT
15d4f80b81SLinus Walleij	# select GPIOLIB
16e95bf452SRichard Kuo	# select HAVE_CLK
17e95bf452SRichard Kuo	# select GENERIC_PENDING_IRQ if SMP
18e95bf452SRichard Kuo	select GENERIC_ATOMIC64
19e95bf452SRichard Kuo	select HAVE_PERF_EVENTS
20e95bf452SRichard Kuo	# GENERIC_ALLOCATOR is used by dma_alloc_coherent()
21e95bf452SRichard Kuo	select GENERIC_ALLOCATOR
22e95bf452SRichard Kuo	select GENERIC_IRQ_SHOW
23e95bf452SRichard Kuo	select HAVE_ARCH_KGDB
24e95bf452SRichard Kuo	select HAVE_ARCH_TRACEHOOK
2586596f0aSChristoph Hellwig	select NEED_SG_DMA_LENGTH
26ce816fa8SUwe Kleine-König	select NO_IOPORT_MAP
274673ca8eSMichael S. Tsirkin	select GENERIC_IOMAP
28*5bd2cc56SBaoquan He	select GENERIC_IOREMAP
293b0132ceSThomas Gleixner	select GENERIC_SMP_IDLE_THREAD
305042ab91SRichard Kuo	select STACKTRACE_SUPPORT
3124a6f35eSAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS_BROADCAST
32a050ba1eSLinus Torvalds	select LOCK_MM_AND_FIND_VMA
33786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
3453debcd5SRichard Kuo	select GENERIC_CPU_DEVICES
35113616ecSNathan Chancellor	select ARCH_WANT_LD_ORPHAN_WARN
364aae683fSMasahiro Yamada	select TRACE_IRQFLAGS_SUPPORT
37a7f7f624SMasahiro Yamada	help
38e95bf452SRichard Kuo	  Qualcomm Hexagon is a processor architecture designed for high
39e95bf452SRichard Kuo	  performance and low power across a wide variety of applications.
40e95bf452SRichard Kuo
418f5a0b9dSRichard Kuoconfig HEXAGON_PHYS_OFFSET
428f5a0b9dSRichard Kuo	def_bool y
43a7f7f624SMasahiro Yamada	help
448f5a0b9dSRichard Kuo	  Platforms that don't load the kernel at zero set this.
458f5a0b9dSRichard Kuo
46e95bf452SRichard Kuoconfig FRAME_POINTER
47e95bf452SRichard Kuo	def_bool y
48e95bf452SRichard Kuo
49e95bf452SRichard Kuoconfig LOCKDEP_SUPPORT
50e95bf452SRichard Kuo	def_bool y
51e95bf452SRichard Kuo
52e95bf452SRichard Kuoconfig EARLY_PRINTK
53e95bf452SRichard Kuo	def_bool y
54e95bf452SRichard Kuo
55e95bf452SRichard Kuoconfig MMU
56e95bf452SRichard Kuo	def_bool y
57e95bf452SRichard Kuo
58e95bf452SRichard Kuoconfig GENERIC_CSUM
59e95bf452SRichard Kuo	def_bool y
60e95bf452SRichard Kuo
61e95bf452SRichard Kuo#
62e95bf452SRichard Kuo# Use the generic interrupt handling code in kernel/irq/:
63e95bf452SRichard Kuo#
64e95bf452SRichard Kuoconfig GENERIC_IRQ_PROBE
65e95bf452SRichard Kuo	def_bool y
66e95bf452SRichard Kuo
67e95bf452SRichard Kuoconfig GENERIC_HWEIGHT
68e95bf452SRichard Kuo	def_bool y
69e95bf452SRichard Kuo
70e95bf452SRichard Kuoconfig STACKTRACE_SUPPORT
71e95bf452SRichard Kuo	def_bool y
72e95bf452SRichard Kuo	select STACKTRACE
73e95bf452SRichard Kuo
74e95bf452SRichard Kuoconfig GENERIC_BUG
75e95bf452SRichard Kuo	def_bool y
76e95bf452SRichard Kuo	depends on BUG
77e95bf452SRichard Kuo
78e95bf452SRichard Kuomenu "Machine selection"
79e95bf452SRichard Kuo
80e95bf452SRichard Kuochoice
81e95bf452SRichard Kuo	prompt "System type"
825042ab91SRichard Kuo	default HEXAGON_COMET
83e95bf452SRichard Kuo
84e95bf452SRichard Kuoconfig HEXAGON_COMET
85e95bf452SRichard Kuo	bool "Comet Board"
86a7f7f624SMasahiro Yamada	help
87e95bf452SRichard Kuo	  Support for the Comet platform.
88e95bf452SRichard Kuo
89e95bf452SRichard Kuoendchoice
90e95bf452SRichard Kuo
9166b03dbfSRichard Kuoconfig HEXAGON_ARCH_VERSION
9266b03dbfSRichard Kuo	int "Architecture version"
9366b03dbfSRichard Kuo	default 2
9466b03dbfSRichard Kuo
95e95bf452SRichard Kuoconfig CMDLINE
96e95bf452SRichard Kuo	string "Default kernel command string"
97e95bf452SRichard Kuo	default ""
98e95bf452SRichard Kuo	help
99e95bf452SRichard Kuo	  On some platforms, there is currently no way for the boot loader
100e95bf452SRichard Kuo	  to pass arguments to the kernel. For these, you should supply some
101e95bf452SRichard Kuo	  command-line options at build time by entering them here.  At a
102e95bf452SRichard Kuo	  minimum, you should specify the memory size and the root device
103e95bf452SRichard Kuo	  (e.g., mem=64M root=/dev/nfs).
104e95bf452SRichard Kuo
105e95bf452SRichard Kuoconfig SMP
106e95bf452SRichard Kuo	bool "Multi-Processing support"
107a7f7f624SMasahiro Yamada	help
108e95bf452SRichard Kuo	  Enables SMP support in the kernel.  If unsure, say "Y"
109e95bf452SRichard Kuo
110e95bf452SRichard Kuoconfig NR_CPUS
111e95bf452SRichard Kuo	int "Maximum number of CPUs" if SMP
112e95bf452SRichard Kuo	range 2 6 if SMP
113e95bf452SRichard Kuo	default "1" if !SMP
114e95bf452SRichard Kuo	default "6" if SMP
115a7f7f624SMasahiro Yamada	help
116e95bf452SRichard Kuo	  This allows you to specify the maximum number of CPUs which this
117e95bf452SRichard Kuo	  kernel will support.  The maximum supported value is 6 and the
118e95bf452SRichard Kuo	  minimum value which makes sense is 2.
119e95bf452SRichard Kuo
120e95bf452SRichard Kuo	  This is purely to save memory - each supported CPU adds
121e95bf452SRichard Kuo	  approximately eight kilobytes to the kernel image.
122e95bf452SRichard Kuo
123e95bf452SRichard Kuochoice
124e95bf452SRichard Kuo	prompt "Kernel page size"
125e95bf452SRichard Kuo	default PAGE_SIZE_4KB
126a7f7f624SMasahiro Yamada	help
127e95bf452SRichard Kuo	  Changes the default page size; use with caution.
128e95bf452SRichard Kuo
129e95bf452SRichard Kuoconfig PAGE_SIZE_4KB
130e95bf452SRichard Kuo	bool "4KB"
131e95bf452SRichard Kuo
132e95bf452SRichard Kuoconfig PAGE_SIZE_16KB
133e95bf452SRichard Kuo	bool "16KB"
134e95bf452SRichard Kuo
135e95bf452SRichard Kuoconfig PAGE_SIZE_64KB
136e95bf452SRichard Kuo	bool "64KB"
137e95bf452SRichard Kuo
138e95bf452SRichard Kuoconfig PAGE_SIZE_256KB
139e95bf452SRichard Kuo	bool "256KB"
140e95bf452SRichard Kuo
141e95bf452SRichard Kuoendchoice
142e95bf452SRichard Kuo
143e95bf452SRichard Kuosource "kernel/Kconfig.hz"
144e95bf452SRichard Kuo
145e95bf452SRichard Kuoendmenu
146