xref: /openbmc/linux/arch/m68k/Kconfig.machine (revision aa6159ab)
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. If you plan to use this kernel on a Mac, say Y here and
34	  browse the documentation available at <http://www.mac.linux-m68k.org/>;
35	  otherwise say N.
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 NO_DMA
128	select M68020
129	help
130	  This option enables support for the Sun 3 series of workstations
131	  (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
132	  that all other hardware types must be disabled, as Sun 3 kernels
133	  are incompatible with all other m68k targets (including Sun 3x!).
134
135	  If you don't want to compile a kernel exclusively for a Sun 3, say N.
136
137endif # M68KCLASSIC
138
139config PILOT
140	bool
141
142config PILOT3
143	bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
144	depends on M68328
145	select PILOT
146	help
147	  Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
148
149config XCOPILOT_BUGS
150	bool "(X)Copilot support"
151	depends on PILOT3
152	help
153	  Support the bugs of Xcopilot.
154
155config UCSIMM
156	bool "uCsimm module support"
157	depends on M68EZ328
158	help
159	  Support for the Arcturus Networks uCsimm module.
160
161config UCDIMM
162	bool "uDsimm module support"
163	depends on M68VZ328
164	help
165	  Support for the Arcturus Networks uDsimm module.
166
167config DRAGEN2
168	bool "DragenEngine II board support"
169	depends on M68VZ328
170	help
171	  Support for the DragenEngine II board.
172
173config DIRECT_IO_ACCESS
174	bool "Allow user to access IO directly"
175	depends on (UCSIMM || UCDIMM || DRAGEN2)
176	help
177	  Disable the CPU internal registers protection in user mode,
178	  to allow a user application to read/write them.
179
180config INIT_LCD
181	bool "Initialize LCD"
182	depends on (UCSIMM || UCDIMM || DRAGEN2)
183	help
184	  Initialize the LCD controller of the 68x328 processor.
185
186config MEMORY_RESERVE
187	int "Memory reservation (MiB)"
188	depends on (UCSIMM || UCDIMM)
189	help
190	  Reserve certain memory regions on 68x328 based boards.
191
192config ARN5206
193	bool "Arnewsh 5206 board support"
194	depends on M5206
195	help
196	  Support for the Arnewsh 5206 board.
197
198config M5206eC3
199	bool "Motorola M5206eC3 board support"
200	depends on M5206e
201	help
202	  Support for the Motorola M5206eC3 board.
203
204config ELITE
205	bool "Motorola M5206eLITE board support"
206	depends on M5206e
207	help
208	  Support for the Motorola M5206eLITE board.
209
210config M5235EVB
211	bool "Freescale M5235EVB support"
212	depends on M523x
213	help
214	  Support for the Freescale M5235EVB board.
215
216config M5249C3
217	bool "Motorola M5249C3 board support"
218	depends on M5249
219	help
220	  Support for the Motorola M5249C3 board.
221
222config M5272C3
223	bool "Motorola M5272C3 board support"
224	depends on M5272
225	help
226	  Support for the Motorola M5272C3 board.
227
228config WILDFIRE
229	bool "Intec Automation Inc. WildFire board support"
230	depends on M528x
231	help
232	  Support for the Intec Automation Inc. WildFire.
233
234config WILDFIREMOD
235	bool "Intec Automation Inc. WildFire module support"
236	depends on M528x
237	help
238	  Support for the Intec Automation Inc. WildFire module.
239
240config ARN5307
241	bool "Arnewsh 5307 board support"
242	depends on M5307
243	help
244	  Support for the Arnewsh 5307 board.
245
246config M5307C3
247	bool "Motorola M5307C3 board support"
248	depends on M5307
249	help
250	  Support for the Motorola M5307C3 board.
251
252config SECUREEDGEMP3
253	bool "SnapGear SecureEdge/MP3 platform support"
254	depends on M5307
255	help
256	  Support for the SnapGear SecureEdge/MP3 platform.
257
258config M5407C3
259	bool "Motorola M5407C3 board support"
260	depends on M5407
261	help
262	  Support for the Motorola M5407C3 board.
263
264config AMCORE
265	bool "Sysam AMCORE board support"
266	depends on M5307
267	help
268	  Support for the Sysam AMCORE open-hardware generic board.
269
270config STMARK2
271	bool "Sysam stmark2 board support"
272	depends on M5441x
273	help
274	  Support for the Sysam stmark2 open-hardware generic board.
275
276config FIREBEE
277	bool "FireBee board support"
278	depends on M547x
279	help
280	  Support for the FireBee ColdFire 5475 based board.
281
282config CLEOPATRA
283	bool "Feith CLEOPATRA board support"
284	depends on (M5307 || M5407)
285	help
286	  Support for the Feith Cleopatra boards.
287
288config CANCam
289	bool "Feith CANCam board support"
290	depends on M5272
291	help
292	  Support for the Feith CANCam board.
293
294config SCALES
295	bool "Feith SCALES board support"
296	depends on M5272
297	help
298	  Support for the Feith SCALES board.
299
300config NETtel
301	bool "SecureEdge/NETtel board support"
302	depends on (M5206e || M5272 || M5307)
303	help
304	  Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
305
306config MOD5272
307	bool "Netburner MOD-5272 board support"
308	depends on M5272
309	help
310	  Support for the Netburner MOD-5272 board.
311
312if !MMU || COLDFIRE
313
314comment "Machine Options"
315
316config UBOOT
317	bool "Support for U-Boot command line parameters"
318	help
319	  If you say Y here kernel will try to collect command
320	  line parameters from the initial u-boot stack.
321
322config 4KSTACKS
323	bool "Use 4Kb for kernel stacks instead of 8Kb"
324	default y
325	help
326	  If you say Y here the kernel will use a 4Kb stacksize for the
327	  kernel stack attached to each process/thread. This facilitates
328	  running more threads on a system and also reduces the pressure
329	  on the VM subsystem for higher order allocations.
330
331comment "RAM configuration"
332
333config RAMBASE
334	hex "Address of the base of RAM"
335	default "0"
336	help
337	  Define the address that RAM starts at. On many platforms this is
338	  0, the base of the address space. And this is the default. Some
339	  platforms choose to setup their RAM at other addresses within the
340	  processor address space.
341
342config RAMSIZE
343	hex "Size of RAM (in bytes), or 0 for automatic"
344	default "0x400000"
345	help
346	  Define the size of the system RAM. If you select 0 then the
347	  kernel will try to probe the RAM size at runtime. This is not
348	  supported on all CPU types.
349
350config VECTORBASE
351	hex "Address of the base of system vectors"
352	default "0"
353	help
354	  Define the address of the system vectors. Commonly this is
355	  put at the start of RAM, but it doesn't have to be. On ColdFire
356	  platforms this address is programmed into the VBR register, thus
357	  actually setting the address to use.
358
359config MBAR
360	hex "Address of the MBAR (internal peripherals)"
361	default "0x10000000"
362	depends on HAVE_MBAR
363	help
364	  Define the address of the internal system peripherals. This value
365	  is set in the processors MBAR register. This is generally setup by
366	  the boot loader, and will not be written by the kernel. By far most
367	  ColdFire boards use the default 0x10000000 value, so if unsure then
368	  use this.
369
370config IPSBAR
371	hex "Address of the IPSBAR (internal peripherals)"
372	default "0x40000000"
373	depends on HAVE_IPSBAR
374	help
375	  Define the address of the internal system peripherals. This value
376	  is set in the processors IPSBAR register. This is generally setup by
377	  the boot loader, and will not be written by the kernel. By far most
378	  ColdFire boards use the default 0x40000000 value, so if unsure then
379	  use this.
380
381config KERNELBASE
382	hex "Address of the base of kernel code"
383	default "0x400"
384	help
385	  Typically on m68k systems the kernel will not start at the base
386	  of RAM, but usually some small offset from it. Define the start
387	  address of the kernel here. The most common setup will have the
388	  processor vectors at the base of RAM and then the start of the
389	  kernel. On some platforms some RAM is reserved for boot loaders
390	  and the kernel starts after that. The 0x400 default was based on
391	  a system with the RAM based at address 0, and leaving enough room
392	  for the theoretical maximum number of 256 vectors.
393
394comment "ROM configuration"
395
396config ROM
397	bool "Specify ROM linker regions"
398	help
399	  Define a ROM region for the linker script. This creates a kernel
400	  that can be stored in flash, with possibly the text, and data
401	  regions being copied out to RAM at startup.
402
403config ROMBASE
404	hex "Address of the base of ROM device"
405	default "0"
406	depends on ROM
407	help
408	  Define the address that the ROM region starts at. Some platforms
409	  use this to set their chip select region accordingly for the boot
410	  device.
411
412config ROMVEC
413	hex "Address of the base of the ROM vectors"
414	default "0"
415	depends on ROM
416	help
417	  This is almost always the same as the base of the ROM. Since on all
418	  68000 type variants the vectors are at the base of the boot device
419	  on system startup.
420
421config ROMSTART
422	hex "Address of the base of system image in ROM"
423	default "0x400"
424	depends on ROM
425	help
426	  Define the start address of the system image in ROM. Commonly this
427	  is strait after the ROM vectors.
428
429config ROMSIZE
430	hex "Size of the ROM device"
431	default "0x100000"
432	depends on ROM
433	help
434	  Size of the ROM device. On some platforms this is used to setup
435	  the chip select that controls the boot ROM device.
436
437choice
438	prompt "Kernel executes from"
439	help
440	  Choose the memory type that the kernel will be running in.
441
442config RAMKERNEL
443	bool "RAM"
444	help
445	  The kernel will be resident in RAM when running.
446
447config ROMKERNEL
448	bool "ROM"
449	help
450	  The kernel will be resident in FLASH/ROM when running. This is
451	  often referred to as Execute-in-Place (XIP), since the kernel
452	  code executes from the position it is stored in the FLASH/ROM.
453
454endchoice
455
456endif
457