Merge tag 'x86-fpu-2023-02-20' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[linux-2.6-block.git] / arch / m68k / Kconfig.machine
CommitLineData
b2441318 1# SPDX-License-Identifier: GPL-2.0
0e152d80
GU
2comment "Machine Types"
3
ad8f955d
GU
4if M68KCLASSIC
5
0e152d80
GU
6config AMIGA
7 bool "Amiga support"
8 depends on MMU
9 select MMU_MOTOROLA if MMU
42f1d57f 10 select LEGACY_TIMER_TICK
0e152d80
GU
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
16config ATARI
17 bool "Atari support"
18 depends on MMU
19 select MMU_MOTOROLA if MMU
666047fe 20 select HAVE_ARCH_NVRAM_OPS
42f1d57f 21 select LEGACY_TIMER_TICK
0e152d80
GU
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
c1367ee0
RD
28config ATARI_KBD_CORE
29 bool
30
0e152d80
GU
31config MAC
32 bool "Macintosh support"
33 depends on MMU
34 select MMU_MOTOROLA if MMU
d3b41b6b 35 select HAVE_ARCH_NVRAM_OPS
21ed4926 36 select HAVE_PATA_PLATFORM
42f1d57f 37 select LEGACY_TIMER_TICK
0e152d80
GU
38 help
39 This option enables support for the Apple Macintosh series of
07ce9b7a
FT
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.
0e152d80
GU
43
44config APOLLO
45 bool "Apollo support"
46 depends on MMU
47 select MMU_MOTOROLA if MMU
42f1d57f 48 select LEGACY_TIMER_TICK
0e152d80
GU
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
53config 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
63config MVME147
64 bool "MVME147 support"
65 depends on MMU
66 depends on VME
42f1d57f 67 select LEGACY_TIMER_TICK
0e152d80
GU
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
74config MVME16x
75 bool "MVME162, 166 and 167 support"
76 depends on MMU
77 depends on VME
42f1d57f 78 select LEGACY_TIMER_TICK
0e152d80
GU
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
86config BVME6000
87 bool "BVME4000 and BVME6000 support"
88 depends on MMU
89 depends on VME
42f1d57f 90 select LEGACY_TIMER_TICK
0e152d80
GU
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
97config HP300
98 bool "HP9000/300 and HP9000/400 support"
99 depends on MMU
100 select MMU_MOTOROLA if MMU
42f1d57f 101 select LEGACY_TIMER_TICK
0e152d80
GU
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
109config SUN3X
110 bool "Sun3x support"
111 depends on MMU
4a1c287a 112 select LEGACY_TIMER_TICK
0e152d80
GU
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
124config Q40
125 bool "Q40/Q60 support"
126 depends on MMU
127 select MMU_MOTOROLA if MMU
42f1d57f 128 select LEGACY_TIMER_TICK
0e152d80
GU
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
136config SUN3
137 bool "Sun3 support"
138 depends on MMU
139 depends on !MMU_MOTOROLA
140 select MMU_SUN3 if MMU
4a1c287a 141 select LEGACY_TIMER_TICK
846f9e1f 142 select NO_DMA
0e152d80
GU
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.
1da177e4 151
05d51e42
LV
152config VIRT
153 bool "Virtual M68k Machine support"
154 depends on MMU
155 select GENERIC_CLOCKEVENTS
156 select GOLDFISH
157 select GOLDFISH_TIMER
158 select GOLDFISH_TTY
159 select M68040
160 select MMU_MOTOROLA if MMU
161 select RTC_CLASS
162 select RTC_DRV_GOLDFISH
163 select TTY
efae7404 164 select VIRTIO_MENU
05d51e42
LV
165 select VIRTIO_MMIO
166 help
167 This options enable a pure virtual machine based on m68k,
efae7404 168 VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC).
05d51e42 169
0e152d80 170config PILOT
5b2e6555 171 bool
1da177e4
LT
172
173config PILOT3
174 bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
8b22820e
AB
175 depends on !MMU
176 select M68328
0e152d80 177 select PILOT
1da177e4
LT
178 help
179 Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
180
181config XCOPILOT_BUGS
6869e940 182 bool "(X)Copilot support"
1da177e4
LT
183 depends on PILOT3
184 help
185 Support the bugs of Xcopilot.
186
187config UCSIMM
188 bool "uCsimm module support"
8b22820e
AB
189 depends on !MMU
190 select M68EZ328
1da177e4
LT
191 help
192 Support for the Arcturus Networks uCsimm module.
193
194config UCDIMM
195 bool "uDsimm module support"
8b22820e
AB
196 depends on !MMU
197 select M68VZ328
1da177e4
LT
198 help
199 Support for the Arcturus Networks uDsimm module.
200
201config DRAGEN2
202 bool "DragenEngine II board support"
8b22820e
AB
203 depends on !MMU
204 select M68VZ328
1da177e4
LT
205 help
206 Support for the DragenEngine II board.
207
208config DIRECT_IO_ACCESS
6869e940 209 bool "Allow user to access IO directly"
1da177e4
LT
210 depends on (UCSIMM || UCDIMM || DRAGEN2)
211 help
212 Disable the CPU internal registers protection in user mode,
0a977ca3 213 to allow a user application to read/write them.
1da177e4
LT
214
215config INIT_LCD
6869e940 216 bool "Initialize LCD"
1da177e4
LT
217 depends on (UCSIMM || UCDIMM || DRAGEN2)
218 help
219 Initialize the LCD controller of the 68x328 processor.
220
221config MEMORY_RESERVE
6869e940 222 int "Memory reservation (MiB)"
1da177e4 223 depends on (UCSIMM || UCDIMM)
1aaa557b 224 default 0
1da177e4
LT
225 help
226 Reserve certain memory regions on 68x328 based boards.
227
8b22820e
AB
228endif # M68KCLASSIC
229
1da177e4
LT
230config ARN5206
231 bool "Arnewsh 5206 board support"
232 depends on M5206
233 help
234 Support for the Arnewsh 5206 board.
235
236config M5206eC3
237 bool "Motorola M5206eC3 board support"
238 depends on M5206e
239 help
240 Support for the Motorola M5206eC3 board.
241
242config ELITE
243 bool "Motorola M5206eLITE board support"
244 depends on M5206e
245 help
246 Support for the Motorola M5206eLITE board.
247
5c4dbba9
GU
248config M5235EVB
249 bool "Freescale M5235EVB support"
250 depends on M523x
251 help
252 Support for the Freescale M5235EVB board.
253
1da177e4
LT
254config M5249C3
255 bool "Motorola M5249C3 board support"
256 depends on M5249
257 help
258 Support for the Motorola M5249C3 board.
259
1da177e4
LT
260config M5272C3
261 bool "Motorola M5272C3 board support"
262 depends on M5272
263 help
264 Support for the Motorola M5272C3 board.
265
906a2621
GU
266config WILDFIRE
267 bool "Intec Automation Inc. WildFire board support"
268 depends on M528x
269 help
270 Support for the Intec Automation Inc. WildFire.
0e152d80 271
906a2621
GU
272config WILDFIREMOD
273 bool "Intec Automation Inc. WildFire module support"
274 depends on M528x
275 help
276 Support for the Intec Automation Inc. WildFire module.
1da177e4
LT
277
278config ARN5307
279 bool "Arnewsh 5307 board support"
280 depends on M5307
281 help
282 Support for the Arnewsh 5307 board.
283
284config M5307C3
285 bool "Motorola M5307C3 board support"
286 depends on M5307
287 help
288 Support for the Motorola M5307C3 board.
289
1da177e4
LT
290config SECUREEDGEMP3
291 bool "SnapGear SecureEdge/MP3 platform support"
292 depends on M5307
293 help
294 Support for the SnapGear SecureEdge/MP3 platform.
295
296config M5407C3
297 bool "Motorola M5407C3 board support"
298 depends on M5407
299 help
300 Support for the Motorola M5407C3 board.
301
a41cdd01
AD
302config AMCORE
303 bool "Sysam AMCORE board support"
304 depends on M5307
305 help
306 Support for the Sysam AMCORE open-hardware generic board.
307
c8b61d50 308config STMARK2
1b43cb5f
KK
309 bool "Sysam stmark2 board support"
310 depends on M5441x
311 help
312 Support for the Sysam stmark2 open-hardware generic board.
c8b61d50 313
7badfabb
GU
314config FIREBEE
315 bool "FireBee board support"
316 depends on M547x
317 help
318 Support for the FireBee ColdFire 5475 based board.
319
1da177e4
LT
320config CLEOPATRA
321 bool "Feith CLEOPATRA board support"
322 depends on (M5307 || M5407)
323 help
324 Support for the Feith Cleopatra boards.
325
326config CANCam
327 bool "Feith CANCam board support"
328 depends on M5272
329 help
330 Support for the Feith CANCam board.
331
332config SCALES
333 bool "Feith SCALES board support"
334 depends on M5272
335 help
336 Support for the Feith SCALES board.
337
338config NETtel
339 bool "SecureEdge/NETtel board support"
340 depends on (M5206e || M5272 || M5307)
341 help
342 Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
343
5c4dbba9
GU
344config MOD5272
345 bool "Netburner MOD-5272 board support"
346 depends on M5272
347 help
348 Support for the Netburner MOD-5272 board.
349
0e152d80
GU
350if !MMU || COLDFIRE
351
352comment "Machine Options"
353
588baeac
LS
354config UBOOT
355 bool "Support for U-Boot command line parameters"
a71b9e66 356 depends on COLDFIRE
588baeac
LS
357 help
358 If you say Y here kernel will try to collect command
359 line parameters from the initial u-boot stack.
588baeac 360
5c4dbba9
GU
361config 4KSTACKS
362 bool "Use 4Kb for kernel stacks instead of 8Kb"
363 default y
364 help
365 If you say Y here the kernel will use a 4Kb stacksize for the
366 kernel stack attached to each process/thread. This facilitates
367 running more threads on a system and also reduces the pressure
368 on the VM subsystem for higher order allocations.
369
63e413d1
GU
370comment "RAM configuration"
371
372config RAMBASE
373 hex "Address of the base of RAM"
374 default "0"
375 help
376 Define the address that RAM starts at. On many platforms this is
377 0, the base of the address space. And this is the default. Some
378 platforms choose to setup their RAM at other addresses within the
379 processor address space.
380
381config RAMSIZE
73a9983e 382 hex "Size of RAM (in bytes), or 0 for automatic"
63e413d1
GU
383 default "0x400000"
384 help
385 Define the size of the system RAM. If you select 0 then the
386 kernel will try to probe the RAM size at runtime. This is not
387 supported on all CPU types.
388
389config VECTORBASE
390 hex "Address of the base of system vectors"
391 default "0"
392 help
4b3f686d 393 Define the address of the system vectors. Commonly this is
63e413d1
GU
394 put at the start of RAM, but it doesn't have to be. On ColdFire
395 platforms this address is programmed into the VBR register, thus
396 actually setting the address to use.
397
d4852a34
GU
398config MBAR
399 hex "Address of the MBAR (internal peripherals)"
400 default "0x10000000"
401 depends on HAVE_MBAR
402 help
403 Define the address of the internal system peripherals. This value
404 is set in the processors MBAR register. This is generally setup by
405 the boot loader, and will not be written by the kernel. By far most
406 ColdFire boards use the default 0x10000000 value, so if unsure then
407 use this.
408
409config IPSBAR
410 hex "Address of the IPSBAR (internal peripherals)"
411 default "0x40000000"
412 depends on HAVE_IPSBAR
413 help
414 Define the address of the internal system peripherals. This value
415 is set in the processors IPSBAR register. This is generally setup by
416 the boot loader, and will not be written by the kernel. By far most
417 ColdFire boards use the default 0x40000000 value, so if unsure then
418 use this.
419
63e413d1
GU
420config KERNELBASE
421 hex "Address of the base of kernel code"
422 default "0x400"
423 help
424 Typically on m68k systems the kernel will not start at the base
425 of RAM, but usually some small offset from it. Define the start
426 address of the kernel here. The most common setup will have the
427 processor vectors at the base of RAM and then the start of the
428 kernel. On some platforms some RAM is reserved for boot loaders
429 and the kernel starts after that. The 0x400 default was based on
430 a system with the RAM based at address 0, and leaving enough room
431 for the theoretical maximum number of 256 vectors.
1da177e4 432
c750a012
GU
433comment "ROM configuration"
434
435config ROM
436 bool "Specify ROM linker regions"
c750a012
GU
437 help
438 Define a ROM region for the linker script. This creates a kernel
439 that can be stored in flash, with possibly the text, and data
440 regions being copied out to RAM at startup.
441
442config ROMBASE
443 hex "Address of the base of ROM device"
444 default "0"
445 depends on ROM
446 help
447 Define the address that the ROM region starts at. Some platforms
448 use this to set their chip select region accordingly for the boot
449 device.
450
451config ROMVEC
452 hex "Address of the base of the ROM vectors"
453 default "0"
454 depends on ROM
455 help
456 This is almost always the same as the base of the ROM. Since on all
3cb2fccc 457 68000 type variants the vectors are at the base of the boot device
c750a012
GU
458 on system startup.
459
c750a012
GU
460config ROMSTART
461 hex "Address of the base of system image in ROM"
462 default "0x400"
463 depends on ROM
464 help
465 Define the start address of the system image in ROM. Commonly this
466 is strait after the ROM vectors.
467
468config ROMSIZE
469 hex "Size of the ROM device"
470 default "0x100000"
471 depends on ROM
472 help
473 Size of the ROM device. On some platforms this is used to setup
474 the chip select that controls the boot ROM device.
475
1da177e4
LT
476choice
477 prompt "Kernel executes from"
a7f7f624 478 help
1da177e4
LT
479 Choose the memory type that the kernel will be running in.
480
481config RAMKERNEL
482 bool "RAM"
483 help
484 The kernel will be resident in RAM when running.
485
486config ROMKERNEL
487 bool "ROM"
cd3bf8cf 488 depends on ROM
1da177e4 489 help
63e413d1
GU
490 The kernel will be resident in FLASH/ROM when running. This is
491 often referred to as Execute-in-Place (XIP), since the kernel
492 code executes from the position it is stored in the FLASH/ROM.
1da177e4
LT
493
494endchoice
495
b5d263cd 496endif # !MMU || COLDFIRE