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