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