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