]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | config M32R |
3 | bool | |
4 | default y | |
ec7748b5 | 5 | select HAVE_IDE |
42d4b839 | 6 | select HAVE_OPROFILE |
98a79d6a | 7 | select INIT_ALL_POSSIBLE |
337214e8 HT |
8 | select HAVE_KERNEL_GZIP |
9 | select HAVE_KERNEL_BZIP2 | |
10 | select HAVE_KERNEL_LZMA | |
c1d7e01d | 11 | select ARCH_WANT_IPC_PARSE_VERSION |
9b2a60c4 | 12 | select HAVE_DEBUG_BUGVERBOSE |
4febd95a | 13 | select VIRT_TO_BUS |
0e155b2c | 14 | select GENERIC_IRQ_PROBE |
4bdab7e0 | 15 | select GENERIC_IRQ_SHOW |
abcefec3 | 16 | select GENERIC_ATOMIC64 |
21266be9 | 17 | select ARCH_HAS_DEVMEM_IS_ALLOWED |
97a1c1e9 | 18 | select ARCH_USES_GETTIMEOFFSET |
786d35d4 | 19 | select MODULES_USE_ELF_RELA |
d1a1dc0b | 20 | select HAVE_DEBUG_STACKOVERFLOW |
fff7fb0b | 21 | select CPU_NO_EFFICIENT_FFS |
7844572c | 22 | select DMA_NOOP_OPS |
07c75d7a | 23 | select ARCH_NO_COHERENT_DMA_MMAP if !MMU |
1da177e4 LT |
24 | |
25 | config SBUS | |
26 | bool | |
27 | ||
1da177e4 LT |
28 | config GENERIC_ISA_DMA |
29 | bool | |
30 | default y | |
31 | ||
5ac6da66 CL |
32 | config ZONE_DMA |
33 | bool | |
34 | default y | |
35 | ||
ce816fa8 | 36 | config NO_IOPORT_MAP |
5ea81769 AV |
37 | def_bool y |
38 | ||
1b0fac45 | 39 | config NO_DMA |
eb17726b | 40 | def_bool n |
1b0fac45 | 41 | |
bdc80787 PA |
42 | config HZ |
43 | int | |
44 | default 100 | |
45 | ||
1da177e4 LT |
46 | source "init/Kconfig" |
47 | ||
dc52ddc0 MH |
48 | source "kernel/Kconfig.freezer" |
49 | ||
1da177e4 LT |
50 | |
51 | menu "Processor type and features" | |
52 | ||
53 | choice | |
54 | prompt "Platform Type" | |
55 | default PLAT_MAPPI | |
56 | ||
57 | config PLAT_MAPPI | |
58 | bool "Mappi-I" | |
59 | help | |
60 | The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping. | |
61 | You can operate a Linux system on this board by using an M32R | |
62 | softmacro core, which is a fully-synthesizable functional model | |
63 | described in Verilog-HDL. | |
64 | ||
65 | The Mappi-I board was the first platform, which had been used | |
66 | to port and develop a Linux system for the M32R processor. | |
67 | Currently, the Mappi-II, an heir to the Mappi-I, is available. | |
68 | ||
69 | config PLAT_USRV | |
70 | bool "uServer" | |
e070fb74 | 71 | select PLAT_HAS_INT1ICU |
1da177e4 LT |
72 | |
73 | config PLAT_M32700UT | |
74 | bool "M32700UT" | |
e070fb74 HT |
75 | select PLAT_HAS_INT0ICU |
76 | select PLAT_HAS_INT1ICU | |
77 | select PLAT_HAS_INT2ICU | |
1da177e4 LT |
78 | help |
79 | The M3T-M32700UT is an evaluation board based on uT-Engine | |
80 | specification. This board has an M32700 (Chaos) evaluation chip. | |
81 | You can say Y for SMP, because the M32700 is a single chip | |
82 | multiprocessor. | |
83 | ||
84 | config PLAT_OPSPUT | |
85 | bool "OPSPUT" | |
e070fb74 HT |
86 | select PLAT_HAS_INT0ICU |
87 | select PLAT_HAS_INT1ICU | |
88 | select PLAT_HAS_INT2ICU | |
1da177e4 LT |
89 | help |
90 | The OPSPUT is an evaluation board based on uT-Engine | |
91 | specification. This board has a OPSP-REP chip. | |
92 | ||
93 | config PLAT_OAKS32R | |
94 | bool "OAKS32R" | |
95 | help | |
96 | The OAKS32R is a tiny, inexpensive evaluation board. | |
97 | Please note that if you say Y here and choose chip "M32102", | |
98 | say N for MMU and select a no-MMU version kernel, otherwise | |
99 | a kernel with MMU support will not work, because the M32102 | |
100 | is a microcontroller for embedded systems and it has no MMU. | |
101 | ||
102 | config PLAT_MAPPI2 | |
103 | bool "Mappi-II(M3A-ZA36/M3A-ZA52)" | |
104 | ||
23680863 HT |
105 | config PLAT_MAPPI3 |
106 | bool "Mappi-III(M3A-2170)" | |
107 | ||
9287d95e HT |
108 | config PLAT_M32104UT |
109 | bool "M32104UT" | |
e070fb74 | 110 | select PLAT_HAS_INT1ICU |
9287d95e HT |
111 | help |
112 | The M3T-M32104UT is an reference board based on uT-Engine | |
113 | specification. This board has a M32104 chip. | |
114 | ||
1da177e4 LT |
115 | endchoice |
116 | ||
117 | choice | |
118 | prompt "Processor family" | |
119 | default CHIP_M32700 | |
120 | ||
121 | config CHIP_M32700 | |
122 | bool "M32700 (Chaos)" | |
123 | ||
124 | config CHIP_M32102 | |
125 | bool "M32102" | |
126 | ||
9287d95e HT |
127 | config CHIP_M32104 |
128 | bool "M32104" | |
129 | depends on PLAT_M32104UT | |
130 | ||
1da177e4 LT |
131 | config CHIP_VDEC2 |
132 | bool "VDEC2" | |
133 | ||
134 | config CHIP_OPSP | |
135 | bool "OPSP" | |
136 | ||
137 | endchoice | |
138 | ||
139 | config MMU | |
140 | bool "Support for memory management hardware" | |
141 | depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP | |
142 | default y | |
143 | ||
144 | config TLB_ENTRIES | |
145 | int "TLB Entries" | |
146 | depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP | |
147 | default 32 if CHIP_M32700 || CHIP_OPSP | |
148 | default 16 if CHIP_VDEC2 | |
149 | ||
150 | ||
151 | config ISA_M32R | |
152 | bool | |
9287d95e | 153 | depends on CHIP_M32102 || CHIP_M32104 |
1da177e4 LT |
154 | default y |
155 | ||
156 | config ISA_M32R2 | |
157 | bool | |
158 | depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP | |
159 | default y | |
160 | ||
161 | config ISA_DSP_LEVEL2 | |
162 | bool | |
163 | depends on CHIP_M32700 || CHIP_OPSP | |
164 | default y | |
165 | ||
166 | config ISA_DUAL_ISSUE | |
167 | bool | |
168 | depends on CHIP_M32700 || CHIP_OPSP | |
169 | default y | |
170 | ||
e070fb74 HT |
171 | config PLAT_HAS_INT0ICU |
172 | bool | |
173 | default n | |
174 | ||
175 | config PLAT_HAS_INT1ICU | |
176 | bool | |
177 | default n | |
178 | ||
179 | config PLAT_HAS_INT2ICU | |
180 | bool | |
181 | default n | |
182 | ||
1da177e4 LT |
183 | config BUS_CLOCK |
184 | int "Bus Clock [Hz] (integer)" | |
185 | default "70000000" if PLAT_MAPPI | |
186 | default "25000000" if PLAT_USRV | |
23680863 | 187 | default "50000000" if PLAT_MAPPI3 |
1da177e4 LT |
188 | default "50000000" if PLAT_M32700UT |
189 | default "50000000" if PLAT_OPSPUT | |
9287d95e | 190 | default "54000000" if PLAT_M32104UT |
1da177e4 LT |
191 | default "33333333" if PLAT_OAKS32R |
192 | default "20000000" if PLAT_MAPPI2 | |
193 | ||
194 | config TIMER_DIVIDE | |
195 | int "Timer divider (integer)" | |
196 | default "128" | |
197 | ||
5bdfca64 SM |
198 | config CPU_BIG_ENDIAN |
199 | bool "Generate big endian code" | |
200 | default n | |
201 | ||
1da177e4 LT |
202 | config CPU_LITTLE_ENDIAN |
203 | bool "Generate little endian code" | |
204 | default n | |
205 | ||
206 | config MEMORY_START | |
207 | hex "Physical memory start address (hex)" | |
23680863 | 208 | default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3 |
1da177e4 LT |
209 | default "08000000" if PLAT_USRV |
210 | default "08000000" if PLAT_M32700UT | |
211 | default "08000000" if PLAT_OPSPUT | |
9287d95e | 212 | default "04000000" if PLAT_M32104UT |
1da177e4 LT |
213 | default "01000000" if PLAT_OAKS32R |
214 | ||
215 | config MEMORY_SIZE | |
216 | hex "Physical memory size (hex)" | |
23680863 | 217 | default "08000000" if PLAT_MAPPI3 |
1da177e4 LT |
218 | default "04000000" if PLAT_MAPPI || PLAT_MAPPI2 |
219 | default "02000000" if PLAT_USRV | |
220 | default "01000000" if PLAT_M32700UT | |
221 | default "01000000" if PLAT_OPSPUT | |
9287d95e | 222 | default "01000000" if PLAT_M32104UT |
1da177e4 LT |
223 | default "00800000" if PLAT_OAKS32R |
224 | ||
3f22ab27 | 225 | config ARCH_DISCONTIGMEM_ENABLE |
1da177e4 | 226 | bool "Internal RAM Support" |
9287d95e | 227 | depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104 |
1da177e4 LT |
228 | default y |
229 | ||
3f22ab27 DH |
230 | source "mm/Kconfig" |
231 | ||
1da177e4 LT |
232 | config IRAM_START |
233 | hex "Internal memory start address (hex)" | |
9287d95e HT |
234 | default "00f00000" if !CHIP_M32104 |
235 | default "00700000" if CHIP_M32104 | |
236 | depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM | |
1da177e4 LT |
237 | |
238 | config IRAM_SIZE | |
239 | hex "Internal memory size (hex)" | |
9287d95e | 240 | depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP || CHIP_M32104) && DISCONTIGMEM |
1da177e4 | 241 | default "00080000" if CHIP_M32700 |
9287d95e | 242 | default "00010000" if CHIP_M32102 || CHIP_OPSP || CHIP_M32104 |
1da177e4 LT |
243 | default "00008000" if CHIP_VDEC2 |
244 | ||
245 | # | |
246 | # Define implied options from the CPU selection here | |
247 | # | |
248 | ||
95c354fe NP |
249 | config GENERIC_LOCKBREAK |
250 | bool | |
251 | default y | |
252 | depends on SMP && PREEMPT | |
253 | ||
1da177e4 LT |
254 | config RWSEM_GENERIC_SPINLOCK |
255 | bool | |
256 | depends on M32R | |
257 | default y | |
258 | ||
259 | config RWSEM_XCHGADD_ALGORITHM | |
260 | bool | |
261 | default n | |
262 | ||
f0d1b0b3 DH |
263 | config ARCH_HAS_ILOG2_U32 |
264 | bool | |
265 | default n | |
266 | ||
267 | config ARCH_HAS_ILOG2_U64 | |
268 | bool | |
269 | default n | |
270 | ||
6d9f937b AM |
271 | config GENERIC_HWEIGHT |
272 | bool | |
273 | default y | |
274 | ||
1da177e4 LT |
275 | config GENERIC_CALIBRATE_DELAY |
276 | bool | |
277 | default y | |
278 | ||
ae1e9130 | 279 | config SCHED_OMIT_FRAME_POINTER |
43c09ce7 HT |
280 | bool |
281 | default y | |
282 | ||
dab16ae1 | 283 | source "kernel/Kconfig.preempt" |
1da177e4 | 284 | |
1da177e4 LT |
285 | config SMP |
286 | bool "Symmetric multi-processing support" | |
af1ddcb5 | 287 | depends on MMU |
1da177e4 LT |
288 | ---help--- |
289 | This enables support for systems with more than one CPU. If you have | |
4a474157 RG |
290 | a system with only one CPU, say N. If you have a system with more |
291 | than one CPU, say Y. | |
1da177e4 | 292 | |
4a474157 | 293 | If you say N here, the kernel will run on uni- and multiprocessor |
1da177e4 LT |
294 | machines, but will use only one CPU of a multiprocessor machine. If |
295 | you say Y here, the kernel will run on many, but not all, | |
4a474157 | 296 | uniprocessor machines. On a uniprocessor machine, the kernel |
1da177e4 LT |
297 | will run faster if you say N here. |
298 | ||
299 | People using multiprocessor machines who say Y here should also say | |
300 | Y to "Enhanced Real Time Clock Support", below. The "Advanced Power | |
301 | Management" code will be disabled if you say Y here. | |
302 | ||
03502faa | 303 | See also the SMP-HOWTO available at |
50a23e6e | 304 | <http://tldp.org/HOWTO/SMP-HOWTO.html>. |
1da177e4 LT |
305 | |
306 | If you don't know what to do here, say N. | |
307 | ||
308 | config CHIP_M32700_TS1 | |
309 | bool "Workaround code for the M32700 TS1 chip's bug" | |
310 | depends on (CHIP_M32700 && SMP) | |
311 | default n | |
312 | ||
313 | config NR_CPUS | |
314 | int "Maximum number of CPUs (2-32)" | |
315 | range 2 32 | |
316 | depends on SMP | |
317 | default "2" | |
318 | help | |
319 | This allows you to specify the maximum number of CPUs which this | |
320 | kernel will support. The maximum supported value is 32 and the | |
321 | minimum value which makes sense is 2. | |
322 | ||
323 | This is purely to save memory - each supported CPU adds | |
324 | approximately eight kilobytes to the kernel image. | |
325 | ||
326 | # Common NUMA Features | |
327 | config NUMA | |
328 | bool "Numa Memory Allocation Support" | |
c5596b26 | 329 | depends on SMP && BROKEN |
1da177e4 LT |
330 | default n |
331 | ||
c80d79d7 YG |
332 | config NODES_SHIFT |
333 | int | |
334 | default "1" | |
335 | depends on NEED_MULTIPLE_NODES | |
336 | ||
1da177e4 LT |
337 | endmenu |
338 | ||
339 | ||
340 | menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" | |
341 | ||
342 | config PCI | |
343 | bool "PCI support" | |
c3a0f771 | 344 | depends on BROKEN |
1da177e4 LT |
345 | default n |
346 | help | |
347 | Find out whether you have a PCI motherboard. PCI is the name of a | |
348 | bus system, i.e. the way the CPU talks to the other stuff inside | |
349 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | |
350 | VESA. If you have PCI, say Y, otherwise N. | |
351 | ||
1da177e4 LT |
352 | choice |
353 | prompt "PCI access mode" | |
354 | depends on PCI | |
355 | default PCI_GOANY | |
356 | ||
357 | config PCI_GOBIOS | |
358 | bool "BIOS" | |
359 | ---help--- | |
360 | On PCI systems, the BIOS can be used to detect the PCI devices and | |
361 | determine their configuration. However, some old PCI motherboards | |
362 | have BIOS bugs and may crash if this is done. Also, some embedded | |
363 | PCI-based systems don't have any BIOS at all. Linux can also try to | |
364 | detect the PCI hardware directly without using the BIOS. | |
365 | ||
366 | With this option, you can specify how Linux should detect the PCI | |
367 | devices. If you choose "BIOS", the BIOS will be used, if you choose | |
368 | "Direct", the BIOS won't be used, and if you choose "Any", the | |
369 | kernel will try the direct access method and falls back to the BIOS | |
370 | if that doesn't work. If unsure, go with the default, which is | |
371 | "Any". | |
372 | ||
373 | config PCI_GODIRECT | |
374 | bool "Direct" | |
375 | ||
376 | config PCI_GOANY | |
377 | bool "Any" | |
378 | ||
379 | endchoice | |
380 | ||
381 | config PCI_BIOS | |
382 | bool | |
383 | depends on PCI && (PCI_GOBIOS || PCI_GOANY) | |
384 | default y | |
385 | ||
386 | config PCI_DIRECT | |
387 | bool | |
388 | depends on PCI && (PCI_GODIRECT || PCI_GOANY) | |
389 | default y | |
390 | ||
391 | source "drivers/pci/Kconfig" | |
392 | ||
393 | config ISA | |
1b20b093 | 394 | bool |
1da177e4 LT |
395 | |
396 | source "drivers/pcmcia/Kconfig" | |
397 | ||
1da177e4 LT |
398 | endmenu |
399 | ||
400 | ||
401 | menu "Executable file formats" | |
402 | ||
403 | source "fs/Kconfig.binfmt" | |
404 | ||
405 | endmenu | |
406 | ||
d5950b43 SR |
407 | source "net/Kconfig" |
408 | ||
1da177e4 LT |
409 | source "drivers/Kconfig" |
410 | ||
411 | source "fs/Kconfig" | |
412 | ||
1da177e4 LT |
413 | source "arch/m32r/Kconfig.debug" |
414 | ||
415 | source "security/Kconfig" | |
416 | ||
417 | source "crypto/Kconfig" | |
418 | ||
419 | source "lib/Kconfig" |