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