]> pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/ppc/Kconfig
[PATCH] ppc32: Remove board support for SM850
[linux-2.6-omap-h63xx.git] / arch / ppc / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/kconfig-language.txt.
3 #
4
5 mainmenu "Linux/PowerPC Kernel Configuration"
6
7 config MMU
8         bool
9         default y
10
11 config UID16
12         bool
13
14 config GENERIC_HARDIRQS
15         bool
16         default y
17
18 config RWSEM_GENERIC_SPINLOCK
19         bool
20
21 config RWSEM_XCHGADD_ALGORITHM
22         bool
23         default y
24
25 config GENERIC_CALIBRATE_DELAY
26         bool
27         default y
28
29 config HAVE_DEC_LOCK
30         bool
31         default y
32
33 config PPC
34         bool
35         default y
36
37 config PPC32
38         bool
39         default y
40
41 # All PPCs use generic nvram driver through ppc_md
42 config GENERIC_NVRAM
43         bool
44         default y
45
46 config SCHED_NO_NO_OMIT_FRAME_POINTER
47         bool
48         default y
49
50 source "init/Kconfig"
51
52 menu "Processor"
53
54 choice
55         prompt "Processor Type"
56         default 6xx
57
58 config 6xx
59         bool "6xx/7xx/74xx/52xx/82xx/83xx"
60         select PPC_FPU
61         help
62           There are four types of PowerPC chips supported.  The more common
63           types (601, 603, 604, 740, 750, 7400), the Motorola embedded
64           versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the IBM embedded
65           versions (403 and 405) and the high end 64 bit Power processors
66           (POWER 3, POWER4, and IBM 970 also known as G5)
67           Unless you are building a kernel for one of the embedded processor
68           systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
69           Note that the kernel runs in 32-bit mode even on 64-bit chips.
70           Also note that because the 52xx, 82xx, & 83xx family has a 603e core,
71           specific support for that chipset is asked later on.
72
73 config 40x
74         bool "40x"
75
76 config 44x
77         bool "44x"
78
79 config POWER3
80         select PPC_FPU
81         bool "POWER3"
82
83 config POWER4
84         select PPC_FPU
85         bool "POWER4 and 970 (G5)"
86
87 config 8xx
88         bool "8xx"
89
90 config E200
91         bool "e200"
92
93 config E500
94         bool "e500"
95
96 endchoice
97
98 config PPC_FPU
99         bool
100
101 config BOOKE
102         bool
103         depends on E200 || E500
104         default y
105
106 config FSL_BOOKE
107         bool
108         depends on E200 || E500
109         default y
110
111 config PTE_64BIT
112         bool
113         depends on 44x || E500
114         default y if 44x
115         default y if E500 && PHYS_64BIT
116
117 config PHYS_64BIT
118         bool 'Large physical address support' if E500
119         depends on 44x || E500
120         default y if 44x
121         ---help---
122           This option enables kernel support for larger than 32-bit physical
123           addresses.  This features is not be available on all e500 cores.
124
125           If in doubt, say N here.
126
127 config ALTIVEC
128         bool "AltiVec Support"
129         depends on 6xx || POWER4
130         depends on !8260 && !83xx
131         ---help---
132           This option enables kernel support for the Altivec extensions to the
133           PowerPC processor. The kernel currently supports saving and restoring
134           altivec registers, and turning on the 'altivec enable' bit so user
135           processes can execute altivec instructions.
136
137           This option is only usefully if you have a processor that supports
138           altivec (G4, otherwise known as 74xx series), but does not have
139           any affect on a non-altivec cpu (it does, however add code to the
140           kernel).
141
142           If in doubt, say Y here.
143
144 config SPE
145         bool "SPE Support"
146         depends on E200 || E500
147         ---help---
148           This option enables kernel support for the Signal Processing
149           Extensions (SPE) to the PowerPC processor. The kernel currently
150           supports saving and restoring SPE registers, and turning on the
151           'spe enable' bit so user processes can execute SPE instructions.
152
153           This option is only useful if you have a processor that supports
154           SPE (e500, otherwise known as 85xx series), but does not have any
155           effect on a non-spe cpu (it does, however add code to the kernel).
156
157           If in doubt, say Y here.
158
159 config TAU
160         bool "Thermal Management Support"
161         depends on 6xx && !8260 && !83xx
162         help
163           G3 and G4 processors have an on-chip temperature sensor called the
164           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
165           temperature within 2-4 degrees Celsius. This option shows the current
166           on-die temperature in /proc/cpuinfo if the cpu supports it.
167
168           Unfortunately, on some chip revisions, this sensor is very inaccurate
169           and in some cases, does not work at all, so don't assume the cpu
170           temp is actually what /proc/cpuinfo says it is.
171
172 config TAU_INT
173         bool "Interrupt driven TAU driver (DANGEROUS)"
174         depends on TAU
175         ---help---
176           The TAU supports an interrupt driven mode which causes an interrupt
177           whenever the temperature goes out of range. This is the fastest way
178           to get notified the temp has exceeded a range. With this option off,
179           a timer is used to re-check the temperature periodically.
180
181           However, on some cpus it appears that the TAU interrupt hardware
182           is buggy and can cause a situation which would lead unexplained hard
183           lockups.
184
185           Unless you are extending the TAU driver, or enjoy kernel/hardware
186           debugging, leave this option off.
187
188 config TAU_AVERAGE
189         bool "Average high and low temp"
190         depends on TAU
191         ---help---
192           The TAU hardware can compare the temperature to an upper and lower
193           bound.  The default behavior is to show both the upper and lower
194           bound in /proc/cpuinfo. If the range is large, the temperature is
195           either changing a lot, or the TAU hardware is broken (likely on some
196           G4's). If the range is small (around 4 degrees), the temperature is
197           relatively stable.  If you say Y here, a single temperature value,
198           halfway between the upper and lower bounds, will be reported in
199           /proc/cpuinfo.
200
201           If in doubt, say N here.
202
203 config MATH_EMULATION
204         bool "Math emulation"
205         depends on 4xx || 8xx || E200 || E500
206         ---help---
207           Some PowerPC chips designed for embedded applications do not have
208           a floating-point unit and therefore do not implement the
209           floating-point instructions in the PowerPC instruction set.  If you
210           say Y here, the kernel will include code to emulate a floating-point
211           unit, which will allow programs that use floating-point
212           instructions to run.
213
214           If you have an Apple machine or an IBM RS/6000 or pSeries machine,
215           or any machine with a 6xx, 7xx or 7xxx series processor, say N
216           here.  Saying Y here will not hurt performance (on any machine) but
217           will increase the size of the kernel.
218
219 config KEXEC
220         bool "kexec system call (EXPERIMENTAL)"
221         depends on EXPERIMENTAL
222         help
223           kexec is a system call that implements the ability to shutdown your
224           current kernel, and to start another kernel.  It is like a reboot
225           but it is indepedent of the system firmware.   And like a reboot
226           you can start any kernel with it, not just Linux.
227
228           The name comes from the similiarity to the exec system call.
229
230           It is an ongoing process to be certain the hardware in a machine
231           is properly shutdown, so do not be surprised if this code does not
232           initially work for you.  It may help to enable device hotplugging
233           support.  As of this writing the exact hardware interface is
234           strongly in flux, so no good recommendation can be made.
235
236           In the GameCube implementation, kexec allows you to load and
237           run DOL files, including kernel and homebrew DOLs.
238
239 source "drivers/cpufreq/Kconfig"
240
241 config CPU_FREQ_PMAC
242         bool "Support for Apple PowerBooks"
243         depends on CPU_FREQ && ADB_PMU
244         select CPU_FREQ_TABLE
245         help
246           This adds support for frequency switching on Apple PowerBooks,
247           this currently includes some models of iBook & Titanium
248           PowerBook.
249
250 config PPC601_SYNC_FIX
251         bool "Workarounds for PPC601 bugs"
252         depends on 6xx && (PPC_PREP || PPC_PMAC)
253         help
254           Some versions of the PPC601 (the first PowerPC chip) have bugs which
255           mean that extra synchronization instructions are required near
256           certain instructions, typically those that make major changes to the
257           CPU state.  These extra instructions reduce performance slightly.
258           If you say N here, these extra instructions will not be included,
259           resulting in a kernel which will run faster but may not run at all
260           on some systems with the PPC601 chip.
261
262           If in doubt, say Y here.
263
264 source arch/ppc/platforms/4xx/Kconfig
265 source arch/ppc/platforms/85xx/Kconfig
266
267 config PPC64BRIDGE
268         bool
269         depends on POWER3 || POWER4
270         default y
271
272 config PPC_STD_MMU
273         bool
274         depends on 6xx || POWER3 || POWER4
275         default y
276
277 config NOT_COHERENT_CACHE
278         bool
279         depends on 4xx || 8xx || E200
280         default y
281
282 endmenu
283
284 menu "Platform options"
285
286 config FADS
287         bool
288
289 choice
290         prompt "8xx Machine Type"
291         depends on 8xx
292         default RPXLITE
293
294 config RPXLITE
295         bool "RPX-Lite"
296         ---help---
297           Single-board computers based around the PowerPC MPC8xx chips and
298           intended for embedded applications.  The following types are
299           supported:
300
301           RPX-Lite:
302           Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.
303
304           RPX-Classic:
305           Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
306           the MPC 860
307
308           BSE-IP:
309           Bright Star Engineering ip-Engine.
310
311           TQM823L:
312           TQM850L:
313           TQM855L:
314           TQM860L:
315           MPC8xx based family of mini modules, half credit card size,
316           up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
317           2 x CAN bus interface, ...
318           Manufacturer: TQ Components, www.tq-group.de
319           Date of Release: October (?) 1999
320           End of Life: not yet :-)
321           URL:
322           - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
323           - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
324           - images: <http://www.denx.de/embedded-ppc-en.html>
325
326           FPS850L:
327           FingerPrint Sensor System (based on TQM850L)
328           Manufacturer: IKENDI AG, <http://www.ikendi.com/>
329           Date of Release: November 1999
330           End of life: end 2000 ?
331           URL: see TQM850L
332
333           SPD823TS:
334           MPC823 based board used in the "Tele Server" product
335           Manufacturer: Speech Design, <http://www.speech-design.de/>
336           Date of Release: Mid 2000 (?)
337           End of life: -
338           URL: <http://www.speech-design.de/>
339           select "English", then "Teleteam Solutions", then "TeleServer"
340
341           IVMS8:
342           MPC860 based board used in the "Integrated Voice Mail System",
343           Small Version (8 voice channels)
344           Manufacturer: Speech Design, <http://www.speech-design.de/>
345           Date of Release: December 2000 (?)
346           End of life: -
347           URL: <http://www.speech-design.de/>
348
349           IVML24:
350           MPC860 based board used in the "Integrated Voice Mail System",
351           Large Version (24 voice channels)
352           Manufacturer: Speech Design, <http://www.speech-design.de/>
353           Date of Release: March 2001  (?)
354           End of life: -
355           URL: <http://www.speech-design.de/>
356
357           HERMES:
358           Hermes-Pro ISDN/LAN router with integrated 8 x hub
359           Manufacturer: Multidata Gesellschaft fur Datentechnik und Informatik
360           <http://www.multidata.de/>
361           Date of Release: 2000 (?)
362           End of life: -
363           URL: <http://www.multidata.de/english/products/hpro.htm>
364
365           IP860:
366           VMEBus IP (Industry Pack) carrier board with MPC860
367           Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
368           Date of Release: ?
369           End of life: -
370           URL: <http://www.microsys.de/html/ip860.html>
371
372           PCU_E:
373           PCU = Peripheral Controller Unit, Extended
374           Manufacturer: Siemens AG, ICN (Information and Communication Networks)
375                 <http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
376           Date of Release: April 2001
377           End of life: August 2001
378           URL: n. a.
379
380 config RPXCLASSIC
381         bool "RPX-Classic"
382         help
383           The RPX-Classic is a single-board computer based on the Motorola
384           MPC860.  It features 16MB of DRAM and a variable amount of flash,
385           I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
386           LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
387           directly.
388
389 config BSEIP
390         bool "BSE-IP"
391         help
392           Say Y here to support the Bright Star Engineering ipEngine SBC.
393           This is a credit-card-sized device featuring a MPC823 processor,
394           26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
395           controller, and two RS232 ports.
396
397 config MPC8XXFADS
398         bool "FADS"
399         select FADS
400
401 config MPC86XADS
402         bool "MPC86XADS"
403         help
404           MPC86x Application Development System by Freescale Semiconductor.
405           The MPC86xADS is meant to serve as a platform for s/w and h/w
406           development around the MPC86X processor families.
407         select FADS
408
409 config MPC885ADS
410         bool "MPC885ADS"
411         help
412           Freescale Semiconductor MPC885 Application Development System (ADS).
413           Also known as DUET.
414           The MPC885ADS is meant to serve as a platform for s/w and h/w
415           development around the MPC885 processor family.
416
417 config TQM823L
418         bool "TQM823L"
419         help
420           Say Y here to support the TQM823L, one of an MPC8xx-based family of
421           mini SBCs (half credit-card size) from TQ Components first released
422           in late 1999.  Technical references are at
423           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
424           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
425           <http://www.denx.de/embedded-ppc-en.html>.
426
427 config TQM850L
428         bool "TQM850L"
429         help
430           Say Y here to support the TQM850L, one of an MPC8xx-based family of
431           mini SBCs (half credit-card size) from TQ Components first released
432           in late 1999.  Technical references are at
433           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
434           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
435           <http://www.denx.de/embedded-ppc-en.html>.
436
437 config TQM855L
438         bool "TQM855L"
439         help
440           Say Y here to support the TQM855L, one of an MPC8xx-based family of
441           mini SBCs (half credit-card size) from TQ Components first released
442           in late 1999.  Technical references are at
443           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
444           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
445           <http://www.denx.de/embedded-ppc-en.html>.
446
447 config TQM860L
448         bool "TQM860L"
449         help
450           Say Y here to support the TQM860L, one of an MPC8xx-based family of
451           mini SBCs (half credit-card size) from TQ Components first released
452           in late 1999.  Technical references are at
453           <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
454           <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
455           <http://www.denx.de/embedded-ppc-en.html>.
456
457 config FPS850L
458         bool "FPS850L"
459
460 config SPD823TS
461         bool "SPD823TS"
462         help
463           Say Y here to support the Speech Design 823 Tele-Server from Speech
464           Design, released in 2000.  The manufacturer's website is at
465           <http://www.speech-design.de/>.
466
467 config IVMS8
468         bool "IVMS8"
469         help
470           Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
471           from Speech Design, released March 2001.  The manufacturer's website
472           is at <http://www.speech-design.de/>.
473
474 config IVML24
475         bool "IVML24"
476         help
477           Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
478           from Speech Design, released March 2001.  The manufacturer's website
479           is at <http://www.speech-design.de/>.
480
481 config HERMES_PRO
482         bool "HERMES"
483
484 config IP860
485         bool "IP860"
486
487 config LWMON
488         bool "LWMON"
489
490 config PCU_E
491         bool "PCU_E"
492
493 config CCM
494         bool "CCM"
495
496 config LANTEC
497         bool "LANTEC"
498
499 config MBX
500         bool "MBX"
501         help
502           MBX is a line of Motorola single-board computer based around the
503           MPC821 and MPC860 processors, and intended for embedded-controller
504           applications.  Say Y here to support these boards directly.
505
506 config WINCEPT
507         bool "WinCept"
508         help
509           The Wincept 100/110 is a Motorola single-board computer based on the
510           MPC821 PowerPC, introduced in 1998 and designed to be used in
511           thin-client machines.  Say Y to support it directly.
512
513 endchoice
514
515 choice
516         prompt "Machine Type"
517         depends on 6xx || POWER3 || POWER4
518         default PPC_MULTIPLATFORM
519         ---help---
520           Linux currently supports several different kinds of PowerPC-based
521           machines: Apple Power Macintoshes and clones (such as the Motorola
522           Starmax series), PReP (PowerPC Reference Platform) machines (such
523           as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
524           and some IBM RS/6000 systems), CHRP (Common Hardware Reference
525           Platform) machines (including all of the recent IBM RS/6000 and
526           pSeries machines), and several embedded PowerPC systems containing
527           4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
528           default option is to build a kernel which works on the first three.
529
530           Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or
531           pSeries machine, a Power Macintosh (including iMacs, iBooks and
532           Powerbooks), or a PReP machine.
533
534           Select Gemini if configuring for a Synergy Microsystems' Gemini
535           series Single Board Computer.  More information is available at:
536           <http://www.synergymicro.com/PressRel/97_10_15.html>.
537
538           Select APUS if configuring for a PowerUP Amiga.  More information is
539           available at: <http://linux-apus.sourceforge.net/>.
540
541 config PPC_MULTIPLATFORM
542         bool "CHRP/PowerMac/PReP"
543
544 config APUS
545         bool "Amiga-APUS"
546         depends on BROKEN
547         help
548           Select APUS if configuring for a PowerUP Amiga.
549           More information is available at:
550           <http://linux-apus.sourceforge.net/>.
551
552 config KATANA
553         bool "Artesyn-Katana"
554         help
555           Select KATANA if configuring an Artesyn KATANA 750i or 3750
556           cPCI board.
557
558 config WILLOW
559         bool "Cogent-Willow"
560
561 config CPCI690
562         bool "Force-CPCI690"
563         help
564           Select CPCI690 if configuring a Force CPCI690 cPCI board.
565
566 config PCORE
567         bool "Force-PowerCore"
568
569 config POWERPMC250
570         bool "Force-PowerPMC250"
571
572 config CHESTNUT
573         bool "IBM 750FX Eval board or 750GX Eval board"
574         help
575           Select CHESTNUT if configuring an IBM 750FX Eval Board or a
576           IBM 750GX Eval board.
577
578 config SPRUCE
579         bool "IBM-Spruce"
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 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
601 config MVME5100
602         bool "Motorola-MVME5100"
603
604 config PPLUS
605         bool "Motorola-PowerPlus"
606
607 config PRPMC750
608         bool "Motorola-PrPMC750"
609
610 config PRPMC800
611         bool "Motorola-PrPMC800"
612
613 config SANDPOINT
614         bool "Motorola-Sandpoint"
615         help
616           Select SANDPOINT if configuring for a Motorola Sandpoint X3
617           (any flavor).
618
619 config RADSTONE_PPC7D
620         bool "Radstone Technology PPC7D board"
621
622 config PAL4
623         bool "SBS-Palomar4"
624
625 config GEMINI
626         bool "Synergy-Gemini"
627         depends on BROKEN
628         help
629           Select Gemini if configuring for a Synergy Microsystems' Gemini
630           series Single Board Computer.  More information is available at:
631           <http://www.synergymicro.com/PressRel/97_10_15.html>.
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 MPC834x_SYS
688         bool "Freescale MPC834x SYS"
689         help
690           This option enables support for the MPC 834x SYS evaluation board.
691
692 endchoice
693
694 config PQ2ADS
695         bool
696         depends on ADS8272
697         default y
698
699 config TQM8xxL
700         bool
701         depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L)
702         default y
703
704 config EMBEDDEDBOOT
705         bool
706         depends on 8xx || 8260
707         default y
708
709 config PPC_MPC52xx
710         bool
711
712 config 8260
713         bool "CPM2 Support" if WILLOW
714         depends on 6xx
715         default y if TQM8260 || RPX8260 || EST8260 || SBS8260 || SBC82xx || PQ2FADS
716         help
717           The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
718           this option means that you wish to build a kernel for a machine with
719           an 8260 class CPU.
720
721 config 8272
722         bool
723         depends on 6xx
724         default y if ADS8272
725         select 8260
726         help
727           The MPC8272 CPM has a different internal dpram setup than other CPM2
728           devices
729
730 config 83xx
731         bool
732         default y if MPC834x_SYS
733
734 config MPC834x
735         bool
736         default y if MPC834x_SYS
737
738 config CPM2
739         bool
740         depends on 8260 || MPC8560 || MPC8555
741         default y
742         help
743           The CPM2 (Communications Processor Module) is a coprocessor on
744           embedded CPUs made by Motorola.  Selecting this option means that
745           you wish to build a kernel for a machine with a CPM2 coprocessor
746           on it (826x, 827x, 8560).
747
748 config PPC_CHRP
749         bool
750         depends on PPC_MULTIPLATFORM
751         default y
752
753 config PPC_PMAC
754         bool
755         depends on PPC_MULTIPLATFORM
756         default y
757
758 config PPC_PMAC64
759         bool
760         depends on PPC_PMAC && POWER4
761         default y
762
763 config PPC_PREP
764         bool
765         depends on PPC_MULTIPLATFORM
766         default y
767
768 config PPC_OF
769         bool
770         depends on PPC_PMAC || PPC_CHRP
771         default y
772
773 config PPC_GEN550
774         bool
775         depends on SANDPOINT || SPRUCE || PPLUS || PCORE || \
776                 PRPMC750 || PRPMC800 || LOPEC || \
777                 (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D || \
778                 83xx
779         default y
780
781 config FORCE
782         bool
783         depends on 6xx && (PCORE || POWERPMC250)
784         default y
785
786 config GT64260
787         bool
788         depends on EV64260 || CPCI690
789         default y
790
791 config MV64360          # Really MV64360 & MV64460
792         bool
793         depends on CHESTNUT || KATANA || RADSTONE_PPC7D || HDPU
794         default y
795
796 config MV64X60
797         bool
798         depends on (GT64260 || MV64360)
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 PCORE || POWERPMC250 || LOPEC || SANDPOINT
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
873 config SPRUCE_BAUD_33M
874         bool "Spruce baud clock support"
875         depends on SPRUCE
876
877 config PC_KEYBOARD
878         bool "PC PS/2 style Keyboard"
879         depends on 4xx || CPM2
880
881 config PPCBUG_NVRAM
882         bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
883         default y if PPC_PREP
884
885 config SMP
886         depends on PPC_STD_MMU
887         bool "Symmetric multi-processing support"
888         ---help---
889           This enables support for systems with more than one CPU. If you have
890           a system with only one CPU, say N. If you have a system with more
891           than one CPU, say Y.  Note that the kernel does not currently
892           support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
893           since they have inadequate hardware support for multiprocessor
894           operation.
895
896           If you say N here, the kernel will run on single and multiprocessor
897           machines, but will use only one CPU of a multiprocessor machine. If
898           you say Y here, the kernel will run on single-processor machines.
899           On a single-processor machine, the kernel will run faster if you say
900           N here.
901
902           If you don't know what to do here, say N.
903
904 config IRQ_ALL_CPUS
905         bool "Distribute interrupts on all CPUs by default"
906         depends on SMP && !MV64360
907         help
908           This option gives the kernel permission to distribute IRQs across
909           multiple CPUs.  Saying N here will route all IRQs to the first
910           CPU.  Generally saying Y is safe, although some problems have been
911           reported with SMP Power Macintoshes with this option enabled.
912
913 config NR_CPUS
914         int "Maximum number of CPUs (2-32)"
915         range 2 32
916         depends on SMP
917         default "4"
918
919 config HIGHMEM
920         bool "High memory support"
921
922 source kernel/Kconfig.hz
923 source kernel/Kconfig.preempt
924 source "mm/Kconfig"
925
926 source "fs/Kconfig.binfmt"
927
928 config PROC_DEVICETREE
929         bool "Support for Open Firmware device tree in /proc"
930         depends on PPC_OF && PROC_FS
931         help
932           This option adds a device-tree directory under /proc which contains
933           an image of the device tree that the kernel copies from Open
934           Firmware. If unsure, say Y here.
935
936 config PREP_RESIDUAL
937         bool "Support for PReP Residual Data"
938         depends on PPC_PREP
939         help
940           Some PReP systems have residual data passed to the kernel by the
941           firmware.  This allows detection of memory size, devices present and
942           other useful pieces of information.  Sometimes this information is
943           not present or incorrect, in which case it could lead to the machine 
944           behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
945           or pass the 'noresidual' option to the kernel.
946
947           If you are running a PReP system, say Y here, otherwise say N.
948
949 config PROC_PREPRESIDUAL
950         bool "Support for reading of PReP Residual Data in /proc"
951         depends on PREP_RESIDUAL && PROC_FS
952         help
953           Enabling this option will create a /proc/residual file which allows
954           you to get at the residual data on PReP systems.  You will need a tool
955           (lsresidual) to parse it.  If you aren't on a PReP system, you don't
956           want this.
957
958 config CMDLINE_BOOL
959         bool "Default bootloader kernel arguments"
960
961 config CMDLINE
962         string "Initial kernel command string"
963         depends on CMDLINE_BOOL
964         default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
965         help
966           On some platforms, there is currently no way for the boot loader to
967           pass arguments to the kernel. For these platforms, you can supply
968           some command-line options at build time by entering them here.  In
969           most cases you will need to specify the root device here.
970
971 config AMIGA
972         bool
973         depends on APUS
974         default y
975         help
976           This option enables support for the Amiga series of computers.
977
978 config ZORRO
979         bool
980         depends on APUS
981         default y
982         help
983           This enables support for the Zorro bus in the Amiga. If you have
984           expansion cards in your Amiga that conform to the Amiga
985           AutoConfig(tm) specification, say Y, otherwise N. Note that even
986           expansion cards that do not fit in the Zorro slots but fit in e.g.
987           the CPU slot may fall in this category, so you have to say Y to let
988           Linux use these.
989
990 config ABSTRACT_CONSOLE
991         bool
992         depends on APUS
993         default y
994
995 config APUS_FAST_EXCEPT
996         bool
997         depends on APUS
998         default y
999
1000 config AMIGA_PCMCIA
1001         bool "Amiga 1200/600 PCMCIA support"
1002         depends on APUS && EXPERIMENTAL
1003         help
1004           Include support in the kernel for pcmcia on Amiga 1200 and Amiga
1005           600. If you intend to use pcmcia cards say Y; otherwise say N.
1006
1007 config AMIGA_BUILTIN_SERIAL
1008         tristate "Amiga builtin serial support"
1009         depends on APUS
1010         help
1011           If you want to use your Amiga's built-in serial port in Linux,
1012           answer Y.
1013
1014           To compile this driver as a module, choose M here.
1015
1016 config GVPIOEXT
1017         tristate "GVP IO-Extender support"
1018         depends on APUS
1019         help
1020           If you want to use a GVP IO-Extender serial card in Linux, say Y.
1021           Otherwise, say N.
1022
1023 config GVPIOEXT_LP
1024         tristate "GVP IO-Extender parallel printer support"
1025         depends on GVPIOEXT
1026         help
1027           Say Y to enable driving a printer from the parallel port on your
1028           GVP IO-Extender card, N otherwise.
1029
1030 config GVPIOEXT_PLIP
1031         tristate "GVP IO-Extender PLIP support"
1032         depends on GVPIOEXT
1033         help
1034           Say Y to enable doing IP over the parallel port on your GVP
1035           IO-Extender card, N otherwise.
1036
1037 config MULTIFACE_III_TTY
1038         tristate "Multiface Card III serial support"
1039         depends on APUS
1040         help
1041           If you want to use a Multiface III card's serial port in Linux,
1042           answer Y.
1043
1044           To compile this driver as a module, choose M here.
1045
1046 config A2232
1047         tristate "Commodore A2232 serial support (EXPERIMENTAL)"
1048         depends on EXPERIMENTAL && APUS
1049         ---help---
1050           This option supports the 2232 7-port serial card shipped with the
1051           Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
1052           a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
1053           each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
1054           ports were connected with 8 pin DIN connectors on the card bracket,
1055           for which 8 pin to DB25 adapters were supplied. The card also had
1056           jumpers internally to toggle various pinning configurations.
1057
1058           This driver can be built as a module; but then "generic_serial"
1059           will also be built as a module. This has to be loaded before
1060           "ser_a2232". If you want to do this, answer M here.
1061
1062 config WHIPPET_SERIAL
1063         tristate "Hisoft Whippet PCMCIA serial support"
1064         depends on AMIGA_PCMCIA
1065         help
1066           HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
1067           is no listing for the Whippet in their Amiga section.
1068
1069 config APNE
1070         tristate "PCMCIA NE2000 support"
1071         depends on AMIGA_PCMCIA
1072         help
1073           If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
1074           say N.
1075
1076           To compile this driver as a module, choose M here: the
1077           module will be called apne.
1078
1079 config SERIAL_CONSOLE
1080         bool "Support for serial port console"
1081         depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)
1082
1083 config HEARTBEAT
1084         bool "Use power LED as a heartbeat"
1085         depends on APUS
1086         help
1087           Use the power-on LED on your machine as a load meter.  The exact
1088           behavior is platform-dependent, but normally the flash frequency is
1089           a hyperbolic function of the 5-minute load average.
1090
1091 config PROC_HARDWARE
1092         bool "/proc/hardware support"
1093         depends on APUS
1094
1095 source "drivers/zorro/Kconfig"
1096
1097 if !44x || BROKEN
1098 source kernel/power/Kconfig
1099 endif
1100
1101 config SECCOMP
1102         bool "Enable seccomp to safely compute untrusted bytecode"
1103         depends on PROC_FS
1104         default y
1105         help
1106           This kernel feature is useful for number crunching applications
1107           that may need to compute untrusted bytecode during their
1108           execution. By using pipes or other transports made available to
1109           the process as file descriptors supporting the read/write
1110           syscalls, it's possible to isolate those applications in
1111           their own address space using seccomp. Once seccomp is
1112           enabled via /proc/<pid>/seccomp, it cannot be disabled
1113           and the task is only allowed to execute a few safe syscalls
1114           defined by each seccomp mode.
1115
1116           If unsure, say Y. Only embedded should say N here.
1117
1118 endmenu
1119
1120 config ISA_DMA_API
1121         bool
1122         default y
1123
1124 menu "Bus options"
1125
1126 config ISA
1127         bool "Support for ISA-bus hardware"
1128         depends on PPC_PREP || PPC_CHRP
1129         help
1130           Find out whether you have ISA slots on your motherboard.  ISA is the
1131           name of a bus system, i.e. the way the CPU talks to the other stuff
1132           inside your box.  If you have an Apple machine, say N here; if you
1133           have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
1134           you have an embedded board, consult your board documentation.
1135
1136 config GENERIC_ISA_DMA
1137         bool
1138         depends on POWER3 || POWER4 || 6xx && !CPM2
1139         default y
1140
1141 config EISA
1142         bool
1143         help
1144           The Extended Industry Standard Architecture (EISA) bus is a bus
1145           architecture used on some older intel-based PCs.
1146
1147 config SBUS
1148         bool
1149
1150 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1151 config MCA
1152         bool
1153
1154 config PCI
1155         bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx
1156         default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
1157         default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
1158         default PCI_QSPAN if !4xx && !CPM2 && 8xx
1159         help
1160           Find out whether your system includes a PCI bus. PCI is the name of
1161           a bus system, i.e. the way the CPU talks to the other stuff inside
1162           your box.  If you say Y here, the kernel will include drivers and
1163           infrastructure code to support PCI bus devices.
1164
1165 config PCI_DOMAINS
1166         bool
1167         default PCI
1168
1169 config PCI_QSPAN
1170         bool "QSpan PCI"
1171         depends on !4xx && !CPM2 && 8xx
1172         help
1173           Say Y here if you have a system based on a Motorola 8xx-series
1174           embedded processor with a QSPAN PCI interface, otherwise say N.
1175
1176 config PCI_8260
1177         bool
1178         depends on PCI && 8260
1179         default y
1180
1181 config 8260_PCI9
1182         bool "  Enable workaround for MPC826x erratum PCI 9"
1183         depends on PCI_8260 && !ADS8272
1184         default y
1185
1186 choice
1187         prompt "  IDMA channel for PCI 9 workaround"
1188         depends on 8260_PCI9
1189
1190 config 8260_PCI9_IDMA1
1191         bool "IDMA1"
1192
1193 config 8260_PCI9_IDMA2
1194         bool "IDMA2"
1195
1196 config 8260_PCI9_IDMA3
1197         bool "IDMA3"
1198
1199 config 8260_PCI9_IDMA4
1200         bool "IDMA4"
1201
1202 endchoice
1203
1204 config PCI_PERMEDIA
1205         bool "PCI for Permedia2"
1206         depends on !4xx && !8xx && APUS
1207
1208 source "drivers/pci/Kconfig"
1209
1210 source "drivers/pcmcia/Kconfig"
1211
1212 endmenu
1213
1214 menu "Advanced setup"
1215
1216 config ADVANCED_OPTIONS
1217         bool "Prompt for advanced kernel configuration options"
1218         help
1219           This option will enable prompting for a variety of advanced kernel
1220           configuration options.  These options can cause the kernel to not
1221           work if they are set incorrectly, but can be used to optimize certain
1222           aspects of kernel memory management.
1223
1224           Unless you know what you are doing, say N here.
1225
1226 comment "Default settings for advanced configuration options are used"
1227         depends on !ADVANCED_OPTIONS
1228
1229 config HIGHMEM_START_BOOL
1230         bool "Set high memory pool address"
1231         depends on ADVANCED_OPTIONS && HIGHMEM
1232         help
1233           This option allows you to set the base address of the kernel virtual
1234           area used to map high memory pages.  This can be useful in
1235           optimizing the layout of kernel virtual memory.
1236
1237           Say N here unless you know what you are doing.
1238
1239 config HIGHMEM_START
1240         hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1241         default "0xfe000000"
1242
1243 config LOWMEM_SIZE_BOOL
1244         bool "Set maximum low memory"
1245         depends on ADVANCED_OPTIONS
1246         help
1247           This option allows you to set the maximum amount of memory which
1248           will be used as "low memory", that is, memory which the kernel can
1249           access directly, without having to set up a kernel virtual mapping.
1250           This can be useful in optimizing the layout of kernel virtual
1251           memory.
1252
1253           Say N here unless you know what you are doing.
1254
1255 config LOWMEM_SIZE
1256         hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1257         default "0x30000000"
1258
1259 config KERNEL_START_BOOL
1260         bool "Set custom kernel base address"
1261         depends on ADVANCED_OPTIONS
1262         help
1263           This option allows you to set the kernel virtual address at which
1264           the kernel will map low memory (the kernel image will be linked at
1265           this address).  This can be useful in optimizing the virtual memory
1266           layout of the system.
1267
1268           Say N here unless you know what you are doing.
1269
1270 config KERNEL_START
1271         hex "Virtual address of kernel base" if KERNEL_START_BOOL
1272         default "0xc0000000"
1273
1274 config TASK_SIZE_BOOL
1275         bool "Set custom user task size"
1276         depends on ADVANCED_OPTIONS
1277         help
1278           This option allows you to set the amount of virtual address space
1279           allocated to user tasks.  This can be useful in optimizing the
1280           virtual memory layout of the system.
1281
1282           Say N here unless you know what you are doing.
1283
1284 config TASK_SIZE
1285         hex "Size of user task space" if TASK_SIZE_BOOL
1286         default "0x80000000"
1287
1288 config CONSISTENT_START_BOOL
1289         bool "Set custom consistent memory pool address"
1290         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1291         help
1292           This option allows you to set the base virtual address
1293           of the the consistent memory pool.  This pool of virtual
1294           memory is used to make consistent memory allocations.
1295
1296 config CONSISTENT_START
1297         hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1298         default "0xff100000" if NOT_COHERENT_CACHE
1299
1300 config CONSISTENT_SIZE_BOOL
1301         bool "Set custom consistent memory pool size"
1302         depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1303         help
1304           This option allows you to set the size of the the
1305           consistent memory pool.  This pool of virtual memory
1306           is used to make consistent memory allocations.
1307
1308 config CONSISTENT_SIZE
1309         hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1310         default "0x00200000" if NOT_COHERENT_CACHE
1311
1312 config BOOT_LOAD_BOOL
1313         bool "Set the boot link/load address"
1314         depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1315         help
1316           This option allows you to set the initial load address of the zImage
1317           or zImage.initrd file.  This can be useful if you are on a board
1318           which has a small amount of memory.
1319
1320           Say N here unless you know what you are doing.
1321
1322 config BOOT_LOAD
1323         hex "Link/load address for booting" if BOOT_LOAD_BOOL
1324         default "0x00400000" if 40x || 8xx || 8260
1325         default "0x01000000" if 44x
1326         default "0x00800000"
1327
1328 config PIN_TLB
1329         bool "Pinned Kernel TLBs (860 ONLY)"
1330         depends on ADVANCED_OPTIONS && 8xx
1331 endmenu
1332
1333 source "net/Kconfig"
1334
1335 source "drivers/Kconfig"
1336
1337 source "fs/Kconfig"
1338
1339 source "arch/ppc/8xx_io/Kconfig"
1340
1341 source "arch/ppc/8260_io/Kconfig"
1342
1343
1344 menu "IBM 40x options"
1345         depends on 40x
1346
1347 config SERIAL_SICC
1348         bool "SICC Serial port"
1349         depends on STB03xxx
1350
1351 config UART1_DFLT_CONSOLE
1352         bool
1353         depends on SERIAL_SICC && UART0_TTYS1
1354         default y
1355
1356 config SERIAL_SICC_CONSOLE
1357         bool
1358         depends on SERIAL_SICC && UART0_TTYS1
1359         default y
1360
1361 endmenu
1362
1363 source "lib/Kconfig"
1364
1365 source "arch/ppc/oprofile/Kconfig"
1366
1367 source "arch/ppc/Kconfig.debug"
1368
1369 source "security/Kconfig"
1370
1371 source "crypto/Kconfig"