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