]> pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/ppc/Kconfig
f76a146cff137f28c65a5e839aca007a9de63069
[linux-2.6-omap-h63xx.git] / arch / ppc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/PowerPC Kernel Configuration"
6
7 config MMU
8         bool
9         default y
10
11 config GENERIC_HARDIRQS
12         bool
13         default y
14
15 config RWSEM_GENERIC_SPINLOCK
16         bool
17
18 config RWSEM_XCHGADD_ALGORITHM
19         bool
20         default y
21
22 config GENERIC_HWEIGHT
23         bool
24         default y
25
26 config GENERIC_CALIBRATE_DELAY
27         bool
28         default y
29
30 config PPC
31         bool
32         default y
33
34 config PPC32
35         bool
36         default y
37
38 # All PPCs use generic nvram driver through ppc_md
39 config GENERIC_NVRAM
40         bool
41         default y
42
43 config GENERIC_FIND_NEXT_BIT
44         bool
45         default y
46
47 config SCHED_NO_NO_OMIT_FRAME_POINTER
48         bool
49         default y
50
51 config ARCH_MAY_HAVE_PC_FDC
52         bool
53         default y
54
55 config GENERIC_BUG
56         bool
57         default y
58         depends on BUG
59
60 source "init/Kconfig"
61
62 menu "Processor"
63
64 choice
65         prompt "Processor Type"
66         default 6xx
67
68 config 6xx
69         bool "6xx/7xx/74xx/52xx/82xx/83xx"
70         select PPC_FPU
71         help
72           There are four types of PowerPC chips supported.  The more common
73           types (601, 603, 604, 740, 750, 7400), the older Freescale
74           (formerly Motorola) embedded versions (821, 823, 850, 855, 860,
75           52xx, 82xx, 83xx), the IBM embedded versions (403 and 405) and
76           the Book E embedded processors from IBM (44x) and Freescale (85xx).
77           For support for 64-bit processors, set ARCH=powerpc.
78           Unless you are building a kernel for one of the embedded processor
79           systems, choose 6xx.
80           Also note that because the 52xx, 82xx, & 83xx family have a 603e
81           core, specific support for that chipset is asked later on.
82
83 config 40x
84         bool "40x"
85         select PPC_DCR_NATIVE
86
87 config 44x
88         bool "44x"
89         select PPC_DCR_NATIVE
90
91 config 8xx
92         bool "8xx"
93
94 config E200
95         bool "e200"
96
97 config E500
98         bool "e500"
99
100 endchoice
101
102 config PPC_FPU
103         bool
104
105 config PPC_DCR_NATIVE
106         bool
107         default n
108
109 config PPC_DCR
110         bool
111         depends on PPC_DCR_NATIVE
112         default y
113
114 config BOOKE
115         bool
116         depends on E200 || E500
117         default y
118
119 config FSL_BOOKE
120         bool
121         depends on E200 || E500
122         default y
123
124 config PTE_64BIT
125         bool
126         depends on 44x || E500
127         default y if 44x
128         default y if E500 && PHYS_64BIT
129
130 config PHYS_64BIT
131         bool 'Large physical address support' if E500
132         depends on 44x || E500
133         default y if 44x
134         ---help---
135           This option enables kernel support for larger than 32-bit physical
136           addresses.  This features is not be available on all e500 cores.
137
138           If in doubt, say N here.
139
140 config ALTIVEC
141         bool "AltiVec Support"
142         depends on 6xx
143         depends on !8260 && !83xx
144         ---help---
145           This option enables kernel support for the Altivec extensions to the
146           PowerPC processor. The kernel currently supports saving and restoring
147           altivec registers, and turning on the 'altivec enable' bit so user
148           processes can execute altivec instructions.
149
150           This option is only usefully if you have a processor that supports
151           altivec (G4, otherwise known as 74xx series), but does not have
152           any affect on a non-altivec cpu (it does, however add code to the
153           kernel).
154
155           If in doubt, say Y here.
156
157 config SPE
158         bool "SPE Support"
159         depends on E200 || E500
160         ---help---
161           This option enables kernel support for the Signal Processing
162           Extensions (SPE) to the PowerPC processor. The kernel currently
163           supports saving and restoring SPE registers, and turning on the
164           'spe enable' bit so user processes can execute SPE instructions.
165
166           This option is only useful if you have a processor that supports
167           SPE (e500, otherwise known as 85xx series), but does not have any
168           effect on a non-spe cpu (it does, however add code to the kernel).
169
170           If in doubt, say Y here.
171
172 config TAU
173         bool "Thermal Management Support"
174         depends on 6xx && !8260 && !83xx
175         help
176           G3 and G4 processors have an on-chip temperature sensor called the
177           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
178           temperature within 2-4 degrees Celsius. This option shows the current
179           on-die temperature in /proc/cpuinfo if the cpu supports it.
180
181           Unfortunately, on some chip revisions, this sensor is very inaccurate
182           and in some cases, does not work at all, so don't assume the cpu
183           temp is actually what /proc/cpuinfo says it is.
184
185 config TAU_INT
186         bool "Interrupt driven TAU driver (DANGEROUS)"
187         depends on TAU
188         ---help---
189           The TAU supports an interrupt driven mode which causes an interrupt
190           whenever the temperature goes out of range. This is the fastest way
191           to get notified the temp has exceeded a range. With this option off,
192           a timer is used to re-check the temperature periodically.
193
194           However, on some cpus it appears that the TAU interrupt hardware
195           is buggy and can cause a situation which would lead unexplained hard
196           lockups.
197
198           Unless you are extending the TAU driver, or enjoy kernel/hardware
199           debugging, leave this option off.
200
201 config TAU_AVERAGE
202         bool "Average high and low temp"
203         depends on TAU
204         ---help---
205           The TAU hardware can compare the temperature to an upper and lower
206           bound.  The default behavior is to show both the upper and lower
207           bound in /proc/cpuinfo. If the range is large, the temperature is
208           either changing a lot, or the TAU hardware is broken (likely on some
209           G4's). If the range is small (around 4 degrees), the temperature is
210           relatively stable.  If you say Y here, a single temperature value,
211           halfway between the upper and lower bounds, will be reported in
212           /proc/cpuinfo.
213
214           If in doubt, say N here.
215
216 config MATH_EMULATION
217         bool "Math emulation"
218         depends on 4xx || 8xx || E200 || E500
219         ---help---
220           Some PowerPC chips designed for embedded applications do not have
221           a floating-point unit and therefore do not implement the
222           floating-point instructions in the PowerPC instruction set.  If you
223           say Y here, the kernel will include code to emulate a floating-point
224           unit, which will allow programs that use floating-point
225           instructions to run.
226
227           If you have an Apple machine or an IBM RS/6000 or pSeries machine,
228           or any machine with a 6xx, 7xx or 7xxx series processor, say N
229           here.  Saying Y here will not hurt performance (on any machine) but
230           will increase the size of the kernel.
231
232 config KEXEC
233         bool "kexec system call (EXPERIMENTAL)"
234         depends on EXPERIMENTAL
235         help
236           kexec is a system call that implements the ability to shutdown your
237           current kernel, and to start another kernel.  It is like a reboot
238           but it is independent of the system firmware.   And like a reboot
239           you can start any kernel with it, not just Linux.
240
241           The name comes from the similarity to the exec system call.
242
243           It is an ongoing process to be certain the hardware in a machine
244           is properly shutdown, so do not be surprised if this code does not
245           initially work for you.  It may help to enable device hotplugging
246           support.  As of this writing the exact hardware interface is
247           strongly in flux, so no good recommendation can be made.
248
249           In the GameCube implementation, kexec allows you to load and
250           run DOL files, including kernel and homebrew DOLs.
251
252 source "drivers/cpufreq/Kconfig"
253
254 config PPC601_SYNC_FIX
255         bool "Workarounds for PPC601 bugs"
256         depends on 6xx && PPC_PREP
257         help
258           Some versions of the PPC601 (the first PowerPC chip) have bugs which
259           mean that extra synchronization instructions are required near
260           certain instructions, typically those that make major changes to the
261           CPU state.  These extra instructions reduce performance slightly.
262           If you say N here, these extra instructions will not be included,
263           resulting in a kernel which will run faster but may not run at all
264           on some systems with the PPC601 chip.
265
266           If in doubt, say Y here.
267
268 source arch/ppc/platforms/4xx/Kconfig
269 source arch/ppc/platforms/85xx/Kconfig
270
271 config PPC_STD_MMU
272         bool
273         depends on 6xx
274         default y
275
276 config NOT_COHERENT_CACHE
277         bool
278         depends on 4xx || 8xx || E200
279         default y
280
281 endmenu
282
283 menu "Platform options"
284
285 config FADS
286         bool
287
288 choice
289         prompt "8xx Machine Type"
290         depends on 8xx
291         default RPXLITE
292
293 config RPXLITE
294         bool "RPX-Lite"
295         ---help---
296           Single-board computers based around the PowerPC MPC8xx chips and
297           intended for embedded applications.  The following types are
298           supported:
299
300           RPX-Lite:
301           Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.
302
303           RPX-Classic:
304           Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
305           the MPC 860
306
307           BSE-IP:
308           Bright Star Engineering ip-Engine.
309
310           TQM823L:
311           TQM850L:
312           TQM855L:
313           TQM860L:
314           MPC8xx based family of mini modules, half credit card size,
315           up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
316           2 x CAN bus interface, ...
317           Manufacturer: TQ Components, www.tq-group.de
318           Date of Release: October (?) 1999
319           End of Life: not yet :-)
320           URL:
321           - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
322           - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
323           - images: <http://www.denx.de/embedded-ppc-en.html>
324
325           FPS850L:
326           FingerPrint Sensor System (based on TQM850L)
327           Manufacturer: IKENDI AG, <http://www.ikendi.com/>
328           Date of Release: November 1999
329           End of life: end 2000 ?
330           URL: see TQM850L
331
332           IVMS8:
333           MPC860 based board used in the "Integrated Voice Mail System",
334           Small Version (8 voice channels)
335           Manufacturer: Speech Design, <http://www.speech-design.de/>
336           Date of Release: December 2000 (?)
337           End of life: -
338           URL: <http://www.speech-design.de/>
339
340           IVML24:
341           MPC860 based board used in the "Integrated Voice Mail System",
342           Large Version (24 voice channels)
343           Manufacturer: Speech Design, <http://www.speech-design.de/>
344           Date of Release: March 2001  (?)
345           End of life: -
346           URL: <http://www.speech-design.de/>
347
348           HERMES:
349           Hermes-Pro ISDN/LAN router with integrated 8 x hub
350           Manufacturer: Multidata Gesellschaft fur Datentechnik und Informatik
351           <http://www.multidata.de/>
352           Date of Release: 2000 (?)
353           End of life: -
354           URL: <http://www.multidata.de/english/products/hpro.htm>
355
356           IP860:
357           VMEBus IP (Industry Pack) carrier board with MPC860
358           Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
359           Date of Release: ?
360           End of life: -
361           URL: <http://www.microsys.de/html/ip860.html>
362
363           PCU_E:
364           PCU = Peripheral Controller Unit, Extended
365           Manufacturer: Siemens AG, ICN (Information and Communication Networks)
366                 <http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
367           Date of Release: April 2001
368           End of life: August 2001
369           URL: n. a.
370
371 config RPXCLASSIC
372         bool "RPX-Classic"
373         help
374           The RPX-Classic is a single-board computer based on the Motorola
375           MPC860.  It features 16MB of DRAM and a variable amount of flash,
376           I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
377           LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
378           directly.
379
380 config BSEIP
381         bool "BSE-IP"
382         help
383           Say Y here to support the Bright Star Engineering ipEngine SBC.
384           This is a credit-card-sized device featuring a MPC823 processor,
385           26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
386           controller, and two RS232 ports.
387
388 config MPC8XXFADS
389         bool "FADS"
390         select FADS
391
392 config MPC86XADS
393         bool "MPC86XADS"
394         help
395           MPC86x Application Development System by Freescale Semiconductor.
396           The MPC86xADS is meant to serve as a platform for s/w and h/w
397           development around the MPC86X processor families.
398         select FADS
399
400 config MPC885ADS
401         bool "MPC885ADS"
402         help
403           Freescale Semiconductor MPC885 Application Development System (ADS).
404           Also known as DUET.
405           The MPC885ADS is meant to serve as a platform for s/w and h/w
406           development around the MPC885 processor family.
407
408 config TQM823L
409         bool "TQM823L"
410         help
411           Say Y here to support the TQM823L, one of an MPC8xx-based family of
412           mini SBCs (half credit-card size) from TQ Components first released
413           in late 1999.  Technical references are at
414           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
415           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
416           <http://www.denx.de/embedded-ppc-en.html>.
417
418 config TQM850L
419         bool "TQM850L"
420         help
421           Say Y here to support the TQM850L, one of an MPC8xx-based family of
422           mini SBCs (half credit-card size) from TQ Components first released
423           in late 1999.  Technical references are at
424           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
425           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
426           <http://www.denx.de/embedded-ppc-en.html>.
427
428 config TQM855L
429         bool "TQM855L"
430         help
431           Say Y here to support the TQM855L, one of an MPC8xx-based family of
432           mini SBCs (half credit-card size) from TQ Components first released
433           in late 1999.  Technical references are at
434           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
435           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
436           <http://www.denx.de/embedded-ppc-en.html>.
437
438 config TQM860L
439         bool "TQM860L"
440         help
441           Say Y here to support the TQM860L, one of an MPC8xx-based family of
442           mini SBCs (half credit-card size) from TQ Components first released
443           in late 1999.  Technical references are at
444           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
445           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
446           <http://www.denx.de/embedded-ppc-en.html>.
447
448 config FPS850L
449         bool "FPS850L"
450
451 config IVMS8
452         bool "IVMS8"
453         help
454           Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
455           from Speech Design, released March 2001.  The manufacturer's website
456           is at <http://www.speech-design.de/>.
457
458 config IVML24
459         bool "IVML24"
460         help
461           Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
462           from Speech Design, released March 2001.  The manufacturer's website
463           is at <http://www.speech-design.de/>.
464
465 config HERMES_PRO
466         bool "HERMES"
467
468 config IP860
469         bool "IP860"
470
471 config LWMON
472         bool "LWMON"
473
474 config PCU_E
475         bool "PCU_E"
476
477 config CCM
478         bool "CCM"
479
480 config LANTEC
481         bool "LANTEC"
482
483 config MBX
484         bool "MBX"
485         help
486           MBX is a line of Motorola single-board computer based around the
487           MPC821 and MPC860 processors, and intended for embedded-controller
488           applications.  Say Y here to support these boards directly.
489
490 config WINCEPT
491         bool "WinCept"
492         help
493           The Wincept 100/110 is a Motorola single-board computer based on the
494           MPC821 PowerPC, introduced in 1998 and designed to be used in
495           thin-client machines.  Say Y to support it directly.
496
497 endchoice
498
499 menu "Freescale Ethernet driver platform-specific options"
500         depends on FS_ENET
501
502         config MPC8xx_SECOND_ETH
503         bool "Second Ethernet channel"
504         depends on (MPC885ADS || MPC86XADS)
505         default y
506         help
507           This enables support for second Ethernet on MPC885ADS and MPC86xADS boards.
508           The latter will use SCC1, for 885ADS you can select it below.
509
510         choice
511                 prompt "Second Ethernet channel"
512                 depends on MPC8xx_SECOND_ETH
513                 default MPC8xx_SECOND_ETH_FEC2
514
515                 config MPC8xx_SECOND_ETH_FEC2
516                 bool "FEC2"
517                 depends on MPC885ADS
518                 help
519                   Enable FEC2 to serve as 2-nd Ethernet channel. Note that SMC2
520                   (often 2-nd UART) will not work if this is enabled.
521
522                 config MPC8xx_SECOND_ETH_SCC1
523                 bool "SCC1"
524                 depends on MPC86XADS
525                 select MPC8xx_SCC_ENET_FIXED
526                 help
527                   Enable SCC1 to serve as 2-nd Ethernet channel. Note that SMC1
528                   (often 1-nd UART) will not work if this is enabled.
529
530                 config MPC8xx_SECOND_ETH_SCC3
531                 bool "SCC3"
532                 depends on MPC885ADS
533                 help
534                   Enable SCC3 to serve as 2-nd Ethernet channel. Note that SMC1
535                   (often 1-nd UART) will not work if this is enabled.
536
537         endchoice
538
539         config MPC8xx_SCC_ENET_FIXED
540         depends on MPC8xx_SECOND_ETH_SCC
541         default n
542         bool "Use fixed MII-less mode for SCC Ethernet"
543
544 endmenu
545
546 choice
547         prompt "Machine Type"
548         depends on 6xx
549         default PPC_PREP
550         ---help---
551           Linux currently supports several different kinds of PowerPC-based
552           machines: Apple Power Macintoshes and clones (such as the Motorola
553           Starmax series), PReP (PowerPC Reference Platform) machines (such
554           as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
555           and some IBM RS/6000 systems), CHRP (Common Hardware Reference
556           Platform) machines (including all of the recent IBM RS/6000 and
557           pSeries machines), and several embedded PowerPC systems containing
558           4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
559           default option is to build a kernel which works on PReP.
560
561           Note that support for Apple and CHRP machines is now only available
562           with ARCH=powerpc, and has been removed from this menu.  If you
563           wish to build a kernel for an Apple or CHRP machine, exit this
564           configuration process and re-run it with ARCH=powerpc.
565
566           Select PReP if configuring for a PReP machine.
567
568           Select Gemini if configuring for a Synergy Microsystems' Gemini
569           series Single Board Computer.  More information is available at:
570           <http://www.synergymicro.com/PressRel/97_10_15.html>.
571
572           Select APUS if configuring for a PowerUP Amiga.  More information is
573           available at: <http://linux-apus.sourceforge.net/>.
574
575 config PPC_PREP
576         bool "PReP"
577
578 config APUS
579         bool "Amiga-APUS"
580         depends on BROKEN
581         help
582           Select APUS if configuring for a PowerUP Amiga.
583           More information is available at:
584           <http://linux-apus.sourceforge.net/>.
585
586 config KATANA
587         bool "Artesyn-Katana"
588         help
589           Select KATANA if configuring an Artesyn KATANA 750i or 3750
590           cPCI board.
591
592 config WILLOW
593         bool "Cogent-Willow"
594
595 config CPCI690
596         bool "Force-CPCI690"
597         help
598           Select CPCI690 if configuring a Force CPCI690 cPCI board.
599
600 config POWERPMC250
601         bool "Force-PowerPMC250"
602
603 config CHESTNUT
604         bool "IBM 750FX Eval board or 750GX Eval board"
605         help
606           Select CHESTNUT if configuring an IBM 750FX Eval Board or a
607           IBM 750GX Eval board.
608
609 config SPRUCE
610         bool "IBM-Spruce"
611         select PPC_INDIRECT_PCI
612
613 config HDPU
614         bool "Sky-HDPU"
615         help
616           Select HDPU if configuring a Sky Computers Compute Blade.
617
618 config HDPU_FEATURES
619         depends HDPU
620         tristate "HDPU-Features"
621         help
622           Select to enable HDPU enhanced features.
623
624 config EV64260
625         bool "Marvell-EV64260BP"
626         help
627           Select EV64260 if configuring a Marvell (formerly Galileo)
628           EV64260BP Evaluation platform.
629
630 config LOPEC
631         bool "Motorola-LoPEC"
632         select PPC_I8259
633
634 config MVME5100
635         bool "Motorola-MVME5100"
636         select PPC_INDIRECT_PCI
637
638 config PPLUS
639         bool "Motorola-PowerPlus"
640         select PPC_I8259
641         select PPC_INDIRECT_PCI
642
643 config PRPMC750
644         bool "Motorola-PrPMC750"
645         select PPC_INDIRECT_PCI
646
647 config PRPMC800
648         bool "Motorola-PrPMC800"
649         select PPC_INDIRECT_PCI
650
651 config SANDPOINT
652         bool "Motorola-Sandpoint"
653         select PPC_I8259
654         help
655           Select SANDPOINT if configuring for a Motorola Sandpoint X3
656           (any flavor).
657
658 config RADSTONE_PPC7D
659         bool "Radstone Technology PPC7D board"
660         select PPC_I8259
661
662 config PAL4
663         bool "SBS-Palomar4"
664
665 config GEMINI
666         bool "Synergy-Gemini"
667         depends on BROKEN
668         select PPC_INDIRECT_PCI
669         help
670           Select Gemini if configuring for a Synergy Microsystems' Gemini
671           series Single Board Computer.  More information is available at:
672           <http://www.synergymicro.com/PressRel/97_10_15.html>.
673
674 config EST8260
675         bool "EST8260"
676         ---help---
677           The EST8260 is a single-board computer manufactured by Wind River
678           Systems, Inc. (formerly Embedded Support Tools Corp.) and based on
679           the MPC8260.  Wind River Systems has a website at
680           <http://www.windriver.com/>, but the EST8260 cannot be found on it
681           and has probably been discontinued or rebadged.
682
683 config SBC82xx
684         bool "SBC82xx"
685         ---help---
686           SBC PowerQUICC II, single-board computer with MPC82xx CPU
687           Manufacturer: Wind River Systems, Inc.
688           Date of Release: May 2003
689           End of Life: -
690           URL: <http://www.windriver.com/>
691
692 config SBS8260
693         bool "SBS8260"
694
695 config RPX8260
696         bool "RPXSUPER"
697
698 config TQM8260
699         bool "TQM8260"
700         ---help---
701           MPC8260 based module, little larger than credit card,
702           up to 128 MB global + 64 MB local RAM, 32 MB Flash,
703           32 kB EEPROM, 256 kB L@ Cache, 10baseT + 100baseT Ethernet,
704           2 x serial ports, ...
705           Manufacturer: TQ Components, www.tq-group.de
706           Date of Release: June 2001
707           End of Life: not yet :-)
708           URL: <http://www.denx.de/PDF/TQM82xx_SPEC_Rev005.pdf>
709
710 config ADS8272
711         bool "ADS8272"
712
713 config PQ2FADS
714         bool "Freescale-PQ2FADS"
715         help
716           Select PQ2FADS if you wish to configure for a Freescale
717           PQ2FADS board (-VR or -ZU).
718
719 config LITE5200
720         bool "Freescale LITE5200 / (IceCube)"
721         select PPC_MPC52xx
722         help
723           Support for the LITE5200 dev board for the MPC5200 from Freescale.
724           This is for the LITE5200 version 2.0 board. Don't know if it changes
725           much but it's only been tested on this board version. I think this
726           board is also known as IceCube.
727
728 config LITE5200B
729         bool "Freescale LITE5200B"
730         depends LITE5200
731         help
732           Support for the LITE5200B dev board for the MPC5200 from Freescale.
733           This is the new board with 2 PCI slots.
734
735 config MPC834x_SYS
736         bool "Freescale MPC834x SYS"
737         help
738           This option enables support for the MPC 834x SYS evaluation board.
739
740           Be aware that PCI buses can only function when SYS board is plugged
741           into the PIB (Platform IO Board) board from Freescale which provide
742           3 PCI slots.  The PIBs PCI initialization is the bootloader's
743           responsibility.
744
745 config EV64360
746         bool "Marvell-EV64360BP"
747         help
748           Select EV64360 if configuring a Marvell EV64360BP Evaluation
749           platform.
750 endchoice
751
752 config PQ2ADS
753         bool
754         depends on ADS8272
755         default y
756
757 config TQM8xxL
758         bool
759         depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L)
760         default y
761
762 config EMBEDDEDBOOT
763         bool
764         depends on 8xx || 8260
765         default y
766
767 config PPC_MPC52xx
768         bool
769
770 config 8260
771         bool "CPM2 Support" if WILLOW
772         depends on 6xx
773         default y if TQM8260 || RPX8260 || EST8260 || SBS8260 || SBC82xx || PQ2FADS
774         help
775           The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
776           this option means that you wish to build a kernel for a machine with
777           an 8260 class CPU.
778
779 config 8272
780         bool
781         depends on 6xx
782         default y if ADS8272
783         select 8260
784         help
785           The MPC8272 CPM has a different internal dpram setup than other CPM2
786           devices
787
788 config 83xx
789         bool
790         default y if MPC834x_SYS
791
792 config MPC834x
793         bool
794         default y if MPC834x_SYS
795
796 config PPC_83xx
797         bool
798         default y if 83xx
799
800 config CPM1
801         bool
802         depends on 8xx
803         default y
804         help
805           The CPM1 (Communications Processor Module) is a coprocessor on
806           embedded CPUs made by Motorola.  Selecting this option means that
807           you wish to build a kernel for a machine with a CPM1 coprocessor
808           on it (8xx, 827x, 8560).
809
810 config CPM2
811         bool
812         depends on 8260 || MPC8560 || MPC8555
813         default y
814         help
815           The CPM2 (Communications Processor Module) is a coprocessor on
816           embedded CPUs made by Motorola.  Selecting this option means that
817           you wish to build a kernel for a machine with a CPM2 coprocessor
818           on it (826x, 827x, 8560).
819
820 config PPC_GEN550
821         bool
822         depends on SANDPOINT || SPRUCE || PPLUS || \
823                 PRPMC750 || PRPMC800 || LOPEC || \
824                 (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D || \
825                 83xx
826         default y
827
828 config FORCE
829         bool
830         depends on 6xx && POWERPMC250
831         default y
832
833 config GT64260
834         bool
835         depends on EV64260 || CPCI690
836         default y
837
838 config MV64360          # Really MV64360 & MV64460
839         bool
840         depends on CHESTNUT || KATANA || RADSTONE_PPC7D || HDPU || EV64360
841         default y
842
843 config MV64X60
844         bool
845         depends on (GT64260 || MV64360)
846         select PPC_INDIRECT_PCI
847         default y
848
849 menu "Set bridge options"
850         depends on MV64X60
851
852 config NOT_COHERENT_CACHE
853         bool "Turn off Cache Coherency"
854         default n
855         help
856           Some 64x60 bridges lock up when trying to enforce cache coherency.
857           When this option is selected, cache coherency will be turned off.
858           Note that this can cause other problems (e.g., stale data being
859           speculatively loaded via a cached mapping).  Use at your own risk.
860
861 config MV64X60_BASE
862         hex "Set bridge base used by firmware"
863         default "0xf1000000"
864         help
865           A firmware can leave the base address of the bridge's registers at
866           a non-standard location.  If so, set this value to reflect the
867           address of that non-standard location.
868
869 config MV64X60_NEW_BASE
870         hex "Set bridge base used by kernel"
871         default "0xf1000000"
872         help
873           If the current base address of the bridge's registers is not where
874           you want it, set this value to the address that you want it moved to.
875
876 endmenu
877
878 config NONMONARCH_SUPPORT
879         bool "Enable Non-Monarch Support"
880         depends on PRPMC800
881
882 config HARRIER
883         bool
884         depends on PRPMC800
885         default y
886
887 config EPIC_SERIAL_MODE
888         bool
889         depends on 6xx && (LOPEC || SANDPOINT)
890         default y
891
892 config MPC10X_BRIDGE
893         bool
894         depends on POWERPMC250 || LOPEC || SANDPOINT
895         select PPC_INDIRECT_PCI
896         default y
897
898 config MPC10X_OPENPIC
899         bool
900         depends on POWERPMC250 || LOPEC || SANDPOINT
901         default y
902
903 config MPC10X_STORE_GATHERING
904         bool "Enable MPC10x store gathering"
905         depends on MPC10X_BRIDGE
906
907 config SANDPOINT_ENABLE_UART1
908         bool "Enable DUART mode on Sandpoint"
909         depends on SANDPOINT
910         help
911           If this option is enabled then the MPC824x processor will run
912           in DUART mode instead of UART mode.
913
914 config HARRIER_STORE_GATHERING
915         bool "Enable Harrier store gathering"
916         depends on HARRIER
917
918 config MVME5100_IPMC761_PRESENT
919         bool "MVME5100 configured with an IPMC761"
920         depends on MVME5100
921         select PPC_I8259
922
923 config SPRUCE_BAUD_33M
924         bool "Spruce baud clock support"
925         depends on SPRUCE
926
927 config PC_KEYBOARD
928         bool "PC PS/2 style Keyboard"
929         depends on 4xx || CPM2
930
931 config PPCBUG_NVRAM
932         bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
933         default y if PPC_PREP
934
935 config SMP
936         depends on PPC_STD_MMU
937         bool "Symmetric multi-processing support"
938         ---help---
939           This enables support for systems with more than one CPU. If you have
940           a system with only one CPU, say N. If you have a system with more
941           than one CPU, say Y.  Note that the kernel does not currently
942           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
943           since they have inadequate hardware support for multiprocessor
944           operation.
945
946           If you say N here, the kernel will run on single and multiprocessor
947           machines, but will use only one CPU of a multiprocessor machine. If
948           you say Y here, the kernel will run on single-processor machines.
949           On a single-processor machine, the kernel will run faster if you say
950           N here.
951
952           If you don't know what to do here, say N.
953
954 config IRQ_ALL_CPUS
955         bool "Distribute interrupts on all CPUs by default"
956         depends on SMP && !MV64360
957         help
958           This option gives the kernel permission to distribute IRQs across
959           multiple CPUs.  Saying N here will route all IRQs to the first
960           CPU.  Generally saying Y is safe, although some problems have been
961           reported with SMP Power Macintoshes with this option enabled.
962
963 config NR_CPUS
964         int "Maximum number of CPUs (2-32)"
965         range 2 32
966         depends on SMP
967         default "4"
968
969 config HIGHMEM
970         bool "High memory support"
971
972 config ARCH_POPULATES_NODE_MAP
973         def_bool y
974
975 source kernel/Kconfig.hz
976 source kernel/Kconfig.preempt
977 source "mm/Kconfig"
978
979 source "fs/Kconfig.binfmt"
980
981 config PREP_RESIDUAL
982         bool "Support for PReP Residual Data"
983         depends on PPC_PREP
984         help
985           Some PReP systems have residual data passed to the kernel by the
986           firmware.  This allows detection of memory size, devices present and
987           other useful pieces of information.  Sometimes this information is
988           not present or incorrect, in which case it could lead to the machine 
989           behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
990           or pass the 'noresidual' option to the kernel.
991
992           If you are running a PReP system, say Y here, otherwise say N.
993
994 config PROC_PREPRESIDUAL
995         bool "Support for reading of PReP Residual Data in /proc"
996         depends on PREP_RESIDUAL && PROC_FS
997         help
998           Enabling this option will create a /proc/residual file which allows
999           you to get at the residual data on PReP systems.  You will need a tool
1000           (lsresidual) to parse it.  If you aren't on a PReP system, you don't
1001           want this.
1002
1003 config CMDLINE_BOOL
1004         bool "Default bootloader kernel arguments"
1005
1006 config CMDLINE
1007         string "Initial kernel command string"
1008         depends on CMDLINE_BOOL
1009         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
1010         help
1011           On some platforms, there is currently no way for the boot loader to
1012           pass arguments to the kernel. For these platforms, you can supply
1013           some command-line options at build time by entering them here.  In
1014           most cases you will need to specify the root device here.
1015
1016 config AMIGA
1017         bool
1018         depends on APUS
1019         default y
1020         help
1021           This option enables support for the Amiga series of computers.
1022
1023 config ZORRO
1024         bool
1025         depends on APUS
1026         default y
1027         help
1028           This enables support for the Zorro bus in the Amiga. If you have
1029           expansion cards in your Amiga that conform to the Amiga
1030           AutoConfig(tm) specification, say Y, otherwise N. Note that even
1031           expansion cards that do not fit in the Zorro slots but fit in e.g.
1032           the CPU slot may fall in this category, so you have to say Y to let
1033           Linux use these.
1034
1035 config ABSTRACT_CONSOLE
1036         bool
1037         depends on APUS
1038         default y
1039
1040 config APUS_FAST_EXCEPT
1041         bool
1042         depends on APUS
1043         default y
1044
1045 config AMIGA_PCMCIA
1046         bool "Amiga 1200/600 PCMCIA support"
1047         depends on APUS && EXPERIMENTAL
1048         help
1049           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
1050           600. If you intend to use pcmcia cards say Y; otherwise say N.
1051
1052 config AMIGA_BUILTIN_SERIAL
1053         tristate "Amiga builtin serial support"
1054         depends on APUS
1055         help
1056           If you want to use your Amiga's built-in serial port in Linux,
1057           answer Y.
1058
1059           To compile this driver as a module, choose M here.
1060
1061 config GVPIOEXT
1062         tristate "GVP IO-Extender support"
1063         depends on APUS
1064         help
1065           If you want to use a GVP IO-Extender serial card in Linux, say Y.
1066           Otherwise, say N.
1067
1068 config GVPIOEXT_LP
1069         tristate "GVP IO-Extender parallel printer support"
1070         depends on GVPIOEXT
1071         help
1072           Say Y to enable driving a printer from the parallel port on your
1073           GVP IO-Extender card, N otherwise.
1074
1075 config GVPIOEXT_PLIP
1076         tristate "GVP IO-Extender PLIP support"
1077         depends on GVPIOEXT
1078         help
1079           Say Y to enable doing IP over the parallel port on your GVP
1080           IO-Extender card, N otherwise.
1081
1082 config MULTIFACE_III_TTY
1083         tristate "Multiface Card III serial support"
1084         depends on APUS
1085         help
1086           If you want to use a Multiface III card's serial port in Linux,
1087           answer Y.
1088
1089           To compile this driver as a module, choose M here.
1090
1091 config A2232
1092         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
1093         depends on EXPERIMENTAL && APUS
1094         ---help---
1095           This option supports the 2232 7-port serial card shipped with the
1096           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
1097           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
1098           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
1099           ports were connected with 8 pin DIN connectors on the card bracket,
1100           for which 8 pin to DB25 adapters were supplied. The card also had
1101           jumpers internally to toggle various pinning configurations.
1102
1103           This driver can be built as a module; but then "generic_serial"
1104           will also be built as a module. This has to be loaded before
1105           "ser_a2232". If you want to do this, answer M here.
1106
1107 config WHIPPET_SERIAL
1108         tristate "Hisoft Whippet PCMCIA serial support"
1109         depends on AMIGA_PCMCIA
1110         help
1111           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
1112           is no listing for the Whippet in their Amiga section.
1113
1114 config APNE
1115         tristate "PCMCIA NE2000 support"
1116         depends on AMIGA_PCMCIA
1117         help
1118           If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
1119           say N.
1120
1121           To compile this driver as a module, choose M here: the
1122           module will be called apne.
1123
1124 config SERIAL_CONSOLE
1125         bool "Support for serial port console"
1126         depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)
1127
1128 config HEARTBEAT
1129         bool "Use power LED as a heartbeat"
1130         depends on APUS
1131         help
1132           Use the power-on LED on your machine as a load meter.  The exact
1133           behavior is platform-dependent, but normally the flash frequency is
1134           a hyperbolic function of the 5-minute load average.
1135
1136 config PROC_HARDWARE
1137         bool "/proc/hardware support"
1138         depends on APUS
1139
1140 source "drivers/zorro/Kconfig"
1141
1142 if !44x || BROKEN
1143 source kernel/power/Kconfig
1144 endif
1145
1146 config SECCOMP
1147         bool "Enable seccomp to safely compute untrusted bytecode"
1148         depends on PROC_FS
1149         default y
1150         help
1151           This kernel feature is useful for number crunching applications
1152           that may need to compute untrusted bytecode during their
1153           execution. By using pipes or other transports made available to
1154           the process as file descriptors supporting the read/write
1155           syscalls, it's possible to isolate those applications in
1156           their own address space using seccomp. Once seccomp is
1157           enabled via /proc/<pid>/seccomp, it cannot be disabled
1158           and the task is only allowed to execute a few safe syscalls
1159           defined by each seccomp mode.
1160
1161           If unsure, say Y. Only embedded should say N here.
1162
1163 endmenu
1164
1165 config ISA_DMA_API
1166         bool
1167         default y
1168
1169 menu "Bus options"
1170
1171 config ISA
1172         bool "Support for ISA-bus hardware"
1173         depends on PPC_PREP
1174         help
1175           Find out whether you have ISA slots on your motherboard.  ISA is the
1176           name of a bus system, i.e. the way the CPU talks to the other stuff
1177           inside your box.  If you have an Apple machine, say N here; if you
1178           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
1179           you have an embedded board, consult your board documentation.
1180
1181 config GENERIC_ISA_DMA
1182         bool
1183         depends on 6xx && !CPM2
1184         default y
1185
1186 config PPC_I8259
1187         bool
1188         default y if 85xx || PPC_PREP
1189         default n
1190
1191 config PPC_INDIRECT_PCI
1192         bool
1193         depends on PCI
1194         default y if 40x || 44x || 85xx || 83xx || PPC_PREP
1195         default n
1196
1197 config EISA
1198         bool
1199         help
1200           The Extended Industry Standard Architecture (EISA) bus is a bus
1201           architecture used on some older intel-based PCs.
1202
1203 config SBUS
1204         bool
1205
1206 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1207 config MCA
1208         bool
1209
1210 config PCI
1211         bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx
1212         default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
1213         default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
1214         default PCI_QSPAN if !4xx && !CPM2 && 8xx
1215         help
1216           Find out whether your system includes a PCI bus. PCI is the name of
1217           a bus system, i.e. the way the CPU talks to the other stuff inside
1218           your box.  If you say Y here, the kernel will include drivers and
1219           infrastructure code to support PCI bus devices.
1220
1221 config PCI_DOMAINS
1222         bool
1223         default PCI
1224
1225 config MPC83xx_PCI2
1226         bool "Support for 2nd PCI host controller"
1227         depends on PCI && MPC834x
1228         default y if MPC834x_SYS
1229
1230 config PCI_QSPAN
1231         bool "QSpan PCI"
1232         depends on !4xx && !CPM2 && 8xx
1233         select PPC_I8259
1234         help
1235           Say Y here if you have a system based on a Motorola 8xx-series
1236           embedded processor with a QSPAN PCI interface, otherwise say N.
1237
1238 config PCI_8260
1239         bool
1240         depends on PCI && 8260
1241         select PPC_INDIRECT_PCI
1242         default y
1243
1244 config 8260_PCI9
1245         bool "Enable workaround for MPC826x erratum PCI 9"
1246         depends on PCI_8260 && !ADS8272
1247         default y
1248
1249 choice
1250         prompt "IDMA channel for PCI 9 workaround"
1251         depends on 8260_PCI9
1252
1253 config 8260_PCI9_IDMA1
1254         bool "IDMA1"
1255
1256 config 8260_PCI9_IDMA2
1257         bool "IDMA2"
1258
1259 config 8260_PCI9_IDMA3
1260         bool "IDMA3"
1261
1262 config 8260_PCI9_IDMA4
1263         bool "IDMA4"
1264
1265 endchoice
1266
1267 config PCI_PERMEDIA
1268         bool "PCI for Permedia2"
1269         depends on !4xx && !8xx && APUS
1270
1271 source "drivers/pci/Kconfig"
1272
1273 source "drivers/pcmcia/Kconfig"
1274
1275 config RAPIDIO
1276         bool "RapidIO support" if MPC8540 || MPC8560
1277         help
1278           If you say Y here, the kernel will include drivers and
1279           infrastructure code to support RapidIO interconnect devices.
1280
1281 source "drivers/rapidio/Kconfig"
1282
1283 endmenu
1284
1285 menu "Advanced setup"
1286
1287 config ADVANCED_OPTIONS
1288         bool "Prompt for advanced kernel configuration options"
1289         help
1290           This option will enable prompting for a variety of advanced kernel
1291           configuration options.  These options can cause the kernel to not
1292           work if they are set incorrectly, but can be used to optimize certain
1293           aspects of kernel memory management.
1294
1295           Unless you know what you are doing, say N here.
1296
1297 comment "Default settings for advanced configuration options are used"
1298         depends on !ADVANCED_OPTIONS
1299
1300 config HIGHMEM_START_BOOL
1301         bool "Set high memory pool address"
1302         depends on ADVANCED_OPTIONS && HIGHMEM
1303         help
1304           This option allows you to set the base address of the kernel virtual
1305           area used to map high memory pages.  This can be useful in
1306           optimizing the layout of kernel virtual memory.
1307
1308           Say N here unless you know what you are doing.
1309
1310 config HIGHMEM_START
1311         hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1312         default "0xfe000000"
1313
1314 config LOWMEM_SIZE_BOOL
1315         bool "Set maximum low memory"
1316         depends on ADVANCED_OPTIONS
1317         help
1318           This option allows you to set the maximum amount of memory which
1319           will be used as "low memory", that is, memory which the kernel can
1320           access directly, without having to set up a kernel virtual mapping.
1321           This can be useful in optimizing the layout of kernel virtual
1322           memory.
1323
1324           Say N here unless you know what you are doing.
1325
1326 config LOWMEM_SIZE
1327         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1328         default "0x30000000"
1329
1330 config KERNEL_START_BOOL
1331         bool "Set custom kernel base address"
1332         depends on ADVANCED_OPTIONS
1333         help
1334           This option allows you to set the kernel virtual address at which
1335           the kernel will map low memory (the kernel image will be linked at
1336           this address).  This can be useful in optimizing the virtual memory
1337           layout of the system.
1338
1339           Say N here unless you know what you are doing.
1340
1341 config KERNEL_START
1342         hex "Virtual address of kernel base" if KERNEL_START_BOOL
1343         default "0xc0000000"
1344
1345 config TASK_SIZE_BOOL
1346         bool "Set custom user task size"
1347         depends on ADVANCED_OPTIONS
1348         help
1349           This option allows you to set the amount of virtual address space
1350           allocated to user tasks.  This can be useful in optimizing the
1351           virtual memory layout of the system.
1352
1353           Say N here unless you know what you are doing.
1354
1355 config TASK_SIZE
1356         hex "Size of user task space" if TASK_SIZE_BOOL
1357         default "0x80000000"
1358
1359 config CONSISTENT_START_BOOL
1360         bool "Set custom consistent memory pool address"
1361         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1362         help
1363           This option allows you to set the base virtual address
1364           of the consistent memory pool.  This pool of virtual
1365           memory is used to make consistent memory allocations.
1366
1367 config CONSISTENT_START
1368         hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1369         default "0xff100000" if NOT_COHERENT_CACHE
1370
1371 config CONSISTENT_SIZE_BOOL
1372         bool "Set custom consistent memory pool size"
1373         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1374         help
1375           This option allows you to set the size of the
1376           consistent memory pool.  This pool of virtual memory
1377           is used to make consistent memory allocations.
1378
1379 config CONSISTENT_SIZE
1380         hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1381         default "0x00200000" if NOT_COHERENT_CACHE
1382
1383 config BOOT_LOAD_BOOL
1384         bool "Set the boot link/load address"
1385         depends on ADVANCED_OPTIONS && !PPC_PREP
1386         help
1387           This option allows you to set the initial load address of the zImage
1388           or zImage.initrd file.  This can be useful if you are on a board
1389           which has a small amount of memory.
1390
1391           Say N here unless you know what you are doing.
1392
1393 config BOOT_LOAD
1394         hex "Link/load address for booting" if BOOT_LOAD_BOOL
1395         default "0x00400000" if 40x || 8xx || 8260
1396         default "0x01000000" if 44x
1397         default "0x00800000"
1398
1399 config PIN_TLB
1400         bool "Pinned Kernel TLBs (860 ONLY)"
1401         depends on ADVANCED_OPTIONS && 8xx
1402 endmenu
1403
1404 source "net/Kconfig"
1405
1406 source "drivers/Kconfig"
1407
1408 source "fs/Kconfig"
1409
1410 source "arch/ppc/8xx_io/Kconfig"
1411
1412 source "arch/ppc/8260_io/Kconfig"
1413
1414
1415 menu "IBM 40x options"
1416         depends on 40x
1417
1418 config SERIAL_SICC
1419         bool "SICC Serial port"
1420         depends on STB03xxx
1421
1422 config UART1_DFLT_CONSOLE
1423         bool
1424         depends on SERIAL_SICC && UART0_TTYS1
1425         default y
1426
1427 config SERIAL_SICC_CONSOLE
1428         bool
1429         depends on SERIAL_SICC && UART0_TTYS1
1430         default y
1431
1432 endmenu
1433
1434 source "lib/Kconfig"
1435
1436 source "arch/powerpc/oprofile/Kconfig"
1437
1438 source "arch/ppc/Kconfig.debug"
1439
1440 source "security/Kconfig"
1441
1442 source "crypto/Kconfig"