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