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