1# SPDX-License-Identifier: GPL-2.0 2comment "Machine Types" 3 4if M68KCLASSIC 5 6config 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/arch/m68k>; otherwise say N. 15 16config 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/arch/m68k>; otherwise say N. 27 28config ATARI_KBD_CORE 29 bool 30 31config 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 44config 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 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 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 74config 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 86config 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 97config 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 109config 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 124config 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 136config 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 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 164 select VIRTIO_MENU 165 select VIRTIO_MMIO 166 help 167 This options enable a pure virtual machine based on m68k, 168 VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC). 169 170config PILOT 171 bool 172 173config PILOT3 174 bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support" 175 depends on !MMU 176 select M68328 177 select PILOT 178 help 179 Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII. 180 181config XCOPILOT_BUGS 182 bool "(X)Copilot support" 183 depends on PILOT3 184 help 185 Support the bugs of Xcopilot. 186 187config UCSIMM 188 bool "uCsimm module support" 189 depends on !MMU 190 select M68EZ328 191 help 192 Support for the Arcturus Networks uCsimm module. 193 194config UCDIMM 195 bool "uCdimm module support" 196 depends on !MMU 197 select M68VZ328 198 help 199 Support for the Arcturus Networks uCdimm module. 200 201config DRAGEN2 202 bool "DragonEngine II board support" 203 depends on !MMU 204 select M68VZ328 205 help 206 Support for the DragonEngine II board. 207 208config DIRECT_IO_ACCESS 209 bool "Allow user to access IO directly" 210 depends on (UCSIMM || UCDIMM || DRAGEN2) 211 help 212 Disable the CPU internal registers protection in user mode, 213 to allow a user application to read/write them. 214 215config INIT_LCD 216 bool "Initialize LCD" 217 depends on (UCSIMM || UCDIMM || DRAGEN2) 218 help 219 Initialize the LCD controller of the 68x328 processor. 220 221config MEMORY_RESERVE 222 int "Memory reservation (MiB)" 223 depends on (UCSIMM || UCDIMM) 224 default 0 225 help 226 Reserve certain memory regions on 68x328 based boards. 227 228endif # M68KCLASSIC 229 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 248config M5235EVB 249 bool "Freescale M5235EVB support" 250 depends on M523x 251 help 252 Support for the Freescale M5235EVB board. 253 254config M5249C3 255 bool "Motorola M5249C3 board support" 256 depends on M5249 257 help 258 Support for the Motorola M5249C3 board. 259 260config M5272C3 261 bool "Motorola M5272C3 board support" 262 depends on M5272 263 help 264 Support for the Motorola M5272C3 board. 265 266config WILDFIRE 267 bool "Intec Automation Inc. WildFire board support" 268 depends on M528x 269 help 270 Support for the Intec Automation Inc. WildFire. 271 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. 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 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 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 308config STMARK2 309 bool "Sysam stmark2 board support" 310 depends on M5441x 311 help 312 Support for the Sysam stmark2 open-hardware generic board. 313 314config FIREBEE 315 bool "FireBee board support" 316 depends on M547x 317 help 318 Support for the FireBee ColdFire 5475 based board. 319 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 344config MOD5272 345 bool "Netburner MOD-5272 board support" 346 depends on M5272 347 help 348 Support for the Netburner MOD-5272 board. 349 350if !MMU || COLDFIRE 351 352comment "Machine Options" 353 354config UBOOT 355 bool "Support for U-Boot command line parameters" 356 depends on COLDFIRE 357 help 358 If you say Y here kernel will try to collect command 359 line parameters from the initial u-boot stack. 360 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 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 382 hex "Size of RAM (in bytes), or 0 for automatic" 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 393 Define the address of the system vectors. Commonly this is 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 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 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. 432 433comment "ROM configuration" 434 435config ROM 436 bool "Specify ROM linker regions" 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 ROMVEC 443 hex "Address of the base of the ROM vectors" 444 default "0" 445 depends on ROM 446 help 447 This is almost always the same as the base of the ROM. Since on all 448 68000 type variants the vectors are at the base of the boot device 449 on system startup. 450 451config ROMSTART 452 hex "Address of the base of system image in ROM" 453 default "0x400" 454 depends on ROM 455 help 456 Define the start address of the system image in ROM. Commonly this 457 is strait after the ROM vectors. 458 459choice 460 prompt "Kernel executes from" 461 help 462 Choose the memory type that the kernel will be running in. 463 464config RAMKERNEL 465 bool "RAM" 466 help 467 The kernel will be resident in RAM when running. 468 469config ROMKERNEL 470 bool "ROM" 471 depends on ROM 472 help 473 The kernel will be resident in FLASH/ROM when running. This is 474 often referred to as Execute-in-Place (XIP), since the kernel 475 code executes from the position it is stored in the FLASH/ROM. 476 477endchoice 478 479endif # !MMU || COLDFIRE 480