xref: /openbmc/linux/arch/nios2/Kconfig (revision bb970707)
1config NIOS2
2	def_bool y
3	select CLKSRC_OF
4	select GENERIC_ATOMIC64
5	select GENERIC_CLOCKEVENTS
6	select GENERIC_CPU_DEVICES
7	select GENERIC_IRQ_PROBE
8	select GENERIC_IRQ_SHOW
9	select HAVE_ARCH_TRACEHOOK
10	select HAVE_ARCH_KGDB
11	select IRQ_DOMAIN
12	select MODULES_USE_ELF_RELA
13	select OF
14	select OF_EARLY_FLATTREE
15	select SOC_BUS
16	select SPARSE_IRQ
17	select USB_ARCH_HAS_HCD if USB_SUPPORT
18	select CPU_NO_EFFICIENT_FFS
19
20config GENERIC_CSUM
21	def_bool y
22
23config GENERIC_HWEIGHT
24	def_bool y
25
26config GENERIC_CALIBRATE_DELAY
27	def_bool y
28
29config NO_IOPORT_MAP
30	def_bool y
31
32config HAS_DMA
33	def_bool y
34
35config FPU
36	def_bool n
37
38config SWAP
39	def_bool n
40
41config RWSEM_GENERIC_SPINLOCK
42	def_bool y
43
44config TRACE_IRQFLAGS_SUPPORT
45	def_bool n
46
47source "init/Kconfig"
48
49menu "Kernel features"
50
51source "kernel/Kconfig.preempt"
52
53source "kernel/Kconfig.freezer"
54
55source "kernel/Kconfig.hz"
56
57source "mm/Kconfig"
58
59config FORCE_MAX_ZONEORDER
60	int "Maximum zone order"
61	range 9 20
62	default "11"
63	help
64	  The kernel memory allocator divides physically contiguous memory
65	  blocks into "zones", where each zone is a power of two number of
66	  pages.  This option selects the largest power of two that the kernel
67	  keeps in the memory allocator.  If you need to allocate very large
68	  blocks of physically contiguous memory, then you may need to
69	  increase this value.
70
71	  This config option is actually maximum order plus one. For example,
72	  a value of 11 means that the largest free memory block is 2^10 pages.
73
74endmenu
75
76source "arch/nios2/platform/Kconfig.platform"
77
78menu "Processor type and features"
79
80config MMU
81	def_bool y
82
83config NR_CPUS
84	int
85	default "1"
86
87config NIOS2_ALIGNMENT_TRAP
88	bool "Catch alignment trap"
89	default y
90	help
91	  Nios II CPUs cannot fetch/store data which is not bus aligned,
92	  i.e., a 2 or 4 byte fetch must start at an address divisible by
93	  2 or 4. Any non-aligned load/store instructions will be trapped and
94	  emulated in software if you say Y here, which has a performance
95	  impact.
96
97comment "Boot options"
98
99config CMDLINE_BOOL
100	bool "Default bootloader kernel arguments"
101	default y
102
103config CMDLINE
104	string "Default kernel command string"
105	default ""
106	depends on CMDLINE_BOOL
107	help
108	  On some platforms, there is currently no way for the boot loader to
109	  pass arguments to the kernel. For these platforms, you can supply
110	  some command-line options at build time by entering them here.  In
111	  other cases you can specify kernel args so that you don't have
112	  to set them up in board prom initialization routines.
113
114config CMDLINE_FORCE
115	bool "Force default kernel command string"
116	depends on CMDLINE_BOOL
117	help
118	  Set this to have arguments from the default kernel command string
119	  override those passed by the boot loader.
120
121config NIOS2_CMDLINE_IGNORE_DTB
122	bool "Ignore kernel command string from DTB"
123	depends on CMDLINE_BOOL
124	depends on !CMDLINE_FORCE
125	default y
126	help
127	  Set this to ignore the bootargs property from the devicetree's
128	  chosen node and fall back to CMDLINE if nothing is passed.
129
130config NIOS2_PASS_CMDLINE
131	bool "Passed kernel command line from u-boot"
132	default n
133	help
134	  Use bootargs env variable from u-boot for kernel command line.
135	  will override "Default kernel command string".
136	  Say N if you are unsure.
137
138config NIOS2_BOOT_LINK_OFFSET
139	hex "Link address offset for booting"
140	default "0x00500000"
141	help
142	  This option allows you to set the link address offset of the zImage.
143	  This can be useful if you are on a board which has a small amount of
144	  memory.
145
146endmenu
147
148menu "Advanced setup"
149
150config ADVANCED_OPTIONS
151	bool "Prompt for advanced kernel configuration options"
152	help
153
154comment "Default settings for advanced configuration options are used"
155	depends on !ADVANCED_OPTIONS
156
157config NIOS2_KERNEL_MMU_REGION_BASE_BOOL
158	bool "Set custom kernel MMU region base address"
159	depends on ADVANCED_OPTIONS
160	help
161	  This option allows you to set the virtual address of the kernel MMU region.
162
163	  Say N here unless you know what you are doing.
164
165config NIOS2_KERNEL_MMU_REGION_BASE
166	hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
167	default "0x80000000"
168	help
169	  This option allows you to set the virtual base address of the kernel MMU region.
170
171config NIOS2_KERNEL_REGION_BASE_BOOL
172	bool "Set custom kernel region base address"
173	depends on ADVANCED_OPTIONS
174	help
175	  This option allows you to set the virtual address of the kernel region.
176
177	  Say N here unless you know what you are doing.
178
179config NIOS2_KERNEL_REGION_BASE
180	hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
181	default "0xc0000000"
182
183config NIOS2_IO_REGION_BASE_BOOL
184	bool "Set custom I/O region base address"
185	depends on ADVANCED_OPTIONS
186	help
187	  This option allows you to set the virtual address of the I/O region.
188
189	  Say N here unless you know what you are doing.
190
191config NIOS2_IO_REGION_BASE
192	hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
193	default "0xe0000000"
194
195endmenu
196
197menu "Executable file formats"
198
199source "fs/Kconfig.binfmt"
200
201endmenu
202
203source "net/Kconfig"
204
205source "drivers/Kconfig"
206
207source "fs/Kconfig"
208
209source "arch/nios2/Kconfig.debug"
210
211source "security/Kconfig"
212
213source "crypto/Kconfig"
214
215source "lib/Kconfig"
216