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