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