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