[PATCH] Add retain_initrd boot option
[linux-2.6.git] / arch / m68knommu / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "uClinux/68k (w/o MMU) Kernel Configuration"
7
8 config M68K
9         bool
10         default y
11
12 config MMU
13         bool
14         default n
15
16 config FPU
17         bool
18         default n
19
20 config ZONE_DMA
21         bool
22         default y
23
24 config RWSEM_GENERIC_SPINLOCK
25         bool
26         default y
27
28 config RWSEM_XCHGADD_ALGORITHM
29         bool
30         default n
31
32 config ARCH_HAS_ILOG2_U32
33         bool
34         default n
35
36 config ARCH_HAS_ILOG2_U64
37         bool
38         default n
39
40 config GENERIC_FIND_NEXT_BIT
41         bool
42         default y
43
44 config GENERIC_HWEIGHT
45         bool
46         default y
47
48 config GENERIC_CALIBRATE_DELAY
49         bool
50         default y
51
52 config TIME_LOW_RES
53         bool
54         default y
55
56 source "init/Kconfig"
57
58 menu "Processor type and features"
59
60 choice
61         prompt "CPU"
62         default M68EZ328
63
64 config M68328
65         bool "MC68328"
66         help
67           Motorola 68328 processor support.
68
69 config M68EZ328
70         bool "MC68EZ328"
71         help
72           Motorola 68EX328 processor support.
73
74 config M68VZ328
75         bool "MC68VZ328"
76         help
77           Motorola 68VZ328 processor support.
78
79 config M68360
80         bool "MC68360"
81         help
82           Motorola 68360 processor support.
83
84 config M5206
85         bool "MCF5206"
86         help
87           Motorola ColdFire 5206 processor support.
88
89 config M5206e
90         bool "MCF5206e"
91         help
92           Motorola ColdFire 5206e processor support.
93
94 config M520x
95         bool "MCF520x"
96         help
97            Freescale Coldfire 5207/5208 processor support.
98
99 config M523x
100         bool "MCF523x"
101         help
102           Freescale Coldfire 5230/1/2/4/5 processor support
103
104 config M5249
105         bool "MCF5249"
106         help
107           Motorola ColdFire 5249 processor support.
108
109 config M5271
110         bool "MCF5271"
111         help
112           Freescale (Motorola) ColdFire 5270/5271 processor support.
113
114 config M5272
115         bool "MCF5272"
116         help
117           Motorola ColdFire 5272 processor support.
118
119 config M5275
120         bool "MCF5275"
121         help
122           Freescale (Motorola) ColdFire 5274/5275 processor support.
123
124 config M528x
125         bool "MCF528x"
126         help
127           Motorola ColdFire 5280/5282 processor support.
128
129 config M5307
130         bool "MCF5307"
131         help
132           Motorola ColdFire 5307 processor support.
133
134 config M532x
135         bool "MCF532x"
136         help
137           Freescale (Motorola) ColdFire 532x processor support.
138
139 config M5407
140         bool "MCF5407"
141         help
142           Motorola ColdFire 5407 processor support.
143
144 endchoice
145
146 config M527x
147         bool
148         depends on (M5271 || M5275)
149         default y
150
151 config COLDFIRE
152         bool
153         depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407)
154         default y
155
156 config CLOCK_SET
157         bool "Enable setting the CPU clock frequency"
158         default n
159         help
160           On some CPU's you do not need to know what the core CPU clock
161           frequency is. On these you can disable clock setting. On some
162           traditional 68K parts, and on all ColdFire parts you need to set
163           the appropriate CPU clock frequency. On these devices many of the
164           onboard peripherals derive their timing from the master CPU clock
165           frequency.
166
167 config CLOCK_FREQ
168         int "Set the core clock frequency"
169         default "66666666"
170         depends on CLOCK_SET
171         help
172           Define the CPU clock frequency in use. This is the core clock
173           frequency, it may or may not be the same as the external clock
174           crystal fitted to your board. Some processors have an internal
175           PLL and can have their frequency programmed at run time, others
176           use internal dividers. In general the kernel won't setup a PLL
177           if it is fitted (there are some exceptions). This value will be
178           specific to the exact CPU that you are using.
179
180 config CLOCK_DIV
181         int "Set the core/bus clock divide ratio"
182         default "1"
183         depends on CLOCK_SET
184         help
185           On many SoC style CPUs the master CPU clock is also used to drive 
186           on-chip peripherals. The clock that is distributed to these
187           peripherals is sometimes a fixed ratio of the master clock
188           frequency. If so then set this to the divider ratio of the
189           master clock to the peripheral clock. If not sure then select 1.
190
191 config OLDMASK
192         bool "Old mask 5307 (1H55J) silicon"
193         depends on M5307
194         help
195           Build support for the older revision ColdFire 5307 silicon.
196           Specifically this is the 1H55J mask revision.
197
198 comment "Platform"
199
200 config PILOT3
201         bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
202         depends on M68328
203         help
204           Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
205
206 config XCOPILOT_BUGS
207         bool "(X)Copilot support"
208         depends on PILOT3
209         help
210           Support the bugs of Xcopilot.
211
212 config UCSIMM
213         bool "uCsimm module support"
214         depends on M68EZ328
215         help
216           Support for the Arcturus Networks uCsimm module.
217
218 config UCDIMM
219         bool "uDsimm module support"
220         depends on M68VZ328
221         help
222           Support for the Arcturus Networks uDsimm module.
223
224 config DRAGEN2
225         bool "DragenEngine II board support"
226         depends on M68VZ328
227         help
228           Support for the DragenEngine II board.
229
230 config DIRECT_IO_ACCESS
231         bool "Allow user to access IO directly"
232         depends on (UCSIMM || UCDIMM || DRAGEN2)
233         help
234           Disable the CPU internal registers protection in user mode,
235           to allow a user application to read/write them.
236
237 config INIT_LCD
238         bool "Initialize LCD"
239         depends on (UCSIMM || UCDIMM || DRAGEN2)
240         help
241           Initialize the LCD controller of the 68x328 processor.
242
243 config MEMORY_RESERVE
244         int "Memory reservation (MiB)"
245         depends on (UCSIMM || UCDIMM)
246         help
247           Reserve certain memory regions on 68x328 based boards.
248
249 config UCQUICC
250         bool "Lineo uCquicc board support"
251         depends on M68360
252         help
253           Support for the Lineo uCquicc board.
254
255 config ARN5206
256         bool "Arnewsh 5206 board support"
257         depends on M5206
258         help
259           Support for the Arnewsh 5206 board.
260
261 config M5206eC3
262         bool "Motorola M5206eC3 board support"
263         depends on M5206e
264         help
265           Support for the Motorola M5206eC3 board.
266
267 config ELITE
268         bool "Motorola M5206eLITE board support"
269         depends on M5206e
270         help
271           Support for the Motorola M5206eLITE board.
272
273 config M5208EVB
274         bool "Freescale M5208EVB board support"
275         depends on M520x
276         help
277           Support for the Freescale Coldfire M5208EVB.
278
279 config M5235EVB
280         bool "Freescale M5235EVB support"
281         depends on M523x
282         help
283           Support for the Freescale M5235EVB board.
284
285 config M5249C3
286         bool "Motorola M5249C3 board support"
287         depends on M5249
288         help
289           Support for the Motorola M5249C3 board.
290
291 config M5271EVB
292         bool "Freescale (Motorola) M5271EVB board support"
293         depends on M5271
294         help
295           Support for the Freescale (Motorola) M5271EVB board.
296
297 config M5275EVB
298         bool "Freescale (Motorola) M5275EVB board support"
299         depends on M5275
300         help
301           Support for the Freescale (Motorola) M5275EVB board.
302
303 config M5272C3
304         bool "Motorola M5272C3 board support"
305         depends on M5272
306         help
307           Support for the Motorola M5272C3 board.
308
309 config COBRA5272
310         bool "senTec COBRA5272 board support"
311         depends on M5272
312         help
313           Support for the senTec COBRA5272 board.
314
315 config AVNET5282
316         bool "Avnet 5282 board support"
317         depends on M528x
318         help
319           Support for the Avnet 5282 board.  
320           
321 config M5282EVB
322         bool "Motorola M5282EVB board support"
323         depends on M528x
324         help
325           Support for the Motorola M5282EVB board.
326
327 config COBRA5282
328         bool "senTec COBRA5282 board support"
329         depends on M528x
330         help
331           Support for the senTec COBRA5282 board.
332           
333 config SOM5282EM
334         bool "EMAC.Inc SOM5282EM board support"
335         depends on M528x
336         help
337           Support for the EMAC.Inc SOM5282EM module.  
338
339 config ARN5307
340         bool "Arnewsh 5307 board support"
341         depends on M5307
342         help
343           Support for the Arnewsh 5307 board.
344
345 config M5307C3
346         bool "Motorola M5307C3 board support"
347         depends on M5307
348         help
349           Support for the Motorola M5307C3 board.
350
351 config eLIA
352         bool "Moreton Bay eLIA board support"
353         depends on M5307
354         help
355           Support for the Moreton Bay eLIA board.
356
357 config SECUREEDGEMP3
358         bool "SnapGear SecureEdge/MP3 platform support"
359         depends on M5307
360         help
361           Support for the SnapGear SecureEdge/MP3 platform.
362
363 config M5329EVB
364         bool "Freescale (Motorola) M5329EVB board support"
365         depends on M532x
366         help
367           Support for the Freescale (Motorola) M5329EVB board.
368
369 config COBRA5329
370         bool "senTec COBRA5329 board support"
371         depends on M532x
372         help
373           Support for the senTec COBRA5329 board.
374
375 config M5407C3
376         bool "Motorola M5407C3 board support"
377         depends on M5407
378         help
379           Support for the Motorola M5407C3 board.
380
381 config CLEOPATRA
382         bool "Feith CLEOPATRA board support"
383         depends on (M5307 || M5407)
384         help
385           Support for the Feith Cleopatra boards.
386
387 config CANCam
388         bool "Feith CANCam board support"
389         depends on M5272
390         help
391           Support for the Feith CANCam board.
392
393 config SCALES
394         bool "Feith SCALES board support"
395         depends on M5272
396         help
397           Support for the Feith SCALES board.
398
399 config NETtel
400         bool "SecureEdge/NETtel board support"
401         depends on (M5206e || M5272 || M5307)
402         help
403           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
404
405 config SNAPGEAR
406         bool "SnapGear router board support"
407         depends on NETtel
408         help
409           Special additional support for SnapGear router boards.
410
411 config CPU16B
412         bool "Sneha Technologies S.L. Sarasvati board support"
413         depends on M5272
414         help
415           Support for the SNEHA CPU16B board.
416
417 config MOD5272
418         bool "Netburner MOD-5272 board support"
419         depends on M5272
420         help
421           Support for the Netburner MOD-5272 board.
422
423 config ROMFS_FROM_ROM
424         bool "ROMFS image not RAM resident"
425         depends on (NETtel || SNAPGEAR)
426         help
427           The ROMfs filesystem will stay resident in the FLASH/ROM, not be
428           moved into RAM.
429
430 config PILOT
431         bool
432         default y
433         depends on (PILOT3 || PILOT5)
434
435 config ARNEWSH
436         bool
437         default y
438         depends on (ARN5206 || ARN5307)
439
440 config FREESCALE
441         bool
442         default y
443         depends on (M5206eC3 || M5208EVB || M5235EVB || M5249C3 || M5271EVB || M5272C3 || M5275EVB || M5282EVB || M5307C3 || M5329EVB || M5407C3)
444
445 config HW_FEITH
446         bool
447         default y
448         depends on (CLEOPATRA || CANCam || SCALES)
449
450 config senTec
451         bool
452         default y
453         depends on (COBRA5272 || COBRA5282)
454         
455 config EMAC_INC
456         bool
457         default y
458         depends on (SOM5282EM)
459
460 config SNEHA
461         bool
462         default y
463         depends on CPU16B
464         
465 config AVNET
466         bool
467         default y
468         depends on (AVNET5282)
469
470 config LARGE_ALLOCS
471         bool "Allow allocating large blocks (> 1MB) of memory"
472         help
473           Allow the slab memory allocator to keep chains for very large
474           memory sizes - upto 32MB. You may need this if your system has
475           a lot of RAM, and you need to able to allocate very large
476           contiguous chunks. If unsure, say N.
477
478 config 4KSTACKS
479         bool "Use 4Kb for kernel stacks instead of 8Kb"
480         default y
481         help
482           If you say Y here the kernel will use a 4Kb stacksize for the
483           kernel stack attached to each process/thread. This facilitates
484           running more threads on a system and also reduces the pressure
485           on the VM subsystem for higher order allocations.
486
487 comment "RAM configuration"
488
489 config RAMBASE
490         hex "Address of the base of RAM"
491         default "0"
492         help
493           Define the address that RAM starts at. On many platforms this is
494           0, the base of the address space. And this is the default. Some
495           platforms choose to setup their RAM at other addresses within the
496           processor address space.
497
498 config RAMSIZE
499         hex "Size of RAM (in bytes)"
500         default "0x400000"
501         help
502           Define the size of the system RAM. If you select 0 then the
503           kernel will try to probe the RAM size at runtime. This is not
504           supported on all CPU types.
505
506 config VECTORBASE
507         hex "Address of the base of system vectors"
508         default "0"
509         help
510           Define the address of the system vectors. Commonly this is
511           put at the start of RAM, but it doesn't have to be. On ColdFire
512           platforms this address is programmed into the VBR register, thus
513           actually setting the address to use.
514
515 config KERNELBASE
516         hex "Address of the base of kernel code"
517         default "0x400"
518         help
519           Typically on m68k systems the kernel will not start at the base
520           of RAM, but usually some small offset from it. Define the start
521           address of the kernel here. The most common setup will have the
522           processor vectors at the base of RAM and then the start of the
523           kernel. On some platforms some RAM is reserved for boot loaders
524           and the kernel starts after that. The 0x400 default was based on
525           a system with the RAM based at address 0, and leaving enough room
526           for the theoretical maximum number of 256 vectors.
527
528 choice
529         prompt "RAM bus width"
530         default RAMAUTOBIT
531
532 config RAMAUTOBIT
533         bool "AUTO"
534         help
535           Select the physical RAM data bus size. Not needed on most platforms,
536           so you can generally choose AUTO.
537
538 config RAM8BIT
539         bool "8bit"
540         help
541           Configure RAM bus to be 8 bits wide.
542
543 config RAM16BIT
544         bool "16bit"
545         help
546           Configure RAM bus to be 16 bits wide.
547
548 config RAM32BIT
549         bool "32bit"
550         help
551           Configure RAM bus to be 32 bits wide.
552
553 endchoice
554
555 comment "ROM configuration"
556
557 config ROM
558         bool "Specify ROM linker regions"
559         default n
560         help
561           Define a ROM region for the linker script. This creates a kernel
562           that can be stored in flash, with possibly the text, and data
563           regions being copied out to RAM at startup.
564
565 config ROMBASE
566         hex "Address of the base of ROM device"
567         default "0"
568         depends on ROM
569         help
570           Define the address that the ROM region starts at. Some platforms
571           use this to set their chip select region accordingly for the boot
572           device.
573
574 config ROMVEC
575         hex "Address of the base of the ROM vectors"
576         default "0"
577         depends on ROM
578         help
579           This is almost always the same as the base of the ROM. Since on all
580           68000 type variants the vectors are at the base of the boot device
581           on system startup.
582
583 config ROMVECSIZE
584         hex "Size of ROM vector region (in bytes)"
585         default "0x400"
586         depends on ROM
587         help
588           Define the size of the vector region in ROM. For most 68000
589           variants this would be 0x400 bytes in size. Set to 0 if you do
590           not want a vector region at the start of the ROM.
591
592 config ROMSTART
593         hex "Address of the base of system image in ROM"
594         default "0x400"
595         depends on ROM
596         help
597           Define the start address of the system image in ROM. Commonly this
598           is strait after the ROM vectors.
599
600 config ROMSIZE
601         hex "Size of the ROM device"
602         default "0x100000"
603         depends on ROM
604         help
605           Size of the ROM device. On some platforms this is used to setup
606           the chip select that controls the boot ROM device.
607
608 choice
609         prompt "Kernel executes from"
610         ---help---
611           Choose the memory type that the kernel will be running in.
612
613 config RAMKERNEL
614         bool "RAM"
615         help
616           The kernel will be resident in RAM when running.
617
618 config ROMKERNEL
619         bool "ROM"
620         help
621           The kernel will be resident in FLASH/ROM when running. This is
622           often referred to as Execute-in-Place (XIP), since the kernel
623           code executes from the position it is stored in the FLASH/ROM.
624
625 endchoice
626
627 source "mm/Kconfig"
628
629 endmenu
630
631 config ISA_DMA_API
632         bool
633         depends on !M5272
634         default y
635
636 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
637
638 config PCI
639         bool "PCI support"
640         help
641           Support for PCI bus.
642
643 config COMEMPCI
644         bool "CO-MEM lite PCI controller support"
645         depends on (M5307 || M5407)
646
647 source "drivers/pci/Kconfig"
648
649 source "drivers/pcmcia/Kconfig"
650
651 source "drivers/pci/hotplug/Kconfig"
652
653 endmenu
654
655 menu "Executable file formats"
656
657 source "fs/Kconfig.binfmt"
658
659 endmenu
660
661 menu "Power management options"
662
663 config PM
664         bool "Power Management support"
665         help
666           Support processor power management modes
667
668 endmenu
669
670 source "net/Kconfig"
671
672 source "drivers/Kconfig"
673
674 source "fs/Kconfig"
675
676 source "arch/m68knommu/Kconfig.debug"
677
678 source "security/Kconfig"
679
680 source "crypto/Kconfig"
681
682 source "lib/Kconfig"