m68k: reorganize Kconfig options to improve mmu/non-mmu selections
[pandora-kernel.git] / arch / m68k / Kconfig.machine
1 comment "Machine Types"
2
3 config AMIGA
4         bool "Amiga support"
5         depends on MMU
6         select MMU_MOTOROLA if MMU
7         help
8           This option enables support for the Amiga series of computers. If
9           you plan to use this kernel on an Amiga, say Y here and browse the
10           material available in <file:Documentation/m68k>; otherwise say N.
11
12 config ATARI
13         bool "Atari support"
14         depends on MMU
15         select MMU_MOTOROLA if MMU
16         help
17           This option enables support for the 68000-based Atari series of
18           computers (including the TT, Falcon and Medusa). If you plan to use
19           this kernel on an Atari, say Y here and browse the material
20           available in <file:Documentation/m68k>; otherwise say N.
21
22 config MAC
23         bool "Macintosh support"
24         depends on MMU
25         select MMU_MOTOROLA if MMU
26         help
27           This option enables support for the Apple Macintosh series of
28           computers (yes, there is experimental support now, at least for part
29           of the series).
30
31           Say N unless you're willing to code the remaining necessary support.
32           ;)
33
34 config APOLLO
35         bool "Apollo support"
36         depends on MMU
37         select MMU_MOTOROLA if MMU
38         help
39           Say Y here if you want to run Linux on an MC680x0-based Apollo
40           Domain workstation such as the DN3500.
41
42 config VME
43         bool "VME (Motorola and BVM) support"
44         depends on MMU
45         select MMU_MOTOROLA if MMU
46         help
47           Say Y here if you want to build a kernel for a 680x0 based VME
48           board.  Boards currently supported include Motorola boards MVME147,
49           MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
50           BVME6000 boards from BVM Ltd are also supported.
51
52 config MVME147
53         bool "MVME147 support"
54         depends on MMU
55         depends on VME
56         help
57           Say Y to include support for early Motorola VME boards.  This will
58           build a kernel which can run on MVME147 single-board computers.  If
59           you select this option you will have to select the appropriate
60           drivers for SCSI, Ethernet and serial ports later on.
61
62 config MVME16x
63         bool "MVME162, 166 and 167 support"
64         depends on MMU
65         depends on VME
66         help
67           Say Y to include support for Motorola VME boards.  This will build a
68           kernel which can run on MVME162, MVME166, MVME167, MVME172, and
69           MVME177 boards.  If you select this option you will have to select
70           the appropriate drivers for SCSI, Ethernet and serial ports later
71           on.
72
73 config BVME6000
74         bool "BVME4000 and BVME6000 support"
75         depends on MMU
76         depends on VME
77         help
78           Say Y to include support for VME boards from BVM Ltd.  This will
79           build a kernel which can run on BVME4000 and BVME6000 boards.  If
80           you select this option you will have to select the appropriate
81           drivers for SCSI, Ethernet and serial ports later on.
82
83 config HP300
84         bool "HP9000/300 and HP9000/400 support"
85         depends on MMU
86         select MMU_MOTOROLA if MMU
87         help
88           This option enables support for the HP9000/300 and HP9000/400 series
89           of workstations. Support for these machines is still somewhat
90           experimental. If you plan to try to use the kernel on such a machine
91           say Y here.
92           Everybody else says N.
93
94 config SUN3X
95         bool "Sun3x support"
96         depends on MMU
97         select MMU_MOTOROLA if MMU
98         select M68030
99         help
100           This option enables support for the Sun 3x series of workstations.
101           Be warned that this support is very experimental.
102           Note that Sun 3x kernels are not compatible with Sun 3 hardware.
103           General Linux information on the Sun 3x series (now discontinued)
104           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
105
106           If you don't want to compile a kernel for a Sun 3x, say N.
107
108 config Q40
109         bool "Q40/Q60 support"
110         depends on MMU
111         select MMU_MOTOROLA if MMU
112         help
113           The Q40 is a Motorola 68040-based successor to the Sinclair QL
114           manufactured in Germany.  There is an official Q40 home page at
115           <http://www.q40.de/>.  This option enables support for the Q40 and
116           Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
117           emulation.
118
119 config SUN3
120         bool "Sun3 support"
121         depends on MMU
122         depends on !MMU_MOTOROLA
123         select MMU_SUN3 if MMU
124         select M68020
125         help
126           This option enables support for the Sun 3 series of workstations
127           (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
128           that all other hardware types must be disabled, as Sun 3 kernels
129           are incompatible with all other m68k targets (including Sun 3x!).
130
131           If you don't want to compile a kernel exclusively for a Sun 3, say N.
132
133 config PILOT
134         bool
135
136 config PILOT3
137         bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
138         depends on M68328
139         select PILOT
140         help
141           Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
142
143 config XCOPILOT_BUGS
144         bool "(X)Copilot support"
145         depends on PILOT3
146         help
147           Support the bugs of Xcopilot.
148
149 config UC5272
150         bool "Arcturus Networks uC5272 dimm board support"
151         depends on M5272
152         help
153           Support for the Arcturus Networks uC5272 dimm board.
154
155 config UC5282
156         bool "Arcturus Networks uC5282 board support"
157         depends on M528x
158         help
159           Support for the Arcturus Networks uC5282 dimm board.
160
161 config UCSIMM
162         bool "uCsimm module support"
163         depends on M68EZ328
164         help
165           Support for the Arcturus Networks uCsimm module.
166
167 config UCDIMM
168         bool "uDsimm module support"
169         depends on M68VZ328
170         help
171           Support for the Arcturus Networks uDsimm module.
172
173 config DRAGEN2
174         bool "DragenEngine II board support"
175         depends on M68VZ328
176         help
177           Support for the DragenEngine II board.
178
179 config DIRECT_IO_ACCESS
180         bool "Allow user to access IO directly"
181         depends on (UCSIMM || UCDIMM || DRAGEN2)
182         help
183           Disable the CPU internal registers protection in user mode,
184           to allow a user application to read/write them.
185
186 config INIT_LCD
187         bool "Initialize LCD"
188         depends on (UCSIMM || UCDIMM || DRAGEN2)
189         help
190           Initialize the LCD controller of the 68x328 processor.
191
192 config MEMORY_RESERVE
193         int "Memory reservation (MiB)"
194         depends on (UCSIMM || UCDIMM)
195         help
196           Reserve certain memory regions on 68x328 based boards.
197
198 config UCQUICC
199         bool "Lineo uCquicc board support"
200         depends on M68360
201         help
202           Support for the Lineo uCquicc board.
203
204 config ARNEWSH
205         bool
206
207 config ARN5206
208         bool "Arnewsh 5206 board support"
209         depends on M5206
210         select ARNEWSH
211         help
212           Support for the Arnewsh 5206 board.
213
214 config FREESCALE
215         bool
216
217 config M5206eC3
218         bool "Motorola M5206eC3 board support"
219         depends on M5206e
220         select FREESCALE
221         help
222           Support for the Motorola M5206eC3 board.
223
224 config ELITE
225         bool "Motorola M5206eLITE board support"
226         depends on M5206e
227         help
228           Support for the Motorola M5206eLITE board.
229
230 config M5208EVB
231         bool "Freescale M5208EVB board support"
232         depends on M520x
233         select FREESCALE
234         help
235           Support for the Freescale Coldfire M5208EVB.
236
237 config M5235EVB
238         bool "Freescale M5235EVB support"
239         depends on M523x
240         select FREESCALE
241         help
242           Support for the Freescale M5235EVB board.
243
244 config M5249C3
245         bool "Motorola M5249C3 board support"
246         depends on M5249
247         select FREESCALE
248         help
249           Support for the Motorola M5249C3 board.
250
251 config M5271EVB
252         bool "Freescale (Motorola) M5271EVB board support"
253         depends on M5271
254         select FREESCALE
255         help
256           Support for the Freescale (Motorola) M5271EVB board.
257
258 config M5275EVB
259         bool "Freescale (Motorola) M5275EVB board support"
260         depends on M5275
261         select FREESCALE
262         help
263           Support for the Freescale (Motorola) M5275EVB board.
264
265 config M5272C3
266         bool "Motorola M5272C3 board support"
267         depends on M5272
268         select FREESCALE
269         help
270           Support for the Motorola M5272C3 board.
271
272 config senTec
273         bool
274
275 config COBRA5272
276         bool "senTec COBRA5272 board support"
277         depends on M5272
278         select senTec
279         help
280           Support for the senTec COBRA5272 board.
281
282 config AVNET
283         bool
284
285 config AVNET5282
286         bool "Avnet 5282 board support"
287         depends on M528x
288         select AVNET
289         help
290           Support for the Avnet 5282 board.
291
292 config M5282EVB
293         bool "Motorola M5282EVB board support"
294         depends on M528x
295         select FREESCALE
296         help
297           Support for the Motorola M5282EVB board.
298
299 config COBRA5282
300         bool "senTec COBRA5282 board support"
301         depends on M528x
302         select senTec
303         help
304           Support for the senTec COBRA5282 board.
305
306 config EMAC_INC
307         bool
308
309 config SOM5282EM
310         bool "EMAC.Inc SOM5282EM board support"
311         depends on M528x
312         select EMAC_INC
313         help
314           Support for the EMAC.Inc SOM5282EM module.
315
316 config WILDFIRE
317         bool "Intec Automation Inc. WildFire board support"
318         depends on M528x
319         help
320           Support for the Intec Automation Inc. WildFire.
321
322 config WILDFIREMOD
323         bool "Intec Automation Inc. WildFire module support"
324         depends on M528x
325         help
326           Support for the Intec Automation Inc. WildFire module.
327
328 config ARN5307
329         bool "Arnewsh 5307 board support"
330         depends on M5307
331         select ARNEWSH
332         help
333           Support for the Arnewsh 5307 board.
334
335 config M5307C3
336         bool "Motorola M5307C3 board support"
337         depends on M5307
338         select FREESCALE
339         help
340           Support for the Motorola M5307C3 board.
341
342 config SECUREEDGEMP3
343         bool "SnapGear SecureEdge/MP3 platform support"
344         depends on M5307
345         help
346           Support for the SnapGear SecureEdge/MP3 platform.
347
348 config M5329EVB
349         bool "Freescale (Motorola) M5329EVB board support"
350         depends on M532x
351         select FREESCALE
352         help
353           Support for the Freescale (Motorola) M5329EVB board.
354
355 config COBRA5329
356         bool "senTec COBRA5329 board support"
357         depends on M532x
358         help
359           Support for the senTec COBRA5329 board.
360
361 config M5407C3
362         bool "Motorola M5407C3 board support"
363         depends on M5407
364         select FREESCALE
365         help
366           Support for the Motorola M5407C3 board.
367
368 config FIREBEE
369         bool "FireBee board support"
370         depends on M547x
371         help
372           Support for the FireBee ColdFire 5475 based board.
373
374 config HW_FEITH
375         bool
376
377 config CLEOPATRA
378         bool "Feith CLEOPATRA board support"
379         depends on (M5307 || M5407)
380         select HW_FEITH
381         help
382           Support for the Feith Cleopatra boards.
383
384 config CANCam
385         bool "Feith CANCam board support"
386         depends on M5272
387         select HW_FEITH
388         help
389           Support for the Feith CANCam board.
390
391 config SCALES
392         bool "Feith SCALES board support"
393         depends on M5272
394         select HW_FEITH
395         help
396           Support for the Feith SCALES board.
397
398 config NETtel
399         bool "SecureEdge/NETtel board support"
400         depends on (M5206e || M5272 || M5307)
401         help
402           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
403
404 config SNAPGEAR
405         bool "SnapGear router board support"
406         depends on NETtel
407         help
408           Special additional support for SnapGear router boards.
409
410 config SNEHA
411         bool
412
413 config CPU16B
414         bool "Sneha Technologies S.L. Sarasvati board support"
415         depends on M5272
416         select SNEHA
417         help
418           Support for the SNEHA CPU16B board.
419
420 config MOD5272
421         bool "Netburner MOD-5272 board support"
422         depends on M5272
423         help
424           Support for the Netburner MOD-5272 board.
425
426 config SAVANT
427         bool
428
429 config SAVANTrosie1
430         bool "Savant Rosie1 board support"
431         depends on M523x
432         select SAVANT
433         help
434           Support for the Savant Rosie1 board.
435
436
437 if !MMU || COLDFIRE
438
439 comment "Machine Options"
440
441 config ROMFS_FROM_ROM
442         bool "ROMFS image not RAM resident"
443         depends on (NETtel || SNAPGEAR)
444         help
445           The ROMfs filesystem will stay resident in the FLASH/ROM, not be
446           moved into RAM.
447
448 config UBOOT
449         bool "Support for U-Boot command line parameters"
450         help
451           If you say Y here kernel will try to collect command
452           line parameters from the initial u-boot stack.
453         default n
454
455 config 4KSTACKS
456         bool "Use 4Kb for kernel stacks instead of 8Kb"
457         default y
458         help
459           If you say Y here the kernel will use a 4Kb stacksize for the
460           kernel stack attached to each process/thread. This facilitates
461           running more threads on a system and also reduces the pressure
462           on the VM subsystem for higher order allocations.
463
464 comment "RAM configuration"
465
466 config RAMBASE
467         hex "Address of the base of RAM"
468         default "0"
469         help
470           Define the address that RAM starts at. On many platforms this is
471           0, the base of the address space. And this is the default. Some
472           platforms choose to setup their RAM at other addresses within the
473           processor address space.
474
475 config RAMSIZE
476         hex "Size of RAM (in bytes), or 0 for automatic"
477         default "0x400000"
478         help
479           Define the size of the system RAM. If you select 0 then the
480           kernel will try to probe the RAM size at runtime. This is not
481           supported on all CPU types.
482
483 config VECTORBASE
484         hex "Address of the base of system vectors"
485         default "0"
486         help
487           Define the address of the system vectors. Commonly this is
488           put at the start of RAM, but it doesn't have to be. On ColdFire
489           platforms this address is programmed into the VBR register, thus
490           actually setting the address to use.
491
492 config MBAR
493         hex "Address of the MBAR (internal peripherals)"
494         default "0x10000000"
495         depends on HAVE_MBAR
496         help
497           Define the address of the internal system peripherals. This value
498           is set in the processors MBAR register. This is generally setup by
499           the boot loader, and will not be written by the kernel. By far most
500           ColdFire boards use the default 0x10000000 value, so if unsure then
501           use this.
502
503 config IPSBAR
504         hex "Address of the IPSBAR (internal peripherals)"
505         default "0x40000000"
506         depends on HAVE_IPSBAR
507         help
508           Define the address of the internal system peripherals. This value
509           is set in the processors IPSBAR register. This is generally setup by
510           the boot loader, and will not be written by the kernel. By far most
511           ColdFire boards use the default 0x40000000 value, so if unsure then
512           use this.
513
514 config KERNELBASE
515         hex "Address of the base of kernel code"
516         default "0x400"
517         help
518           Typically on m68k systems the kernel will not start at the base
519           of RAM, but usually some small offset from it. Define the start
520           address of the kernel here. The most common setup will have the
521           processor vectors at the base of RAM and then the start of the
522           kernel. On some platforms some RAM is reserved for boot loaders
523           and the kernel starts after that. The 0x400 default was based on
524           a system with the RAM based at address 0, and leaving enough room
525           for the theoretical maximum number of 256 vectors.
526
527 choice
528         prompt "RAM bus width"
529         default RAMAUTOBIT
530
531 config RAMAUTOBIT
532         bool "AUTO"
533         help
534           Select the physical RAM data bus size. Not needed on most platforms,
535           so you can generally choose AUTO.
536
537 config RAM8BIT
538         bool "8bit"
539         help
540           Configure RAM bus to be 8 bits wide.
541
542 config RAM16BIT
543         bool "16bit"
544         help
545           Configure RAM bus to be 16 bits wide.
546
547 config RAM32BIT
548         bool "32bit"
549         help
550           Configure RAM bus to be 32 bits wide.
551
552 endchoice
553
554 comment "ROM configuration"
555
556 config ROM
557         bool "Specify ROM linker regions"
558         default n
559         help
560           Define a ROM region for the linker script. This creates a kernel
561           that can be stored in flash, with possibly the text, and data
562           regions being copied out to RAM at startup.
563
564 config ROMBASE
565         hex "Address of the base of ROM device"
566         default "0"
567         depends on ROM
568         help
569           Define the address that the ROM region starts at. Some platforms
570           use this to set their chip select region accordingly for the boot
571           device.
572
573 config ROMVEC
574         hex "Address of the base of the ROM vectors"
575         default "0"
576         depends on ROM
577         help
578           This is almost always the same as the base of the ROM. Since on all
579           68000 type variants the vectors are at the base of the boot device
580           on system startup.
581
582 config ROMVECSIZE
583         hex "Size of ROM vector region (in bytes)"
584         default "0x400"
585         depends on ROM
586         help
587           Define the size of the vector region in ROM. For most 68000
588           variants this would be 0x400 bytes in size. Set to 0 if you do
589           not want a vector region at the start of the ROM.
590
591 config ROMSTART
592         hex "Address of the base of system image in ROM"
593         default "0x400"
594         depends on ROM
595         help
596           Define the start address of the system image in ROM. Commonly this
597           is strait after the ROM vectors.
598
599 config ROMSIZE
600         hex "Size of the ROM device"
601         default "0x100000"
602         depends on ROM
603         help
604           Size of the ROM device. On some platforms this is used to setup
605           the chip select that controls the boot ROM device.
606
607 choice
608         prompt "Kernel executes from"
609         ---help---
610           Choose the memory type that the kernel will be running in.
611
612 config RAMKERNEL
613         bool "RAM"
614         help
615           The kernel will be resident in RAM when running.
616
617 config ROMKERNEL
618         bool "ROM"
619         help
620           The kernel will be resident in FLASH/ROM when running. This is
621           often referred to as Execute-in-Place (XIP), since the kernel
622           code executes from the position it is stored in the FLASH/ROM.
623
624 endchoice
625
626 endif