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