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