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