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