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