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