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