bitops: introduce CONFIG_GENERIC_FIND_BIT_LE
[linux-2.6-block.git] / arch / m68knommu / Kconfig
1 config M68K
2         bool
3         default y
4         select HAVE_IDE
5         select HAVE_GENERIC_HARDIRQS
6         select GENERIC_HARDIRQS_NO_DEPRECATED
7
8 config MMU
9         bool
10         default n
11
12 config NO_DMA
13         bool
14         depends on !COLDFIRE
15         default y
16
17 config FPU
18         bool
19         default n
20
21 config ZONE_DMA
22         bool
23         default y
24
25 config RWSEM_GENERIC_SPINLOCK
26         bool
27         default y
28
29 config RWSEM_XCHGADD_ALGORITHM
30         bool
31         default n
32
33 config ARCH_HAS_ILOG2_U32
34         bool
35         default n
36
37 config ARCH_HAS_ILOG2_U64
38         bool
39         default n
40
41 config GENERIC_FIND_NEXT_BIT
42         bool
43         default y
44
45 config GENERIC_FIND_BIT_LE
46         bool
47         default y
48
49 config GENERIC_GPIO
50         bool
51         default n
52
53 config GENERIC_HWEIGHT
54         bool
55         default y
56
57 config GENERIC_CALIBRATE_DELAY
58         bool
59         default y
60
61 config GENERIC_CMOS_UPDATE
62         bool
63         default y
64
65 config TIME_LOW_RES
66         bool
67         default y
68
69 config GENERIC_CLOCKEVENTS
70         bool
71         default n
72
73 config NO_IOPORT
74         def_bool y
75
76 config COLDFIRE_SW_A7
77         bool
78         default n
79
80 config HAVE_CACHE_SPLIT
81         bool
82
83 config HAVE_CACHE_CB
84         bool
85
86 config HAVE_MBAR
87         bool
88
89 config HAVE_IPSBAR
90         bool
91
92 source "init/Kconfig"
93
94 source "kernel/Kconfig.freezer"
95
96 menu "Processor type and features"
97
98 choice
99         prompt "CPU"
100         default M68EZ328
101
102 config M68328
103         bool "MC68328"
104         help
105           Motorola 68328 processor support.
106
107 config M68EZ328
108         bool "MC68EZ328"
109         help
110           Motorola 68EX328 processor support.
111
112 config M68VZ328
113         bool "MC68VZ328"
114         help
115           Motorola 68VZ328 processor support.
116
117 config M68360
118         bool "MC68360"
119         help
120           Motorola 68360 processor support.
121
122 config M5206
123         bool "MCF5206"
124         select COLDFIRE_SW_A7
125         select HAVE_MBAR
126         help
127           Motorola ColdFire 5206 processor support.
128
129 config M5206e
130         bool "MCF5206e"
131         select COLDFIRE_SW_A7
132         select HAVE_MBAR
133         help
134           Motorola ColdFire 5206e processor support.
135
136 config M520x
137         bool "MCF520x"
138         select GENERIC_CLOCKEVENTS
139         select HAVE_CACHE_SPLIT
140         help
141            Freescale Coldfire 5207/5208 processor support.
142
143 config M523x
144         bool "MCF523x"
145         select GENERIC_CLOCKEVENTS
146         select HAVE_CACHE_SPLIT
147         select HAVE_IPSBAR
148         help
149           Freescale Coldfire 5230/1/2/4/5 processor support
150
151 config M5249
152         bool "MCF5249"
153         select COLDFIRE_SW_A7
154         select HAVE_MBAR
155         help
156           Motorola ColdFire 5249 processor support.
157
158 config M5271
159         bool "MCF5271"
160         select HAVE_CACHE_SPLIT
161         select HAVE_IPSBAR
162         help
163           Freescale (Motorola) ColdFire 5270/5271 processor support.
164
165 config M5272
166         bool "MCF5272"
167         select COLDFIRE_SW_A7
168         select HAVE_MBAR
169         help
170           Motorola ColdFire 5272 processor support.
171
172 config M5275
173         bool "MCF5275"
174         select HAVE_CACHE_SPLIT
175         select HAVE_IPSBAR
176         help
177           Freescale (Motorola) ColdFire 5274/5275 processor support.
178
179 config M528x
180         bool "MCF528x"
181         select GENERIC_CLOCKEVENTS
182         select HAVE_CACHE_SPLIT
183         select HAVE_IPSBAR
184         help
185           Motorola ColdFire 5280/5282 processor support.
186
187 config M5307
188         bool "MCF5307"
189         select COLDFIRE_SW_A7
190         select HAVE_CACHE_CB
191         select HAVE_MBAR
192         help
193           Motorola ColdFire 5307 processor support.
194
195 config M532x
196         bool "MCF532x"
197         select HAVE_CACHE_CB
198         help
199           Freescale (Motorola) ColdFire 532x processor support.
200
201 config M5407
202         bool "MCF5407"
203         select COLDFIRE_SW_A7
204         select HAVE_CACHE_CB
205         select HAVE_MBAR
206         help
207           Motorola ColdFire 5407 processor support.
208
209 config M547x
210         bool "MCF547x"
211         select HAVE_CACHE_CB
212         select HAVE_MBAR
213         help
214           Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support.
215
216 config M548x
217         bool "MCF548x"
218         select HAVE_CACHE_CB
219         select HAVE_MBAR
220         help
221           Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support.
222
223 endchoice
224
225 config M527x
226         bool
227         depends on (M5271 || M5275)
228         select GENERIC_CLOCKEVENTS
229         default y
230
231 config M54xx
232         bool
233         depends on (M548x || M547x)
234         default y
235
236 config COLDFIRE
237         bool
238         depends on (M5206 || M5206e || M520x || M523x || M5249 || M527x || M5272 || M528x || M5307 || M532x || M5407 || M54xx)
239         select GENERIC_GPIO
240         select ARCH_REQUIRE_GPIOLIB
241         default y
242
243 config CLOCK_SET
244         bool "Enable setting the CPU clock frequency"
245         default n
246         help
247           On some CPU's you do not need to know what the core CPU clock
248           frequency is. On these you can disable clock setting. On some
249           traditional 68K parts, and on all ColdFire parts you need to set
250           the appropriate CPU clock frequency. On these devices many of the
251           onboard peripherals derive their timing from the master CPU clock
252           frequency.
253
254 config CLOCK_FREQ
255         int "Set the core clock frequency"
256         default "66666666"
257         depends on CLOCK_SET
258         help
259           Define the CPU clock frequency in use. This is the core clock
260           frequency, it may or may not be the same as the external clock
261           crystal fitted to your board. Some processors have an internal
262           PLL and can have their frequency programmed at run time, others
263           use internal dividers. In general the kernel won't setup a PLL
264           if it is fitted (there are some exceptions). This value will be
265           specific to the exact CPU that you are using.
266
267 config OLDMASK
268         bool "Old mask 5307 (1H55J) silicon"
269         depends on M5307
270         help
271           Build support for the older revision ColdFire 5307 silicon.
272           Specifically this is the 1H55J mask revision.
273
274 if HAVE_CACHE_SPLIT
275 choice
276         prompt "Split Cache Configuration"
277         default CACHE_I
278
279 config CACHE_I
280         bool "Instruction"
281         help
282           Use all of the ColdFire CPU cache memory as an instruction cache.
283
284 config CACHE_D
285         bool "Data"
286         help
287           Use all of the ColdFire CPU cache memory as a data cache.
288
289 config CACHE_BOTH
290         bool "Both"
291         help
292           Split the ColdFire CPU cache, and use half as an instruction cache
293           and half as a data cache.
294 endchoice
295 endif
296
297 if HAVE_CACHE_CB
298 choice
299         prompt "Data cache mode"
300         default CACHE_WRITETHRU
301
302 config CACHE_WRITETHRU
303         bool "Write-through"
304         help
305           The ColdFire CPU cache is set into Write-through mode.
306
307 config CACHE_COPYBACK
308         bool "Copy-back"
309         help
310           The ColdFire CPU cache is set into Copy-back mode.
311 endchoice
312 endif
313
314 comment "Platform"
315
316 config PILOT3
317         bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
318         depends on M68328
319         help
320           Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
321
322 config XCOPILOT_BUGS
323         bool "(X)Copilot support"
324         depends on PILOT3
325         help
326           Support the bugs of Xcopilot.
327
328 config UC5272
329         bool 'Arcturus Networks uC5272 dimm board support'
330         depends on M5272
331         help
332           Support for the Arcturus Networks uC5272 dimm board.
333
334 config UC5282
335         bool "Arcturus Networks uC5282 board support"
336         depends on M528x
337         help
338           Support for the Arcturus Networks uC5282 dimm board.
339
340 config UCSIMM
341         bool "uCsimm module support"
342         depends on M68EZ328
343         help
344           Support for the Arcturus Networks uCsimm module.
345
346 config UCDIMM
347         bool "uDsimm module support"
348         depends on M68VZ328
349         help
350           Support for the Arcturus Networks uDsimm module.
351
352 config DRAGEN2
353         bool "DragenEngine II board support"
354         depends on M68VZ328
355         help
356           Support for the DragenEngine II board.
357
358 config DIRECT_IO_ACCESS
359         bool "Allow user to access IO directly"
360         depends on (UCSIMM || UCDIMM || DRAGEN2)
361         help
362           Disable the CPU internal registers protection in user mode,
363           to allow a user application to read/write them.
364
365 config INIT_LCD
366         bool "Initialize LCD"
367         depends on (UCSIMM || UCDIMM || DRAGEN2)
368         help
369           Initialize the LCD controller of the 68x328 processor.
370
371 config MEMORY_RESERVE
372         int "Memory reservation (MiB)"
373         depends on (UCSIMM || UCDIMM)
374         help
375           Reserve certain memory regions on 68x328 based boards.
376
377 config UCQUICC
378         bool "Lineo uCquicc board support"
379         depends on M68360
380         help
381           Support for the Lineo uCquicc board.
382
383 config ARN5206
384         bool "Arnewsh 5206 board support"
385         depends on M5206
386         help
387           Support for the Arnewsh 5206 board.
388
389 config M5206eC3
390         bool "Motorola M5206eC3 board support"
391         depends on M5206e
392         help
393           Support for the Motorola M5206eC3 board.
394
395 config ELITE
396         bool "Motorola M5206eLITE board support"
397         depends on M5206e
398         help
399           Support for the Motorola M5206eLITE board.
400
401 config M5208EVB
402         bool "Freescale M5208EVB board support"
403         depends on M520x
404         help
405           Support for the Freescale Coldfire M5208EVB.
406
407 config M5235EVB
408         bool "Freescale M5235EVB support"
409         depends on M523x
410         help
411           Support for the Freescale M5235EVB board.
412
413 config M5249C3
414         bool "Motorola M5249C3 board support"
415         depends on M5249
416         help
417           Support for the Motorola M5249C3 board.
418
419 config M5271EVB
420         bool "Freescale (Motorola) M5271EVB board support"
421         depends on M5271
422         help
423           Support for the Freescale (Motorola) M5271EVB board.
424
425 config M5275EVB
426         bool "Freescale (Motorola) M5275EVB board support"
427         depends on M5275
428         help
429           Support for the Freescale (Motorola) M5275EVB board.
430
431 config M5272C3
432         bool "Motorola M5272C3 board support"
433         depends on M5272
434         help
435           Support for the Motorola M5272C3 board.
436
437 config COBRA5272
438         bool "senTec COBRA5272 board support"
439         depends on M5272
440         help
441           Support for the senTec COBRA5272 board.
442
443 config AVNET5282
444         bool "Avnet 5282 board support"
445         depends on M528x
446         help
447           Support for the Avnet 5282 board.  
448           
449 config M5282EVB
450         bool "Motorola M5282EVB board support"
451         depends on M528x
452         help
453           Support for the Motorola M5282EVB board.
454
455 config COBRA5282
456         bool "senTec COBRA5282 board support"
457         depends on M528x
458         help
459           Support for the senTec COBRA5282 board.
460           
461 config SOM5282EM
462         bool "EMAC.Inc SOM5282EM board support"
463         depends on M528x
464         help
465           Support for the EMAC.Inc SOM5282EM module.  
466           
467 config WILDFIRE
468         bool "Intec Automation Inc. WildFire board support"
469         depends on M528x
470         help
471           Support for the Intec Automation Inc. WildFire.
472           
473 config WILDFIREMOD
474         bool "Intec Automation Inc. WildFire module support"
475         depends on M528x
476         help
477           Support for the Intec Automation Inc. WildFire module.
478
479 config ARN5307
480         bool "Arnewsh 5307 board support"
481         depends on M5307
482         help
483           Support for the Arnewsh 5307 board.
484
485 config M5307C3
486         bool "Motorola M5307C3 board support"
487         depends on M5307
488         help
489           Support for the Motorola M5307C3 board.
490
491 config SECUREEDGEMP3
492         bool "SnapGear SecureEdge/MP3 platform support"
493         depends on M5307
494         help
495           Support for the SnapGear SecureEdge/MP3 platform.
496
497 config M5329EVB
498         bool "Freescale (Motorola) M5329EVB board support"
499         depends on M532x
500         help
501           Support for the Freescale (Motorola) M5329EVB board.
502
503 config COBRA5329
504         bool "senTec COBRA5329 board support"
505         depends on M532x
506         help
507           Support for the senTec COBRA5329 board.
508
509 config M5407C3
510         bool "Motorola M5407C3 board support"
511         depends on M5407
512         help
513           Support for the Motorola M5407C3 board.
514
515 config FIREBEE
516         bool "FireBee board support"
517         depends on M547x
518         help
519           Support for the FireBee ColdFire 5475 based board.
520
521 config CLEOPATRA
522         bool "Feith CLEOPATRA board support"
523         depends on (M5307 || M5407)
524         help
525           Support for the Feith Cleopatra boards.
526
527 config CANCam
528         bool "Feith CANCam board support"
529         depends on M5272
530         help
531           Support for the Feith CANCam board.
532
533 config SCALES
534         bool "Feith SCALES board support"
535         depends on M5272
536         help
537           Support for the Feith SCALES board.
538
539 config NETtel
540         bool "SecureEdge/NETtel board support"
541         depends on (M5206e || M5272 || M5307)
542         help
543           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
544
545 config SNAPGEAR
546         bool "SnapGear router board support"
547         depends on NETtel
548         help
549           Special additional support for SnapGear router boards.
550
551 config CPU16B
552         bool "Sneha Technologies S.L. Sarasvati board support"
553         depends on M5272
554         help
555           Support for the SNEHA CPU16B board.
556
557 config MOD5272
558         bool "Netburner MOD-5272 board support"
559         depends on M5272
560         help
561           Support for the Netburner MOD-5272 board.
562
563 config SAVANTrosie1
564         bool "Savant Rosie1 board support"
565         depends on M523x
566         help
567           Support for the Savant Rosie1 board.
568
569 config ROMFS_FROM_ROM
570         bool "ROMFS image not RAM resident"
571         depends on (NETtel || SNAPGEAR)
572         help
573           The ROMfs filesystem will stay resident in the FLASH/ROM, not be
574           moved into RAM.
575
576 config PILOT
577         bool
578         default y
579         depends on (PILOT3 || PILOT5)
580
581 config ARNEWSH
582         bool
583         default y
584         depends on (ARN5206 || ARN5307)
585
586 config FREESCALE
587         bool
588         default y
589         depends on (M5206eC3 || M5208EVB || M5235EVB || M5249C3 || M5271EVB || M5272C3 || M5275EVB || M5282EVB || M5307C3 || M5329EVB || M5407C3)
590
591 config HW_FEITH
592         bool
593         default y
594         depends on (CLEOPATRA || CANCam || SCALES)
595
596 config senTec
597         bool
598         default y
599         depends on (COBRA5272 || COBRA5282)
600         
601 config EMAC_INC
602         bool
603         default y
604         depends on (SOM5282EM)
605
606 config SNEHA
607         bool
608         default y
609         depends on CPU16B
610
611 config SAVANT
612         bool
613         default y
614         depends on SAVANTrosie1
615
616 config AVNET
617         bool
618         default y
619         depends on (AVNET5282)
620
621 config UBOOT
622         bool "Support for U-Boot command line parameters"
623         help
624           If you say Y here kernel will try to collect command
625           line parameters from the initial u-boot stack.
626         default n
627
628 config 4KSTACKS
629         bool "Use 4Kb for kernel stacks instead of 8Kb"
630         default y
631         help
632           If you say Y here the kernel will use a 4Kb stacksize for the
633           kernel stack attached to each process/thread. This facilitates
634           running more threads on a system and also reduces the pressure
635           on the VM subsystem for higher order allocations.
636
637 config HZ
638         int
639         default 1000 if CLEOPATRA
640         default 100
641
642 comment "RAM configuration"
643
644 config RAMBASE
645         hex "Address of the base of RAM"
646         default "0"
647         help
648           Define the address that RAM starts at. On many platforms this is
649           0, the base of the address space. And this is the default. Some
650           platforms choose to setup their RAM at other addresses within the
651           processor address space.
652
653 config RAMSIZE
654         hex "Size of RAM (in bytes), or 0 for automatic"
655         default "0x400000"
656         help
657           Define the size of the system RAM. If you select 0 then the
658           kernel will try to probe the RAM size at runtime. This is not
659           supported on all CPU types.
660
661 config VECTORBASE
662         hex "Address of the base of system vectors"
663         default "0"
664         help
665           Define the address of the system vectors. Commonly this is
666           put at the start of RAM, but it doesn't have to be. On ColdFire
667           platforms this address is programmed into the VBR register, thus
668           actually setting the address to use.
669
670 config MBAR
671         hex "Address of the MBAR (internal peripherals)"
672         default "0x10000000"
673         depends on HAVE_MBAR
674         help
675           Define the address of the internal system peripherals. This value
676           is set in the processors MBAR register. This is generally setup by
677           the boot loader, and will not be written by the kernel. By far most
678           ColdFire boards use the default 0x10000000 value, so if unsure then
679           use this.
680
681 config IPSBAR
682         hex "Address of the IPSBAR (internal peripherals)"
683         default "0x40000000"
684         depends on HAVE_IPSBAR
685         help
686           Define the address of the internal system peripherals. This value
687           is set in the processors IPSBAR register. This is generally setup by
688           the boot loader, and will not be written by the kernel. By far most
689           ColdFire boards use the default 0x40000000 value, so if unsure then
690           use this.
691
692 config KERNELBASE
693         hex "Address of the base of kernel code"
694         default "0x400"
695         help
696           Typically on m68k systems the kernel will not start at the base
697           of RAM, but usually some small offset from it. Define the start
698           address of the kernel here. The most common setup will have the
699           processor vectors at the base of RAM and then the start of the
700           kernel. On some platforms some RAM is reserved for boot loaders
701           and the kernel starts after that. The 0x400 default was based on
702           a system with the RAM based at address 0, and leaving enough room
703           for the theoretical maximum number of 256 vectors.
704
705 choice
706         prompt "RAM bus width"
707         default RAMAUTOBIT
708
709 config RAMAUTOBIT
710         bool "AUTO"
711         help
712           Select the physical RAM data bus size. Not needed on most platforms,
713           so you can generally choose AUTO.
714
715 config RAM8BIT
716         bool "8bit"
717         help
718           Configure RAM bus to be 8 bits wide.
719
720 config RAM16BIT
721         bool "16bit"
722         help
723           Configure RAM bus to be 16 bits wide.
724
725 config RAM32BIT
726         bool "32bit"
727         help
728           Configure RAM bus to be 32 bits wide.
729
730 endchoice
731
732 comment "ROM configuration"
733
734 config ROM
735         bool "Specify ROM linker regions"
736         default n
737         help
738           Define a ROM region for the linker script. This creates a kernel
739           that can be stored in flash, with possibly the text, and data
740           regions being copied out to RAM at startup.
741
742 config ROMBASE
743         hex "Address of the base of ROM device"
744         default "0"
745         depends on ROM
746         help
747           Define the address that the ROM region starts at. Some platforms
748           use this to set their chip select region accordingly for the boot
749           device.
750
751 config ROMVEC
752         hex "Address of the base of the ROM vectors"
753         default "0"
754         depends on ROM
755         help
756           This is almost always the same as the base of the ROM. Since on all
757           68000 type variants the vectors are at the base of the boot device
758           on system startup.
759
760 config ROMVECSIZE
761         hex "Size of ROM vector region (in bytes)"
762         default "0x400"
763         depends on ROM
764         help
765           Define the size of the vector region in ROM. For most 68000
766           variants this would be 0x400 bytes in size. Set to 0 if you do
767           not want a vector region at the start of the ROM.
768
769 config ROMSTART
770         hex "Address of the base of system image in ROM"
771         default "0x400"
772         depends on ROM
773         help
774           Define the start address of the system image in ROM. Commonly this
775           is strait after the ROM vectors.
776
777 config ROMSIZE
778         hex "Size of the ROM device"
779         default "0x100000"
780         depends on ROM
781         help
782           Size of the ROM device. On some platforms this is used to setup
783           the chip select that controls the boot ROM device.
784
785 choice
786         prompt "Kernel executes from"
787         ---help---
788           Choose the memory type that the kernel will be running in.
789
790 config RAMKERNEL
791         bool "RAM"
792         help
793           The kernel will be resident in RAM when running.
794
795 config ROMKERNEL
796         bool "ROM"
797         help
798           The kernel will be resident in FLASH/ROM when running. This is
799           often referred to as Execute-in-Place (XIP), since the kernel
800           code executes from the position it is stored in the FLASH/ROM.
801
802 endchoice
803
804 if COLDFIRE
805 source "kernel/Kconfig.preempt"
806 endif
807
808 source "kernel/time/Kconfig"
809
810 source "mm/Kconfig"
811
812 endmenu
813
814 config ISA_DMA_API
815         bool
816         depends on !M5272
817         default y
818
819 source "drivers/pcmcia/Kconfig"
820
821 menu "Executable file formats"
822
823 source "fs/Kconfig.binfmt"
824
825 endmenu
826
827 menu "Power management options"
828
829 config PM
830         bool "Power Management support"
831         help
832           Support processor power management modes
833
834 endmenu
835
836 source "net/Kconfig"
837
838 source "drivers/Kconfig"
839
840 source "fs/Kconfig"
841
842 source "arch/m68knommu/Kconfig.debug"
843
844 source "security/Kconfig"
845
846 source "crypto/Kconfig"
847
848 source "lib/Kconfig"