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