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