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