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