treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / m68k / Kconfig.machine
blobc01e103492fdc2e8b3edf92d71090b327e862f54
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         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.
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.
26 config 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).
36           Say N unless you're willing to code the remaining necessary support.
37           ;)
39 config 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.
47 config 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.
57 config 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.
67 config 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.
78 config 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.
88 config 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.
99 config 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>.
111           If you don't want to compile a kernel for a Sun 3x, say N.
113 config 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.
124 config 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!).
136           If you don't want to compile a kernel exclusively for a Sun 3, say N.
138 endif # M68KCLASSIC
140 config PILOT
141         bool
143 config 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.
150 config XCOPILOT_BUGS
151         bool "(X)Copilot support"
152         depends on PILOT3
153         help
154           Support the bugs of Xcopilot.
156 config UCSIMM
157         bool "uCsimm module support"
158         depends on M68EZ328
159         help
160           Support for the Arcturus Networks uCsimm module.
162 config UCDIMM
163         bool "uDsimm module support"
164         depends on M68VZ328
165         help
166           Support for the Arcturus Networks uDsimm module.
168 config DRAGEN2
169         bool "DragenEngine II board support"
170         depends on M68VZ328
171         help
172           Support for the DragenEngine II board.
174 config 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.
181 config INIT_LCD
182         bool "Initialize LCD"
183         depends on (UCSIMM || UCDIMM || DRAGEN2)
184         help
185           Initialize the LCD controller of the 68x328 processor.
187 config MEMORY_RESERVE
188         int "Memory reservation (MiB)"
189         depends on (UCSIMM || UCDIMM)
190         help
191           Reserve certain memory regions on 68x328 based boards.
193 config ARN5206
194         bool "Arnewsh 5206 board support"
195         depends on M5206
196         help
197           Support for the Arnewsh 5206 board.
199 config M5206eC3
200         bool "Motorola M5206eC3 board support"
201         depends on M5206e
202         help
203           Support for the Motorola M5206eC3 board.
205 config ELITE
206         bool "Motorola M5206eLITE board support"
207         depends on M5206e
208         help
209           Support for the Motorola M5206eLITE board.
211 config M5235EVB
212         bool "Freescale M5235EVB support"
213         depends on M523x
214         help
215           Support for the Freescale M5235EVB board.
217 config M5249C3
218         bool "Motorola M5249C3 board support"
219         depends on M5249
220         help
221           Support for the Motorola M5249C3 board.
223 config M5272C3
224         bool "Motorola M5272C3 board support"
225         depends on M5272
226         help
227           Support for the Motorola M5272C3 board.
229 config WILDFIRE
230         bool "Intec Automation Inc. WildFire board support"
231         depends on M528x
232         help
233           Support for the Intec Automation Inc. WildFire.
235 config WILDFIREMOD
236         bool "Intec Automation Inc. WildFire module support"
237         depends on M528x
238         help
239           Support for the Intec Automation Inc. WildFire module.
241 config ARN5307
242         bool "Arnewsh 5307 board support"
243         depends on M5307
244         help
245           Support for the Arnewsh 5307 board.
247 config M5307C3
248         bool "Motorola M5307C3 board support"
249         depends on M5307
250         help
251           Support for the Motorola M5307C3 board.
253 config SECUREEDGEMP3
254         bool "SnapGear SecureEdge/MP3 platform support"
255         depends on M5307
256         help
257           Support for the SnapGear SecureEdge/MP3 platform.
259 config M5407C3
260         bool "Motorola M5407C3 board support"
261         depends on M5407
262         help
263           Support for the Motorola M5407C3 board.
265 config AMCORE
266         bool "Sysam AMCORE board support"
267         depends on M5307
268         help
269           Support for the Sysam AMCORE open-hardware generic board.
271 config STMARK2
272         bool "Sysam stmark2 board support"
273         depends on M5441x
274         help
275           Support for the Sysam stmark2 open-hardware generic board.
277 config FIREBEE
278         bool "FireBee board support"
279         depends on M547x
280         help
281           Support for the FireBee ColdFire 5475 based board.
283 config CLEOPATRA
284         bool "Feith CLEOPATRA board support"
285         depends on (M5307 || M5407)
286         help
287           Support for the Feith Cleopatra boards.
289 config CANCam
290         bool "Feith CANCam board support"
291         depends on M5272
292         help
293           Support for the Feith CANCam board.
295 config SCALES
296         bool "Feith SCALES board support"
297         depends on M5272
298         help
299           Support for the Feith SCALES board.
301 config NETtel
302         bool "SecureEdge/NETtel board support"
303         depends on (M5206e || M5272 || M5307)
304         help
305           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
307 config MOD5272
308         bool "Netburner MOD-5272 board support"
309         depends on M5272
310         help
311           Support for the Netburner MOD-5272 board.
313 if !MMU || COLDFIRE
315 comment "Machine Options"
317 config 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.
323 config 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.
332 comment "RAM configuration"
334 config 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.
343 config 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.
351 config 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.
360 config 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.
371 config 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.
382 config 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.
395 comment "ROM configuration"
397 config 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.
404 config 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.
413 config 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.
422 config 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.
430 config 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.
438 choice
439         prompt "Kernel executes from"
440         ---help---
441           Choose the memory type that the kernel will be running in.
443 config RAMKERNEL
444         bool "RAM"
445         help
446           The kernel will be resident in RAM when running.
448 config 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.
455 endchoice
457 endif