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