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/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/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_MMIO 165 help 166 This options enable a pure virtual machine based on m68k, 167 VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC) 168 169config PILOT 170 bool 171 172config PILOT3 173 bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support" 174 depends on !MMU 175 select M68328 176 select PILOT 177 help 178 Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII. 179 180config XCOPILOT_BUGS 181 bool "(X)Copilot support" 182 depends on PILOT3 183 help 184 Support the bugs of Xcopilot. 185 186config UCSIMM 187 bool "uCsimm module support" 188 depends on !MMU 189 select M68EZ328 190 help 191 Support for the Arcturus Networks uCsimm module. 192 193config UCDIMM 194 bool "uDsimm module support" 195 depends on !MMU 196 select M68VZ328 197 help 198 Support for the Arcturus Networks uDsimm module. 199 200config DRAGEN2 201 bool "DragenEngine II board support" 202 depends on !MMU 203 select M68VZ328 204 help 205 Support for the DragenEngine II board. 206 207config DIRECT_IO_ACCESS 208 bool "Allow user to access IO directly" 209 depends on (UCSIMM || UCDIMM || DRAGEN2) 210 help 211 Disable the CPU internal registers protection in user mode, 212 to allow a user application to read/write them. 213 214config INIT_LCD 215 bool "Initialize LCD" 216 depends on (UCSIMM || UCDIMM || DRAGEN2) 217 help 218 Initialize the LCD controller of the 68x328 processor. 219 220config MEMORY_RESERVE 221 int "Memory reservation (MiB)" 222 depends on (UCSIMM || UCDIMM) 223 default 0 224 help 225 Reserve certain memory regions on 68x328 based boards. 226 227endif # M68KCLASSIC 228 229config ARN5206 230 bool "Arnewsh 5206 board support" 231 depends on M5206 232 help 233 Support for the Arnewsh 5206 board. 234 235config M5206eC3 236 bool "Motorola M5206eC3 board support" 237 depends on M5206e 238 help 239 Support for the Motorola M5206eC3 board. 240 241config ELITE 242 bool "Motorola M5206eLITE board support" 243 depends on M5206e 244 help 245 Support for the Motorola M5206eLITE board. 246 247config M5235EVB 248 bool "Freescale M5235EVB support" 249 depends on M523x 250 help 251 Support for the Freescale M5235EVB board. 252 253config M5249C3 254 bool "Motorola M5249C3 board support" 255 depends on M5249 256 help 257 Support for the Motorola M5249C3 board. 258 259config M5272C3 260 bool "Motorola M5272C3 board support" 261 depends on M5272 262 help 263 Support for the Motorola M5272C3 board. 264 265config WILDFIRE 266 bool "Intec Automation Inc. WildFire board support" 267 depends on M528x 268 help 269 Support for the Intec Automation Inc. WildFire. 270 271config WILDFIREMOD 272 bool "Intec Automation Inc. WildFire module support" 273 depends on M528x 274 help 275 Support for the Intec Automation Inc. WildFire module. 276 277config ARN5307 278 bool "Arnewsh 5307 board support" 279 depends on M5307 280 help 281 Support for the Arnewsh 5307 board. 282 283config M5307C3 284 bool "Motorola M5307C3 board support" 285 depends on M5307 286 help 287 Support for the Motorola M5307C3 board. 288 289config SECUREEDGEMP3 290 bool "SnapGear SecureEdge/MP3 platform support" 291 depends on M5307 292 help 293 Support for the SnapGear SecureEdge/MP3 platform. 294 295config M5407C3 296 bool "Motorola M5407C3 board support" 297 depends on M5407 298 help 299 Support for the Motorola M5407C3 board. 300 301config AMCORE 302 bool "Sysam AMCORE board support" 303 depends on M5307 304 help 305 Support for the Sysam AMCORE open-hardware generic board. 306 307config STMARK2 308 bool "Sysam stmark2 board support" 309 depends on M5441x 310 help 311 Support for the Sysam stmark2 open-hardware generic board. 312 313config FIREBEE 314 bool "FireBee board support" 315 depends on M547x 316 help 317 Support for the FireBee ColdFire 5475 based board. 318 319config CLEOPATRA 320 bool "Feith CLEOPATRA board support" 321 depends on (M5307 || M5407) 322 help 323 Support for the Feith Cleopatra boards. 324 325config CANCam 326 bool "Feith CANCam board support" 327 depends on M5272 328 help 329 Support for the Feith CANCam board. 330 331config SCALES 332 bool "Feith SCALES board support" 333 depends on M5272 334 help 335 Support for the Feith SCALES board. 336 337config NETtel 338 bool "SecureEdge/NETtel board support" 339 depends on (M5206e || M5272 || M5307) 340 help 341 Support for the SnapGear NETtel/SecureEdge/SnapGear boards. 342 343config MOD5272 344 bool "Netburner MOD-5272 board support" 345 depends on M5272 346 help 347 Support for the Netburner MOD-5272 board. 348 349if !MMU || COLDFIRE 350 351comment "Machine Options" 352 353config UBOOT 354 bool "Support for U-Boot command line parameters" 355 depends on COLDFIRE 356 help 357 If you say Y here kernel will try to collect command 358 line parameters from the initial u-boot stack. 359 360config 4KSTACKS 361 bool "Use 4Kb for kernel stacks instead of 8Kb" 362 default y 363 help 364 If you say Y here the kernel will use a 4Kb stacksize for the 365 kernel stack attached to each process/thread. This facilitates 366 running more threads on a system and also reduces the pressure 367 on the VM subsystem for higher order allocations. 368 369comment "RAM configuration" 370 371config RAMBASE 372 hex "Address of the base of RAM" 373 default "0" 374 help 375 Define the address that RAM starts at. On many platforms this is 376 0, the base of the address space. And this is the default. Some 377 platforms choose to setup their RAM at other addresses within the 378 processor address space. 379 380config RAMSIZE 381 hex "Size of RAM (in bytes), or 0 for automatic" 382 default "0x400000" 383 help 384 Define the size of the system RAM. If you select 0 then the 385 kernel will try to probe the RAM size at runtime. This is not 386 supported on all CPU types. 387 388config VECTORBASE 389 hex "Address of the base of system vectors" 390 default "0" 391 help 392 Define the address of the system vectors. Commonly this is 393 put at the start of RAM, but it doesn't have to be. On ColdFire 394 platforms this address is programmed into the VBR register, thus 395 actually setting the address to use. 396 397config MBAR 398 hex "Address of the MBAR (internal peripherals)" 399 default "0x10000000" 400 depends on HAVE_MBAR 401 help 402 Define the address of the internal system peripherals. This value 403 is set in the processors MBAR register. This is generally setup by 404 the boot loader, and will not be written by the kernel. By far most 405 ColdFire boards use the default 0x10000000 value, so if unsure then 406 use this. 407 408config IPSBAR 409 hex "Address of the IPSBAR (internal peripherals)" 410 default "0x40000000" 411 depends on HAVE_IPSBAR 412 help 413 Define the address of the internal system peripherals. This value 414 is set in the processors IPSBAR register. This is generally setup by 415 the boot loader, and will not be written by the kernel. By far most 416 ColdFire boards use the default 0x40000000 value, so if unsure then 417 use this. 418 419config KERNELBASE 420 hex "Address of the base of kernel code" 421 default "0x400" 422 help 423 Typically on m68k systems the kernel will not start at the base 424 of RAM, but usually some small offset from it. Define the start 425 address of the kernel here. The most common setup will have the 426 processor vectors at the base of RAM and then the start of the 427 kernel. On some platforms some RAM is reserved for boot loaders 428 and the kernel starts after that. The 0x400 default was based on 429 a system with the RAM based at address 0, and leaving enough room 430 for the theoretical maximum number of 256 vectors. 431 432comment "ROM configuration" 433 434config ROM 435 bool "Specify ROM linker regions" 436 help 437 Define a ROM region for the linker script. This creates a kernel 438 that can be stored in flash, with possibly the text, and data 439 regions being copied out to RAM at startup. 440 441config ROMBASE 442 hex "Address of the base of ROM device" 443 default "0" 444 depends on ROM 445 help 446 Define the address that the ROM region starts at. Some platforms 447 use this to set their chip select region accordingly for the boot 448 device. 449 450config ROMVEC 451 hex "Address of the base of the ROM vectors" 452 default "0" 453 depends on ROM 454 help 455 This is almost always the same as the base of the ROM. Since on all 456 68000 type variants the vectors are at the base of the boot device 457 on system startup. 458 459config ROMSTART 460 hex "Address of the base of system image in ROM" 461 default "0x400" 462 depends on ROM 463 help 464 Define the start address of the system image in ROM. Commonly this 465 is strait after the ROM vectors. 466 467config ROMSIZE 468 hex "Size of the ROM device" 469 default "0x100000" 470 depends on ROM 471 help 472 Size of the ROM device. On some platforms this is used to setup 473 the chip select that controls the boot ROM device. 474 475choice 476 prompt "Kernel executes from" 477 help 478 Choose the memory type that the kernel will be running in. 479 480config RAMKERNEL 481 bool "RAM" 482 help 483 The kernel will be resident in RAM when running. 484 485config ROMKERNEL 486 bool "ROM" 487 depends on ROM 488 help 489 The kernel will be resident in FLASH/ROM when running. This is 490 often referred to as Execute-in-Place (XIP), since the kernel 491 code executes from the position it is stored in the FLASH/ROM. 492 493endchoice 494 495endif 496