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