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