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