xref: /openbmc/linux/arch/m68k/Kconfig.machine (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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/arch/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/arch/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 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 
170 config PILOT
171 	bool
172 
173 config 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 
181 config XCOPILOT_BUGS
182 	bool "(X)Copilot support"
183 	depends on PILOT3
184 	help
185 	  Support the bugs of Xcopilot.
186 
187 config UCSIMM
188 	bool "uCsimm module support"
189 	depends on !MMU
190 	select M68EZ328
191 	help
192 	  Support for the Arcturus Networks uCsimm module.
193 
194 config UCDIMM
195 	bool "uCdimm module support"
196 	depends on !MMU
197 	select M68VZ328
198 	help
199 	  Support for the Arcturus Networks uCdimm module.
200 
201 config DRAGEN2
202 	bool "DragonEngine II board support"
203 	depends on !MMU
204 	select M68VZ328
205 	help
206 	  Support for the DragonEngine II board.
207 
208 config 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 
215 config INIT_LCD
216 	bool "Initialize LCD"
217 	depends on (UCSIMM || UCDIMM || DRAGEN2)
218 	help
219 	  Initialize the LCD controller of the 68x328 processor.
220 
221 config 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 
228 endif # M68KCLASSIC
229 
230 config ARN5206
231 	bool "Arnewsh 5206 board support"
232 	depends on M5206
233 	help
234 	  Support for the Arnewsh 5206 board.
235 
236 config M5206eC3
237 	bool "Motorola M5206eC3 board support"
238 	depends on M5206e
239 	help
240 	  Support for the Motorola M5206eC3 board.
241 
242 config ELITE
243 	bool "Motorola M5206eLITE board support"
244 	depends on M5206e
245 	help
246 	  Support for the Motorola M5206eLITE board.
247 
248 config M5235EVB
249 	bool "Freescale M5235EVB support"
250 	depends on M523x
251 	help
252 	  Support for the Freescale M5235EVB board.
253 
254 config M5249C3
255 	bool "Motorola M5249C3 board support"
256 	depends on M5249
257 	help
258 	  Support for the Motorola M5249C3 board.
259 
260 config M5272C3
261 	bool "Motorola M5272C3 board support"
262 	depends on M5272
263 	help
264 	  Support for the Motorola M5272C3 board.
265 
266 config WILDFIRE
267 	bool "Intec Automation Inc. WildFire board support"
268 	depends on M528x
269 	help
270 	  Support for the Intec Automation Inc. WildFire.
271 
272 config 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 
278 config ARN5307
279 	bool "Arnewsh 5307 board support"
280 	depends on M5307
281 	help
282 	  Support for the Arnewsh 5307 board.
283 
284 config M5307C3
285 	bool "Motorola M5307C3 board support"
286 	depends on M5307
287 	help
288 	  Support for the Motorola M5307C3 board.
289 
290 config SECUREEDGEMP3
291 	bool "SnapGear SecureEdge/MP3 platform support"
292 	depends on M5307
293 	help
294 	  Support for the SnapGear SecureEdge/MP3 platform.
295 
296 config M5407C3
297 	bool "Motorola M5407C3 board support"
298 	depends on M5407
299 	help
300 	  Support for the Motorola M5407C3 board.
301 
302 config AMCORE
303 	bool "Sysam AMCORE board support"
304 	depends on M5307
305 	help
306 	  Support for the Sysam AMCORE open-hardware generic board.
307 
308 config STMARK2
309 	bool "Sysam stmark2 board support"
310 	depends on M5441x
311 	help
312 	  Support for the Sysam stmark2 open-hardware generic board.
313 
314 config FIREBEE
315 	bool "FireBee board support"
316 	depends on M547x
317 	help
318 	  Support for the FireBee ColdFire 5475 based board.
319 
320 config CLEOPATRA
321 	bool "Feith CLEOPATRA board support"
322 	depends on (M5307 || M5407)
323 	help
324 	  Support for the Feith Cleopatra boards.
325 
326 config CANCam
327 	bool "Feith CANCam board support"
328 	depends on M5272
329 	help
330 	  Support for the Feith CANCam board.
331 
332 config SCALES
333 	bool "Feith SCALES board support"
334 	depends on M5272
335 	help
336 	  Support for the Feith SCALES board.
337 
338 config 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 
344 config MOD5272
345 	bool "Netburner MOD-5272 board support"
346 	depends on M5272
347 	help
348 	  Support for the Netburner MOD-5272 board.
349 
350 if !MMU || COLDFIRE
351 
352 comment "Machine Options"
353 
354 config 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 
361 config 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 
370 comment "RAM configuration"
371 
372 config 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 
381 config 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 
389 config 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 
398 config 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 
409 config 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 
420 config 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 
433 comment "ROM configuration"
434 
435 config 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 
442 config 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 
451 config 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 
459 choice
460 	prompt "Kernel executes from"
461 	help
462 	  Choose the memory type that the kernel will be running in.
463 
464 config RAMKERNEL
465 	bool "RAM"
466 	help
467 	  The kernel will be resident in RAM when running.
468 
469 config 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 
477 endchoice
478 
479 endif # !MMU || COLDFIRE
480