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