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