xref: /openbmc/linux/arch/m68k/Kconfig.machine (revision 29d97219)
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 MAC
29	bool "Macintosh support"
30	depends on MMU
31	select MMU_MOTOROLA if MMU
32	select HAVE_ARCH_NVRAM_OPS
33	select LEGACY_TIMER_TICK
34	help
35	  This option enables support for the Apple Macintosh series of
36	  computers. If you plan to use this kernel on a Mac, say Y here and
37	  browse the documentation available at <http://www.mac.linux-m68k.org/>;
38	  otherwise say N.
39
40config APOLLO
41	bool "Apollo support"
42	depends on MMU
43	select MMU_MOTOROLA if 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	select MMU_MOTOROLA if MMU
53	help
54	  Say Y here if you want to build a kernel for a 680x0 based VME
55	  board.  Boards currently supported include Motorola boards MVME147,
56	  MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
57	  BVME6000 boards from BVM Ltd are also supported.
58
59config MVME147
60	bool "MVME147 support"
61	depends on MMU
62	depends on VME
63	select LEGACY_TIMER_TICK
64	help
65	  Say Y to include support for early Motorola VME boards.  This will
66	  build a kernel which can run on MVME147 single-board computers.  If
67	  you select this option you will have to select the appropriate
68	  drivers for SCSI, Ethernet and serial ports later on.
69
70config MVME16x
71	bool "MVME162, 166 and 167 support"
72	depends on MMU
73	depends on VME
74	select LEGACY_TIMER_TICK
75	help
76	  Say Y to include support for Motorola VME boards.  This will build a
77	  kernel which can run on MVME162, MVME166, MVME167, MVME172, and
78	  MVME177 boards.  If you select this option you will have to select
79	  the appropriate drivers for SCSI, Ethernet and serial ports later
80	  on.
81
82config BVME6000
83	bool "BVME4000 and BVME6000 support"
84	depends on MMU
85	depends on VME
86	select LEGACY_TIMER_TICK
87	help
88	  Say Y to include support for VME boards from BVM Ltd.  This will
89	  build a kernel which can run on BVME4000 and BVME6000 boards.  If
90	  you select this option you will have to select the appropriate
91	  drivers for SCSI, Ethernet and serial ports later on.
92
93config HP300
94	bool "HP9000/300 and HP9000/400 support"
95	depends on MMU
96	select MMU_MOTOROLA if MMU
97	select LEGACY_TIMER_TICK
98	help
99	  This option enables support for the HP9000/300 and HP9000/400 series
100	  of workstations. Support for these machines is still somewhat
101	  experimental. If you plan to try to use the kernel on such a machine
102	  say Y here.
103	  Everybody else says N.
104
105config SUN3X
106	bool "Sun3x support"
107	depends on MMU
108	select LEGACY_TIMER_TICK
109	select MMU_MOTOROLA if MMU
110	select M68030
111	help
112	  This option enables support for the Sun 3x series of workstations.
113	  Be warned that this support is very experimental.
114	  Note that Sun 3x kernels are not compatible with Sun 3 hardware.
115	  General Linux information on the Sun 3x series (now discontinued)
116	  is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
117
118	  If you don't want to compile a kernel for a Sun 3x, say N.
119
120config Q40
121	bool "Q40/Q60 support"
122	depends on MMU
123	select MMU_MOTOROLA if MMU
124	select LEGACY_TIMER_TICK
125	help
126	  The Q40 is a Motorola 68040-based successor to the Sinclair QL
127	  manufactured in Germany.  There is an official Q40 home page at
128	  <http://www.q40.de/>.  This option enables support for the Q40 and
129	  Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
130	  emulation.
131
132config SUN3
133	bool "Sun3 support"
134	depends on MMU
135	depends on !MMU_MOTOROLA
136	select MMU_SUN3 if MMU
137	select LEGACY_TIMER_TICK
138	select NO_DMA
139	select M68020
140	help
141	  This option enables support for the Sun 3 series of workstations
142	  (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
143	  that all other hardware types must be disabled, as Sun 3 kernels
144	  are incompatible with all other m68k targets (including Sun 3x!).
145
146	  If you don't want to compile a kernel exclusively for a Sun 3, say N.
147
148config PILOT
149	bool
150
151config PILOT3
152	bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
153	depends on !MMU
154	select M68328
155	select PILOT
156	help
157	  Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
158
159config XCOPILOT_BUGS
160	bool "(X)Copilot support"
161	depends on PILOT3
162	help
163	  Support the bugs of Xcopilot.
164
165config UCSIMM
166	bool "uCsimm module support"
167	depends on !MMU
168	select M68EZ328
169	help
170	  Support for the Arcturus Networks uCsimm module.
171
172config UCDIMM
173	bool "uDsimm module support"
174	depends on !MMU
175	select M68VZ328
176	help
177	  Support for the Arcturus Networks uDsimm module.
178
179config DRAGEN2
180	bool "DragenEngine II board support"
181	depends on !MMU
182	select M68VZ328
183	help
184	  Support for the DragenEngine II board.
185
186config DIRECT_IO_ACCESS
187	bool "Allow user to access IO directly"
188	depends on (UCSIMM || UCDIMM || DRAGEN2)
189	help
190	  Disable the CPU internal registers protection in user mode,
191	  to allow a user application to read/write them.
192
193config INIT_LCD
194	bool "Initialize LCD"
195	depends on (UCSIMM || UCDIMM || DRAGEN2)
196	help
197	  Initialize the LCD controller of the 68x328 processor.
198
199config MEMORY_RESERVE
200	int "Memory reservation (MiB)"
201	depends on (UCSIMM || UCDIMM)
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	help
334	  If you say Y here kernel will try to collect command
335	  line parameters from the initial u-boot stack.
336
337config 4KSTACKS
338	bool "Use 4Kb for kernel stacks instead of 8Kb"
339	default y
340	help
341	  If you say Y here the kernel will use a 4Kb stacksize for the
342	  kernel stack attached to each process/thread. This facilitates
343	  running more threads on a system and also reduces the pressure
344	  on the VM subsystem for higher order allocations.
345
346comment "RAM configuration"
347
348config RAMBASE
349	hex "Address of the base of RAM"
350	default "0"
351	help
352	  Define the address that RAM starts at. On many platforms this is
353	  0, the base of the address space. And this is the default. Some
354	  platforms choose to setup their RAM at other addresses within the
355	  processor address space.
356
357config RAMSIZE
358	hex "Size of RAM (in bytes), or 0 for automatic"
359	default "0x400000"
360	help
361	  Define the size of the system RAM. If you select 0 then the
362	  kernel will try to probe the RAM size at runtime. This is not
363	  supported on all CPU types.
364
365config VECTORBASE
366	hex "Address of the base of system vectors"
367	default "0"
368	help
369	  Define the address of the system vectors. Commonly this is
370	  put at the start of RAM, but it doesn't have to be. On ColdFire
371	  platforms this address is programmed into the VBR register, thus
372	  actually setting the address to use.
373
374config MBAR
375	hex "Address of the MBAR (internal peripherals)"
376	default "0x10000000"
377	depends on HAVE_MBAR
378	help
379	  Define the address of the internal system peripherals. This value
380	  is set in the processors MBAR register. This is generally setup by
381	  the boot loader, and will not be written by the kernel. By far most
382	  ColdFire boards use the default 0x10000000 value, so if unsure then
383	  use this.
384
385config IPSBAR
386	hex "Address of the IPSBAR (internal peripherals)"
387	default "0x40000000"
388	depends on HAVE_IPSBAR
389	help
390	  Define the address of the internal system peripherals. This value
391	  is set in the processors IPSBAR register. This is generally setup by
392	  the boot loader, and will not be written by the kernel. By far most
393	  ColdFire boards use the default 0x40000000 value, so if unsure then
394	  use this.
395
396config KERNELBASE
397	hex "Address of the base of kernel code"
398	default "0x400"
399	help
400	  Typically on m68k systems the kernel will not start at the base
401	  of RAM, but usually some small offset from it. Define the start
402	  address of the kernel here. The most common setup will have the
403	  processor vectors at the base of RAM and then the start of the
404	  kernel. On some platforms some RAM is reserved for boot loaders
405	  and the kernel starts after that. The 0x400 default was based on
406	  a system with the RAM based at address 0, and leaving enough room
407	  for the theoretical maximum number of 256 vectors.
408
409comment "ROM configuration"
410
411config ROM
412	bool "Specify ROM linker regions"
413	help
414	  Define a ROM region for the linker script. This creates a kernel
415	  that can be stored in flash, with possibly the text, and data
416	  regions being copied out to RAM at startup.
417
418config ROMBASE
419	hex "Address of the base of ROM device"
420	default "0"
421	depends on ROM
422	help
423	  Define the address that the ROM region starts at. Some platforms
424	  use this to set their chip select region accordingly for the boot
425	  device.
426
427config ROMVEC
428	hex "Address of the base of the ROM vectors"
429	default "0"
430	depends on ROM
431	help
432	  This is almost always the same as the base of the ROM. Since on all
433	  68000 type variants the vectors are at the base of the boot device
434	  on system startup.
435
436config ROMSTART
437	hex "Address of the base of system image in ROM"
438	default "0x400"
439	depends on ROM
440	help
441	  Define the start address of the system image in ROM. Commonly this
442	  is strait after the ROM vectors.
443
444config ROMSIZE
445	hex "Size of the ROM device"
446	default "0x100000"
447	depends on ROM
448	help
449	  Size of the ROM device. On some platforms this is used to setup
450	  the chip select that controls the boot ROM device.
451
452choice
453	prompt "Kernel executes from"
454	help
455	  Choose the memory type that the kernel will be running in.
456
457config RAMKERNEL
458	bool "RAM"
459	help
460	  The kernel will be resident in RAM when running.
461
462config ROMKERNEL
463	bool "ROM"
464	help
465	  The kernel will be resident in FLASH/ROM when running. This is
466	  often referred to as Execute-in-Place (XIP), since the kernel
467	  code executes from the position it is stored in the FLASH/ROM.
468
469endchoice
470
471endif
472