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