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