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