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