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