e5936417d3cd3ced8cb159d477202e23da5b54bc
[linux-2.6-microblaze.git] / arch / nios2 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config NIOS2
3         def_bool y
4         select ARCH_32BIT_OFF_T
5         select ARCH_HAS_DMA_PREP_COHERENT
6         select ARCH_HAS_SYNC_DMA_FOR_CPU
7         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
8         select ARCH_HAS_DMA_SET_UNCACHED
9         select ARCH_NO_SWAP
10         select COMMON_CLK
11         select TIMER_OF
12         select GENERIC_ATOMIC64
13         select GENERIC_CPU_DEVICES
14         select GENERIC_IRQ_PROBE
15         select GENERIC_IRQ_SHOW
16         select HAVE_ARCH_TRACEHOOK
17         select HAVE_ARCH_KGDB
18         select IRQ_DOMAIN
19         select MODULES_USE_ELF_RELA
20         select OF
21         select OF_EARLY_FLATTREE
22         select SOC_BUS
23         select SPARSE_IRQ
24         select USB_ARCH_HAS_HCD if USB_SUPPORT
25         select CPU_NO_EFFICIENT_FFS
26         select MMU_GATHER_NO_RANGE if MMU
27
28 config GENERIC_CSUM
29         def_bool y
30
31 config GENERIC_HWEIGHT
32         def_bool y
33
34 config GENERIC_CALIBRATE_DELAY
35         def_bool y
36
37 config NO_IOPORT_MAP
38         def_bool y
39
40 config FPU
41         def_bool n
42
43 menu "Kernel features"
44
45 source "kernel/Kconfig.hz"
46
47 config ARCH_FORCE_MAX_ORDER
48         int "Order of maximal physically contiguous allocations"
49         default "10"
50         help
51           The kernel page allocator limits the size of maximal physically
52           contiguous allocations. The limit is called MAX_ORDER and it
53           defines the maximal power of two of number of pages that can be
54           allocated as a single contiguous block. This option allows
55           overriding the default setting when ability to allocate very
56           large blocks of physically contiguous memory is required.
57
58           Don't change if unsure.
59
60 endmenu
61
62 source "arch/nios2/platform/Kconfig.platform"
63
64 menu "Processor type and features"
65
66 config MMU
67         def_bool y
68
69 config NR_CPUS
70         int
71         default "1"
72
73 config NIOS2_ALIGNMENT_TRAP
74         bool "Catch alignment trap"
75         default y
76         help
77           Nios II CPUs cannot fetch/store data which is not bus aligned,
78           i.e., a 2 or 4 byte fetch must start at an address divisible by
79           2 or 4. Any non-aligned load/store instructions will be trapped and
80           emulated in software if you say Y here, which has a performance
81           impact.
82
83 comment "Boot options"
84
85 config CMDLINE_BOOL
86         bool "Default bootloader kernel arguments"
87         default y
88
89 config CMDLINE
90         string "Default kernel command string"
91         default ""
92         depends on CMDLINE_BOOL
93         help
94           On some platforms, there is currently no way for the boot loader to
95           pass arguments to the kernel. For these platforms, you can supply
96           some command-line options at build time by entering them here.  In
97           other cases you can specify kernel args so that you don't have
98           to set them up in board prom initialization routines.
99
100 config CMDLINE_FORCE
101         bool "Force default kernel command string"
102         depends on CMDLINE_BOOL
103         help
104           Set this to have arguments from the default kernel command string
105           override those passed by the boot loader.
106
107 config NIOS2_CMDLINE_IGNORE_DTB
108         bool "Ignore kernel command string from DTB"
109         depends on CMDLINE_BOOL
110         depends on !CMDLINE_FORCE
111         default y
112         help
113           Set this to ignore the bootargs property from the devicetree's
114           chosen node and fall back to CMDLINE if nothing is passed.
115
116 config NIOS2_PASS_CMDLINE
117         bool "Passed kernel command line from u-boot"
118         help
119           Use bootargs env variable from u-boot for kernel command line.
120           will override "Default kernel command string".
121           Say N if you are unsure.
122
123 config NIOS2_BOOT_LINK_OFFSET
124         hex "Link address offset for booting"
125         default "0x00500000"
126         help
127           This option allows you to set the link address offset of the zImage.
128           This can be useful if you are on a board which has a small amount of
129           memory.
130
131 endmenu
132
133 menu "Advanced setup"
134
135 config ADVANCED_OPTIONS
136         bool "Prompt for advanced kernel configuration options"
137
138 comment "Default settings for advanced configuration options are used"
139         depends on !ADVANCED_OPTIONS
140
141 config NIOS2_KERNEL_MMU_REGION_BASE_BOOL
142         bool "Set custom kernel MMU region base address"
143         depends on ADVANCED_OPTIONS
144         help
145           This option allows you to set the virtual address of the kernel MMU region.
146
147           Say N here unless you know what you are doing.
148
149 config NIOS2_KERNEL_MMU_REGION_BASE
150         hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
151         default "0x80000000"
152         help
153           This option allows you to set the virtual base address of the kernel MMU region.
154
155 config NIOS2_KERNEL_REGION_BASE_BOOL
156         bool "Set custom kernel region base address"
157         depends on ADVANCED_OPTIONS
158         help
159           This option allows you to set the virtual address of the kernel region.
160
161           Say N here unless you know what you are doing.
162
163 config NIOS2_KERNEL_REGION_BASE
164         hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
165         default "0xc0000000"
166
167 config NIOS2_IO_REGION_BASE_BOOL
168         bool "Set custom I/O region base address"
169         depends on ADVANCED_OPTIONS
170         help
171           This option allows you to set the virtual address of the I/O region.
172
173           Say N here unless you know what you are doing.
174
175 config NIOS2_IO_REGION_BASE
176         hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
177         default "0xe0000000"
178
179 endmenu