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