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