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