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