]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - arch/m68k/Kconfig.machine
m68k/nommu: prevent setting ROMKERNEL when ROM is not set
[mirror_ubuntu-jammy-kernel.git] / arch / m68k / Kconfig.machine
1 # SPDX-License-Identifier: GPL-2.0
2 comment "Machine Types"
3
4 if M68KCLASSIC
5
6 config AMIGA
7 bool "Amiga support"
8 depends on MMU
9 select MMU_MOTOROLA if MMU
10 select LEGACY_TIMER_TICK
11 help
12 This option enables support for the Amiga series of computers. If
13 you plan to use this kernel on an Amiga, say Y here and browse the
14 material available in <file:Documentation/m68k>; otherwise say N.
15
16 config ATARI
17 bool "Atari support"
18 depends on MMU
19 select MMU_MOTOROLA if MMU
20 select HAVE_ARCH_NVRAM_OPS
21 select LEGACY_TIMER_TICK
22 help
23 This option enables support for the 68000-based Atari series of
24 computers (including the TT, Falcon and Medusa). If you plan to use
25 this kernel on an Atari, say Y here and browse the material
26 available in <file:Documentation/m68k>; otherwise say N.
27
28 config ATARI_KBD_CORE
29 bool
30
31 config MAC
32 bool "Macintosh support"
33 depends on MMU
34 select MMU_MOTOROLA if MMU
35 select HAVE_ARCH_NVRAM_OPS
36 select HAVE_PATA_PLATFORM
37 select LEGACY_TIMER_TICK
38 help
39 This option enables support for the Apple Macintosh series of
40 computers. If you plan to use this kernel on a Mac, say Y here and
41 browse the documentation available at <http://www.mac.linux-m68k.org/>;
42 otherwise say N.
43
44 config APOLLO
45 bool "Apollo support"
46 depends on MMU
47 select MMU_MOTOROLA if MMU
48 select LEGACY_TIMER_TICK
49 help
50 Say Y here if you want to run Linux on an MC680x0-based Apollo
51 Domain workstation such as the DN3500.
52
53 config VME
54 bool "VME (Motorola and BVM) support"
55 depends on MMU
56 select MMU_MOTOROLA if MMU
57 help
58 Say Y here if you want to build a kernel for a 680x0 based VME
59 board. Boards currently supported include Motorola boards MVME147,
60 MVME162, MVME166, MVME167, MVME172, and MVME177. BVME4000 and
61 BVME6000 boards from BVM Ltd are also supported.
62
63 config MVME147
64 bool "MVME147 support"
65 depends on MMU
66 depends on VME
67 select LEGACY_TIMER_TICK
68 help
69 Say Y to include support for early Motorola VME boards. This will
70 build a kernel which can run on MVME147 single-board computers. If
71 you select this option you will have to select the appropriate
72 drivers for SCSI, Ethernet and serial ports later on.
73
74 config MVME16x
75 bool "MVME162, 166 and 167 support"
76 depends on MMU
77 depends on VME
78 select LEGACY_TIMER_TICK
79 help
80 Say Y to include support for Motorola VME boards. This will build a
81 kernel which can run on MVME162, MVME166, MVME167, MVME172, and
82 MVME177 boards. If you select this option you will have to select
83 the appropriate drivers for SCSI, Ethernet and serial ports later
84 on.
85
86 config BVME6000
87 bool "BVME4000 and BVME6000 support"
88 depends on MMU
89 depends on VME
90 select LEGACY_TIMER_TICK
91 help
92 Say Y to include support for VME boards from BVM Ltd. This will
93 build a kernel which can run on BVME4000 and BVME6000 boards. If
94 you select this option you will have to select the appropriate
95 drivers for SCSI, Ethernet and serial ports later on.
96
97 config HP300
98 bool "HP9000/300 and HP9000/400 support"
99 depends on MMU
100 select MMU_MOTOROLA if MMU
101 select LEGACY_TIMER_TICK
102 help
103 This option enables support for the HP9000/300 and HP9000/400 series
104 of workstations. Support for these machines is still somewhat
105 experimental. If you plan to try to use the kernel on such a machine
106 say Y here.
107 Everybody else says N.
108
109 config SUN3X
110 bool "Sun3x support"
111 depends on MMU
112 select LEGACY_TIMER_TICK
113 select MMU_MOTOROLA if MMU
114 select M68030
115 help
116 This option enables support for the Sun 3x series of workstations.
117 Be warned that this support is very experimental.
118 Note that Sun 3x kernels are not compatible with Sun 3 hardware.
119 General Linux information on the Sun 3x series (now discontinued)
120 is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
121
122 If you don't want to compile a kernel for a Sun 3x, say N.
123
124 config Q40
125 bool "Q40/Q60 support"
126 depends on MMU
127 select MMU_MOTOROLA if MMU
128 select LEGACY_TIMER_TICK
129 help
130 The Q40 is a Motorola 68040-based successor to the Sinclair QL
131 manufactured in Germany. There is an official Q40 home page at
132 <http://www.q40.de/>. This option enables support for the Q40 and
133 Q60. Select your CPU below. For 68LC060 don't forget to enable FPU
134 emulation.
135
136 config SUN3
137 bool "Sun3 support"
138 depends on MMU
139 depends on !MMU_MOTOROLA
140 select MMU_SUN3 if MMU
141 select LEGACY_TIMER_TICK
142 select NO_DMA
143 select M68020
144 help
145 This option enables support for the Sun 3 series of workstations
146 (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
147 that all other hardware types must be disabled, as Sun 3 kernels
148 are incompatible with all other m68k targets (including Sun 3x!).
149
150 If you don't want to compile a kernel exclusively for a Sun 3, say N.
151
152 config PILOT
153 bool
154
155 config PILOT3
156 bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
157 depends on !MMU
158 select M68328
159 select PILOT
160 help
161 Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
162
163 config XCOPILOT_BUGS
164 bool "(X)Copilot support"
165 depends on PILOT3
166 help
167 Support the bugs of Xcopilot.
168
169 config UCSIMM
170 bool "uCsimm module support"
171 depends on !MMU
172 select M68EZ328
173 help
174 Support for the Arcturus Networks uCsimm module.
175
176 config UCDIMM
177 bool "uDsimm module support"
178 depends on !MMU
179 select M68VZ328
180 help
181 Support for the Arcturus Networks uDsimm module.
182
183 config DRAGEN2
184 bool "DragenEngine II board support"
185 depends on !MMU
186 select M68VZ328
187 help
188 Support for the DragenEngine II board.
189
190 config DIRECT_IO_ACCESS
191 bool "Allow user to access IO directly"
192 depends on (UCSIMM || UCDIMM || DRAGEN2)
193 help
194 Disable the CPU internal registers protection in user mode,
195 to allow a user application to read/write them.
196
197 config INIT_LCD
198 bool "Initialize LCD"
199 depends on (UCSIMM || UCDIMM || DRAGEN2)
200 help
201 Initialize the LCD controller of the 68x328 processor.
202
203 config MEMORY_RESERVE
204 int "Memory reservation (MiB)"
205 depends on (UCSIMM || UCDIMM)
206 help
207 Reserve certain memory regions on 68x328 based boards.
208
209 endif # M68KCLASSIC
210
211 config ARN5206
212 bool "Arnewsh 5206 board support"
213 depends on M5206
214 help
215 Support for the Arnewsh 5206 board.
216
217 config M5206eC3
218 bool "Motorola M5206eC3 board support"
219 depends on M5206e
220 help
221 Support for the Motorola M5206eC3 board.
222
223 config ELITE
224 bool "Motorola M5206eLITE board support"
225 depends on M5206e
226 help
227 Support for the Motorola M5206eLITE board.
228
229 config M5235EVB
230 bool "Freescale M5235EVB support"
231 depends on M523x
232 help
233 Support for the Freescale M5235EVB board.
234
235 config M5249C3
236 bool "Motorola M5249C3 board support"
237 depends on M5249
238 help
239 Support for the Motorola M5249C3 board.
240
241 config M5272C3
242 bool "Motorola M5272C3 board support"
243 depends on M5272
244 help
245 Support for the Motorola M5272C3 board.
246
247 config WILDFIRE
248 bool "Intec Automation Inc. WildFire board support"
249 depends on M528x
250 help
251 Support for the Intec Automation Inc. WildFire.
252
253 config WILDFIREMOD
254 bool "Intec Automation Inc. WildFire module support"
255 depends on M528x
256 help
257 Support for the Intec Automation Inc. WildFire module.
258
259 config ARN5307
260 bool "Arnewsh 5307 board support"
261 depends on M5307
262 help
263 Support for the Arnewsh 5307 board.
264
265 config M5307C3
266 bool "Motorola M5307C3 board support"
267 depends on M5307
268 help
269 Support for the Motorola M5307C3 board.
270
271 config SECUREEDGEMP3
272 bool "SnapGear SecureEdge/MP3 platform support"
273 depends on M5307
274 help
275 Support for the SnapGear SecureEdge/MP3 platform.
276
277 config M5407C3
278 bool "Motorola M5407C3 board support"
279 depends on M5407
280 help
281 Support for the Motorola M5407C3 board.
282
283 config AMCORE
284 bool "Sysam AMCORE board support"
285 depends on M5307
286 help
287 Support for the Sysam AMCORE open-hardware generic board.
288
289 config STMARK2
290 bool "Sysam stmark2 board support"
291 depends on M5441x
292 help
293 Support for the Sysam stmark2 open-hardware generic board.
294
295 config FIREBEE
296 bool "FireBee board support"
297 depends on M547x
298 help
299 Support for the FireBee ColdFire 5475 based board.
300
301 config CLEOPATRA
302 bool "Feith CLEOPATRA board support"
303 depends on (M5307 || M5407)
304 help
305 Support for the Feith Cleopatra boards.
306
307 config CANCam
308 bool "Feith CANCam board support"
309 depends on M5272
310 help
311 Support for the Feith CANCam board.
312
313 config SCALES
314 bool "Feith SCALES board support"
315 depends on M5272
316 help
317 Support for the Feith SCALES board.
318
319 config NETtel
320 bool "SecureEdge/NETtel board support"
321 depends on (M5206e || M5272 || M5307)
322 help
323 Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
324
325 config MOD5272
326 bool "Netburner MOD-5272 board support"
327 depends on M5272
328 help
329 Support for the Netburner MOD-5272 board.
330
331 if !MMU || COLDFIRE
332
333 comment "Machine Options"
334
335 config UBOOT
336 bool "Support for U-Boot command line parameters"
337 help
338 If you say Y here kernel will try to collect command
339 line parameters from the initial u-boot stack.
340
341 config 4KSTACKS
342 bool "Use 4Kb for kernel stacks instead of 8Kb"
343 default y
344 help
345 If you say Y here the kernel will use a 4Kb stacksize for the
346 kernel stack attached to each process/thread. This facilitates
347 running more threads on a system and also reduces the pressure
348 on the VM subsystem for higher order allocations.
349
350 comment "RAM configuration"
351
352 config RAMBASE
353 hex "Address of the base of RAM"
354 default "0"
355 help
356 Define the address that RAM starts at. On many platforms this is
357 0, the base of the address space. And this is the default. Some
358 platforms choose to setup their RAM at other addresses within the
359 processor address space.
360
361 config RAMSIZE
362 hex "Size of RAM (in bytes), or 0 for automatic"
363 default "0x400000"
364 help
365 Define the size of the system RAM. If you select 0 then the
366 kernel will try to probe the RAM size at runtime. This is not
367 supported on all CPU types.
368
369 config VECTORBASE
370 hex "Address of the base of system vectors"
371 default "0"
372 help
373 Define the address of the system vectors. Commonly this is
374 put at the start of RAM, but it doesn't have to be. On ColdFire
375 platforms this address is programmed into the VBR register, thus
376 actually setting the address to use.
377
378 config MBAR
379 hex "Address of the MBAR (internal peripherals)"
380 default "0x10000000"
381 depends on HAVE_MBAR
382 help
383 Define the address of the internal system peripherals. This value
384 is set in the processors MBAR register. This is generally setup by
385 the boot loader, and will not be written by the kernel. By far most
386 ColdFire boards use the default 0x10000000 value, so if unsure then
387 use this.
388
389 config IPSBAR
390 hex "Address of the IPSBAR (internal peripherals)"
391 default "0x40000000"
392 depends on HAVE_IPSBAR
393 help
394 Define the address of the internal system peripherals. This value
395 is set in the processors IPSBAR register. This is generally setup by
396 the boot loader, and will not be written by the kernel. By far most
397 ColdFire boards use the default 0x40000000 value, so if unsure then
398 use this.
399
400 config KERNELBASE
401 hex "Address of the base of kernel code"
402 default "0x400"
403 help
404 Typically on m68k systems the kernel will not start at the base
405 of RAM, but usually some small offset from it. Define the start
406 address of the kernel here. The most common setup will have the
407 processor vectors at the base of RAM and then the start of the
408 kernel. On some platforms some RAM is reserved for boot loaders
409 and the kernel starts after that. The 0x400 default was based on
410 a system with the RAM based at address 0, and leaving enough room
411 for the theoretical maximum number of 256 vectors.
412
413 comment "ROM configuration"
414
415 config ROM
416 bool "Specify ROM linker regions"
417 help
418 Define a ROM region for the linker script. This creates a kernel
419 that can be stored in flash, with possibly the text, and data
420 regions being copied out to RAM at startup.
421
422 config ROMBASE
423 hex "Address of the base of ROM device"
424 default "0"
425 depends on ROM
426 help
427 Define the address that the ROM region starts at. Some platforms
428 use this to set their chip select region accordingly for the boot
429 device.
430
431 config ROMVEC
432 hex "Address of the base of the ROM vectors"
433 default "0"
434 depends on ROM
435 help
436 This is almost always the same as the base of the ROM. Since on all
437 68000 type variants the vectors are at the base of the boot device
438 on system startup.
439
440 config ROMSTART
441 hex "Address of the base of system image in ROM"
442 default "0x400"
443 depends on ROM
444 help
445 Define the start address of the system image in ROM. Commonly this
446 is strait after the ROM vectors.
447
448 config ROMSIZE
449 hex "Size of the ROM device"
450 default "0x100000"
451 depends on ROM
452 help
453 Size of the ROM device. On some platforms this is used to setup
454 the chip select that controls the boot ROM device.
455
456 choice
457 prompt "Kernel executes from"
458 help
459 Choose the memory type that the kernel will be running in.
460
461 config RAMKERNEL
462 bool "RAM"
463 help
464 The kernel will be resident in RAM when running.
465
466 config ROMKERNEL
467 bool "ROM"
468 depends on ROM
469 help
470 The kernel will be resident in FLASH/ROM when running. This is
471 often referred to as Execute-in-Place (XIP), since the kernel
472 code executes from the position it is stored in the FLASH/ROM.
473
474 endchoice
475
476 endif