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