xref: /linux/arch/m68k/Kconfig.machine (revision cdd30ebb1b9f36159d66f088b61aee264e649d7a)
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 RTC_CLASS
137	select RTC_DRV_GOLDFISH
138	select TTY
139	select VIRTIO_MENU
140	select VIRTIO_MMIO
141	help
142	  This options enable a pure virtual machine based on m68k,
143	  VIRTIO MMIO devices and GOLDFISH interfaces (TTY, RTC, PIC).
144
145config PILOT
146	bool
147
148config PILOT3
149	bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
150	depends on !MMU
151	select M68328
152	select PILOT
153	help
154	  Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
155
156config XCOPILOT_BUGS
157	bool "(X)Copilot support"
158	depends on PILOT3
159	help
160	  Support the bugs of Xcopilot.
161
162config UCSIMM
163	bool "uCsimm module support"
164	depends on !MMU
165	select M68EZ328
166	help
167	  Support for the Arcturus Networks uCsimm module.
168
169config UCDIMM
170	bool "uCdimm module support"
171	depends on !MMU
172	select M68VZ328
173	help
174	  Support for the Arcturus Networks uCdimm module.
175
176config DRAGEN2
177	bool "DragonEngine II board support"
178	depends on !MMU
179	select M68VZ328
180	help
181	  Support for the DragonEngine II board.
182
183config DIRECT_IO_ACCESS
184	bool "Allow user to access IO directly"
185	depends on (UCSIMM || UCDIMM || DRAGEN2)
186	help
187	  Disable the CPU internal registers protection in user mode,
188	  to allow a user application to read/write them.
189
190config INIT_LCD
191	bool "Initialize LCD"
192	depends on (UCSIMM || UCDIMM || DRAGEN2)
193	help
194	  Initialize the LCD controller of the 68x328 processor.
195
196config MEMORY_RESERVE
197	int "Memory reservation (MiB)"
198	depends on (UCSIMM || UCDIMM)
199	default 0
200	help
201	  Reserve certain memory regions on 68x328 based boards.
202
203endif # M68KCLASSIC
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	depends on COLDFIRE
332	help
333	  If you say Y here kernel will try to collect command
334	  line parameters from the initial u-boot stack.
335
336config 4KSTACKS
337	bool "Use 4Kb for kernel stacks instead of 8Kb"
338	default y
339	help
340	  If you say Y here the kernel will use a 4Kb stacksize for the
341	  kernel stack attached to each process/thread. This facilitates
342	  running more threads on a system and also reduces the pressure
343	  on the VM subsystem for higher order allocations.
344
345comment "RAM configuration"
346
347config RAMBASE
348	hex "Address of the base of RAM"
349	default "0"
350	help
351	  Define the address that RAM starts at. On many platforms this is
352	  0, the base of the address space. And this is the default. Some
353	  platforms choose to setup their RAM at other addresses within the
354	  processor address space.
355
356config RAMSIZE
357	hex "Size of RAM (in bytes), or 0 for automatic"
358	default "0x400000"
359	help
360	  Define the size of the system RAM. If you select 0 then the
361	  kernel will try to probe the RAM size at runtime. This is not
362	  supported on all CPU types.
363
364config VECTORBASE
365	hex "Address of the base of system vectors"
366	default "0"
367	help
368	  Define the address of the system vectors. Commonly this is
369	  put at the start of RAM, but it doesn't have to be. On ColdFire
370	  platforms this address is programmed into the VBR register, thus
371	  actually setting the address to use.
372
373config MBAR
374	hex "Address of the MBAR (internal peripherals)"
375	default "0x10000000"
376	depends on HAVE_MBAR
377	help
378	  Define the address of the internal system peripherals. This value
379	  is set in the processors MBAR register. This is generally setup by
380	  the boot loader, and will not be written by the kernel. By far most
381	  ColdFire boards use the default 0x10000000 value, so if unsure then
382	  use this.
383
384config IPSBAR
385	hex "Address of the IPSBAR (internal peripherals)"
386	default "0x40000000"
387	depends on HAVE_IPSBAR
388	help
389	  Define the address of the internal system peripherals. This value
390	  is set in the processors IPSBAR register. This is generally setup by
391	  the boot loader, and will not be written by the kernel. By far most
392	  ColdFire boards use the default 0x40000000 value, so if unsure then
393	  use this.
394
395config KERNELBASE
396	hex "Address of the base of kernel code"
397	default "0x400"
398	help
399	  Typically on m68k systems the kernel will not start at the base
400	  of RAM, but usually some small offset from it. Define the start
401	  address of the kernel here. The most common setup will have the
402	  processor vectors at the base of RAM and then the start of the
403	  kernel. On some platforms some RAM is reserved for boot loaders
404	  and the kernel starts after that. The 0x400 default was based on
405	  a system with the RAM based at address 0, and leaving enough room
406	  for the theoretical maximum number of 256 vectors.
407
408comment "ROM configuration"
409
410config ROM
411	bool "Specify ROM linker regions"
412	help
413	  Define a ROM region for the linker script. This creates a kernel
414	  that can be stored in flash, with possibly the text, and data
415	  regions being copied out to RAM at startup.
416
417config ROMVEC
418	hex "Address of the base of the ROM vectors"
419	default "0x10c10000"
420	depends on ROM
421	help
422	  This is almost always the same as the base of the ROM. Since on all
423	  68000 type variants the vectors are at the base of the boot device
424	  on system startup.
425
426config ROMSTART
427	hex "Address of the base of system image in ROM"
428	default "0x10c10400"
429	depends on ROM
430	help
431	  Define the start address of the system image in ROM. Commonly this
432	  is strait after the ROM vectors.
433
434choice
435	prompt "Kernel executes from"
436	help
437	  Choose the memory type that the kernel will be running in.
438
439config RAMKERNEL
440	bool "RAM"
441	help
442	  The kernel will be resident in RAM when running.
443
444config ROMKERNEL
445	bool "ROM"
446	depends on ROM
447	help
448	  The kernel will be resident in FLASH/ROM when running. This is
449	  often referred to as Execute-in-Place (XIP), since the kernel
450	  code executes from the position it is stored in the FLASH/ROM.
451
452endchoice
453
454endif # !MMU || COLDFIRE
455