Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
[sfrench/cifs-2.6.git] / arch / nios2 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config NIOS2
3         def_bool y
4         select ARCH_HAS_SYNC_DMA_FOR_CPU
5         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
6         select ARCH_NO_SWAP
7         select DMA_DIRECT_OPS
8         select TIMER_OF
9         select GENERIC_ATOMIC64
10         select GENERIC_CLOCKEVENTS
11         select GENERIC_CPU_DEVICES
12         select GENERIC_IRQ_PROBE
13         select GENERIC_IRQ_SHOW
14         select GENERIC_STRNCPY_FROM_USER
15         select GENERIC_STRNLEN_USER
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 ARCH_DISCARD_MEMBLOCK
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 HAS_DMA
41         def_bool y
42
43 config FPU
44         def_bool n
45
46 config RWSEM_GENERIC_SPINLOCK
47         def_bool y
48
49 config TRACE_IRQFLAGS_SUPPORT
50         def_bool n
51
52 menu "Kernel features"
53
54 source "kernel/Kconfig.hz"
55
56 config FORCE_MAX_ZONEORDER
57         int "Maximum zone order"
58         range 9 20
59         default "11"
60         help
61           The kernel memory allocator divides physically contiguous memory
62           blocks into "zones", where each zone is a power of two number of
63           pages.  This option selects the largest power of two that the kernel
64           keeps in the memory allocator.  If you need to allocate very large
65           blocks of physically contiguous memory, then you may need to
66           increase this value.
67
68           This config option is actually maximum order plus one. For example,
69           a value of 11 means that the largest free memory block is 2^10 pages.
70
71 endmenu
72
73 source "arch/nios2/platform/Kconfig.platform"
74
75 menu "Processor type and features"
76
77 config MMU
78         def_bool y
79
80 config NR_CPUS
81         int
82         default "1"
83
84 config NIOS2_ALIGNMENT_TRAP
85         bool "Catch alignment trap"
86         default y
87         help
88           Nios II CPUs cannot fetch/store data which is not bus aligned,
89           i.e., a 2 or 4 byte fetch must start at an address divisible by
90           2 or 4. Any non-aligned load/store instructions will be trapped and
91           emulated in software if you say Y here, which has a performance
92           impact.
93
94 comment "Boot options"
95
96 config CMDLINE_BOOL
97         bool "Default bootloader kernel arguments"
98         default y
99
100 config CMDLINE
101         string "Default kernel command string"
102         default ""
103         depends on CMDLINE_BOOL
104         help
105           On some platforms, there is currently no way for the boot loader to
106           pass arguments to the kernel. For these platforms, you can supply
107           some command-line options at build time by entering them here.  In
108           other cases you can specify kernel args so that you don't have
109           to set them up in board prom initialization routines.
110
111 config CMDLINE_FORCE
112         bool "Force default kernel command string"
113         depends on CMDLINE_BOOL
114         help
115           Set this to have arguments from the default kernel command string
116           override those passed by the boot loader.
117
118 config NIOS2_CMDLINE_IGNORE_DTB
119         bool "Ignore kernel command string from DTB"
120         depends on CMDLINE_BOOL
121         depends on !CMDLINE_FORCE
122         default y
123         help
124           Set this to ignore the bootargs property from the devicetree's
125           chosen node and fall back to CMDLINE if nothing is passed.
126
127 config NIOS2_PASS_CMDLINE
128         bool "Passed kernel command line from u-boot"
129         default n
130         help
131           Use bootargs env variable from u-boot for kernel command line.
132           will override "Default kernel command string".
133           Say N if you are unsure.
134
135 config NIOS2_BOOT_LINK_OFFSET
136         hex "Link address offset for booting"
137         default "0x00500000"
138         help
139           This option allows you to set the link address offset of the zImage.
140           This can be useful if you are on a board which has a small amount of
141           memory.
142
143 endmenu
144
145 menu "Advanced setup"
146
147 config ADVANCED_OPTIONS
148         bool "Prompt for advanced kernel configuration options"
149
150 comment "Default settings for advanced configuration options are used"
151         depends on !ADVANCED_OPTIONS
152
153 config NIOS2_KERNEL_MMU_REGION_BASE_BOOL
154         bool "Set custom kernel MMU region base address"
155         depends on ADVANCED_OPTIONS
156         help
157           This option allows you to set the virtual address of the kernel MMU region.
158
159           Say N here unless you know what you are doing.
160
161 config NIOS2_KERNEL_MMU_REGION_BASE
162         hex "Virtual base address of the kernel MMU region " if NIOS2_KERNEL_MMU_REGION_BASE_BOOL
163         default "0x80000000"
164         help
165           This option allows you to set the virtual base address of the kernel MMU region.
166
167 config NIOS2_KERNEL_REGION_BASE_BOOL
168         bool "Set custom kernel region base address"
169         depends on ADVANCED_OPTIONS
170         help
171           This option allows you to set the virtual address of the kernel region.
172
173           Say N here unless you know what you are doing.
174
175 config NIOS2_KERNEL_REGION_BASE
176         hex "Virtual base address of the kernel region " if NIOS2_KERNEL_REGION_BASE_BOOL
177         default "0xc0000000"
178
179 config NIOS2_IO_REGION_BASE_BOOL
180         bool "Set custom I/O region base address"
181         depends on ADVANCED_OPTIONS
182         help
183           This option allows you to set the virtual address of the I/O region.
184
185           Say N here unless you know what you are doing.
186
187 config NIOS2_IO_REGION_BASE
188         hex "Virtual base address of the I/O region" if NIOS2_IO_REGION_BASE_BOOL
189         default "0xe0000000"
190
191 endmenu