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