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