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