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