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