aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r--arch/powerpc/Kconfig485
1 files changed, 62 insertions, 423 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 6dfbd52694ab..8de5f9ff4ade 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -11,6 +11,11 @@ config PPC64
11 This option selects whether a 32-bit or a 64-bit kernel 11 This option selects whether a 32-bit or a 64-bit kernel
12 will be built. 12 will be built.
13 13
14config PPC_PM_NEEDS_RTC_LIB
15 bool
16 select RTC_LIB
17 default y if PM
18
14config PPC32 19config PPC32
15 bool 20 bool
16 default y if !PPC64 21 default y if !PPC64
@@ -89,7 +94,7 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER
89 94
90config ARCH_MAY_HAVE_PC_FDC 95config ARCH_MAY_HAVE_PC_FDC
91 bool 96 bool
92 default y 97 default !PPC_PSERIES || PCI
93 98
94config PPC_OF 99config PPC_OF
95 def_bool y 100 def_bool y
@@ -112,6 +117,19 @@ config GENERIC_BUG
112 default y 117 default y
113 depends on BUG 118 depends on BUG
114 119
120#
121# Powerpc uses the slab allocator to manage its ptes and the
122# page structs of ptes are used for splitting the page table
123# lock for configurations supporting more than SPLIT_PTLOCK_CPUS.
124#
125# In that special configuration the page structs of slabs are modified.
126# This setting disables the selection of SLUB as a slab allocator.
127#
128config ARCH_USES_SLAB_PAGE_STRUCT
129 bool
130 default y
131 depends on SPLIT_PTLOCK_CPUS <= NR_CPUS
132
115config DEFAULT_UIMAGE 133config DEFAULT_UIMAGE
116 bool 134 bool
117 help 135 help
@@ -157,17 +175,20 @@ config PPC_83xx
157 select FSL_SOC 175 select FSL_SOC
158 select 83xx 176 select 83xx
159 select PPC_FPU 177 select PPC_FPU
178 select WANT_DEVICE_TREE
160 179
161config PPC_85xx 180config PPC_85xx
162 bool "Freescale 85xx" 181 bool "Freescale 85xx"
163 select E500 182 select E500
164 select FSL_SOC 183 select FSL_SOC
165 select 85xx 184 select 85xx
185 select WANT_DEVICE_TREE
166 186
167config PPC_86xx 187config PPC_86xx
168 bool "Freescale 86xx" 188 bool "Freescale 86xx"
169 select 6xx 189 select 6xx
170 select FSL_SOC 190 select FSL_SOC
191 select FSL_PCIE
171 select PPC_FPU 192 select PPC_FPU
172 select ALTIVEC 193 select ALTIVEC
173 help 194 help
@@ -186,7 +207,6 @@ config 44x
186 bool "AMCC 44x" 207 bool "AMCC 44x"
187 select PPC_DCR_NATIVE 208 select PPC_DCR_NATIVE
188 209
189
190config E200 210config E200
191 bool "Freescale e200" 211 bool "Freescale e200"
192 212
@@ -367,394 +387,7 @@ endmenu
367 387
368source "init/Kconfig" 388source "init/Kconfig"
369 389
370menu "Platform support" 390source "arch/powerpc/platforms/Kconfig"
371 depends on PPC64 || CLASSIC32
372
373choice
374 prompt "Machine type"
375 default PPC_MULTIPLATFORM
376
377config PPC_MULTIPLATFORM
378 bool "Generic desktop/server/laptop"
379 help
380 Select this option if configuring for an IBM pSeries or
381 RS/6000 machine, an Apple machine, or a PReP, CHRP,
382 Maple or Cell-based machine.
383
384config EMBEDDED6xx
385 bool "Embedded 6xx/7xx/7xxx-based board"
386 depends on PPC32 && (BROKEN||BROKEN_ON_SMP)
387
388config APUS
389 bool "Amiga-APUS"
390 depends on PPC32 && BROKEN
391 help
392 Select APUS if configuring for a PowerUP Amiga.
393 More information is available at:
394 <http://linux-apus.sourceforge.net/>.
395endchoice
396
397config QUICC_ENGINE
398 bool
399 depends on PPC_MPC836x || PPC_MPC832x
400 default y
401 help
402 The QUICC Engine (QE) is a new generation of communications
403 coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
404 Selecting this option means that you wish to build a kernel
405 for a machine with a QE coprocessor.
406
407config PPC_PSERIES
408 depends on PPC_MULTIPLATFORM && PPC64
409 bool "IBM pSeries & new (POWER5-based) iSeries"
410 select MPIC
411 select PPC_I8259
412 select PPC_RTAS
413 select RTAS_ERROR_LOGGING
414 select PPC_UDBG_16550
415 select PPC_NATIVE
416 default y
417
418config PPC_ISERIES
419 bool "IBM Legacy iSeries"
420 depends on PPC_MULTIPLATFORM && PPC64
421 select PPC_INDIRECT_IO
422
423config PPC_CHRP
424 bool "Common Hardware Reference Platform (CHRP) based machines"
425 depends on PPC_MULTIPLATFORM && PPC32
426 select MPIC
427 select PPC_I8259
428 select PPC_INDIRECT_PCI
429 select PPC_RTAS
430 select PPC_MPC106
431 select PPC_UDBG_16550
432 select PPC_NATIVE
433 default y
434
435config PPC_MPC52xx
436 bool
437 default n
438
439config PPC_MPC5200
440 bool
441 select PPC_MPC52xx
442 default n
443
444config PPC_MPC5200_BUGFIX
445 bool "MPC5200 (L25R) bugfix support"
446 depends on PPC_MPC5200
447 default n
448 help
449 Enable workarounds for original MPC5200 errata. This is not required
450 for MPC5200B based boards.
451
452 It is safe to say 'Y' here
453
454config PPC_EFIKA
455 bool "bPlan Efika 5k2. MPC5200B based computer"
456 depends on PPC_MULTIPLATFORM && PPC32
457 select PPC_RTAS
458 select RTAS_PROC
459 select PPC_MPC52xx
460 select PPC_NATIVE
461 default n
462
463config PPC_LITE5200
464 bool "Freescale Lite5200 Eval Board"
465 depends on PPC_MULTIPLATFORM && PPC32
466 select PPC_MPC5200
467 default n
468
469config PPC_PMAC
470 bool "Apple PowerMac based machines"
471 depends on PPC_MULTIPLATFORM
472 select MPIC
473 select PPC_INDIRECT_PCI if PPC32
474 select PPC_MPC106 if PPC32
475 select PPC_NATIVE
476 default y
477
478config PPC_PMAC64
479 bool
480 depends on PPC_PMAC && POWER4
481 select MPIC
482 select U3_DART
483 select MPIC_BROKEN_U3
484 select GENERIC_TBSYNC
485 select PPC_970_NAP
486 default y
487
488config PPC_PREP
489 bool "PowerPC Reference Platform (PReP) based machines"
490 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN
491 select MPIC
492 select PPC_I8259
493 select PPC_INDIRECT_PCI
494 select PPC_UDBG_16550
495 select PPC_NATIVE
496 default n
497
498config PPC_MAPLE
499 depends on PPC_MULTIPLATFORM && PPC64
500 bool "Maple 970FX Evaluation Board"
501 select MPIC
502 select U3_DART
503 select MPIC_BROKEN_U3
504 select GENERIC_TBSYNC
505 select PPC_UDBG_16550
506 select PPC_970_NAP
507 select PPC_NATIVE
508 select PPC_RTAS
509 select MMIO_NVRAM
510 select ATA_NONSTANDARD if ATA
511 default n
512 help
513 This option enables support for the Maple 970FX Evaluation Board.
514 For more information, refer to <http://www.970eval.com>
515
516config PPC_PASEMI
517 depends on PPC_MULTIPLATFORM && PPC64
518 bool "PA Semi SoC-based platforms"
519 default n
520 select MPIC
521 select PPC_UDBG_16550
522 select GENERIC_TBSYNC
523 select PPC_NATIVE
524 help
525 This option enables support for PA Semi's PWRficient line
526 of SoC processors, including PA6T-1682M
527
528config PPC_CELL
529 bool
530 default n
531
532config PPC_CELL_NATIVE
533 bool
534 select PPC_CELL
535 select PPC_DCR_MMIO
536 select PPC_OF_PLATFORM_PCI
537 select PPC_INDIRECT_IO
538 select PPC_NATIVE
539 select MPIC
540 default n
541
542config PPC_IBM_CELL_BLADE
543 bool "IBM Cell Blade"
544 depends on PPC_MULTIPLATFORM && PPC64
545 select PPC_CELL_NATIVE
546 select PPC_RTAS
547 select MMIO_NVRAM
548 select PPC_UDBG_16550
549 select UDBG_RTAS_CONSOLE
550
551config PPC_PS3
552 bool "Sony PS3 (incomplete)"
553 depends on PPC_MULTIPLATFORM && PPC64
554 select PPC_CELL
555 select USB_ARCH_HAS_OHCI
556 select USB_OHCI_LITTLE_ENDIAN
557 select USB_OHCI_BIG_ENDIAN_MMIO
558 select USB_ARCH_HAS_EHCI
559 select USB_EHCI_BIG_ENDIAN_MMIO
560 help
561 This option enables support for the Sony PS3 game console
562 and other platforms using the PS3 hypervisor.
563 Support for this platform is not yet complete, so
564 enabling this will not result in a bootable kernel on a
565 PS3 system.
566
567config PPC_CELLEB
568 bool "Toshiba's Cell Reference Set 'Celleb' Architecture"
569 depends on PPC_MULTIPLATFORM && PPC64
570 select PPC_CELL
571 select PPC_OF_PLATFORM_PCI
572 select HAS_TXX9_SERIAL
573 select PPC_UDBG_BEAT
574 select USB_OHCI_BIG_ENDIAN_MMIO
575 select USB_EHCI_BIG_ENDIAN_MMIO
576
577config PPC_NATIVE
578 bool
579 depends on PPC_MULTIPLATFORM
580 help
581 Support for running natively on the hardware, i.e. without
582 a hypervisor. This option is not user-selectable but should
583 be selected by all platforms that need it.
584
585config UDBG_RTAS_CONSOLE
586 bool "RTAS based debug console"
587 depends on PPC_RTAS
588 default n
589
590config PPC_UDBG_BEAT
591 bool "BEAT based debug console"
592 depends on PPC_CELLEB
593 default n
594
595config XICS
596 depends on PPC_PSERIES
597 bool
598 default y
599
600config U3_DART
601 bool
602 depends on PPC_MULTIPLATFORM && PPC64
603 default n
604
605config PPC_RTAS
606 bool
607 default n
608
609config RTAS_ERROR_LOGGING
610 bool
611 depends on PPC_RTAS
612 default n
613
614config RTAS_PROC
615 bool "Proc interface to RTAS"
616 depends on PPC_RTAS
617 default y
618
619config RTAS_FLASH
620 tristate "Firmware flash interface"
621 depends on PPC64 && RTAS_PROC
622
623config PPC_PMI
624 tristate "Support for PMI"
625 depends PPC_IBM_CELL_BLADE
626 help
627 PMI (Platform Management Interrupt) is a way to
628 communicate with the BMC (Baseboard Mangement Controller).
629 It is used in some IBM Cell blades.
630 default m
631
632config MMIO_NVRAM
633 bool
634 default n
635
636config MPIC_BROKEN_U3
637 bool
638 depends on PPC_MAPLE
639 default y
640
641config IBMVIO
642 depends on PPC_PSERIES || PPC_ISERIES
643 bool
644 default y
645
646config IBMEBUS
647 depends on PPC_PSERIES
648 bool "Support for GX bus based adapters"
649 help
650 Bus device driver for GX bus based adapters.
651
652config PPC_MPC106
653 bool
654 default n
655
656config PPC_970_NAP
657 bool
658 default n
659
660config PPC_INDIRECT_IO
661 bool
662 select GENERIC_IOMAP
663 default n
664
665config GENERIC_IOMAP
666 bool
667 default n
668
669source "drivers/cpufreq/Kconfig"
670
671config CPU_FREQ_PMAC
672 bool "Support for Apple PowerBooks"
673 depends on CPU_FREQ && ADB_PMU && PPC32
674 select CPU_FREQ_TABLE
675 help
676 This adds support for frequency switching on Apple PowerBooks,
677 this currently includes some models of iBook & Titanium
678 PowerBook.
679
680config CPU_FREQ_PMAC64
681 bool "Support for some Apple G5s"
682 depends on CPU_FREQ && PPC64
683 select CPU_FREQ_TABLE
684 help
685 This adds support for frequency switching on Apple iMac G5,
686 and some of the more recent desktop G5 machines as well.
687
688config PPC601_SYNC_FIX
689 bool "Workarounds for PPC601 bugs"
690 depends on 6xx && (PPC_PREP || PPC_PMAC)
691 help
692 Some versions of the PPC601 (the first PowerPC chip) have bugs which
693 mean that extra synchronization instructions are required near
694 certain instructions, typically those that make major changes to the
695 CPU state. These extra instructions reduce performance slightly.
696 If you say N here, these extra instructions will not be included,
697 resulting in a kernel which will run faster but may not run at all
698 on some systems with the PPC601 chip.
699
700 If in doubt, say Y here.
701
702config TAU
703 bool "On-chip CPU temperature sensor support"
704 depends on 6xx
705 help
706 G3 and G4 processors have an on-chip temperature sensor called the
707 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
708 temperature within 2-4 degrees Celsius. This option shows the current
709 on-die temperature in /proc/cpuinfo if the cpu supports it.
710
711 Unfortunately, on some chip revisions, this sensor is very inaccurate
712 and in many cases, does not work at all, so don't assume the cpu
713 temp is actually what /proc/cpuinfo says it is.
714
715config TAU_INT
716 bool "Interrupt driven TAU driver (DANGEROUS)"
717 depends on TAU
718 ---help---
719 The TAU supports an interrupt driven mode which causes an interrupt
720 whenever the temperature goes out of range. This is the fastest way
721 to get notified the temp has exceeded a range. With this option off,
722 a timer is used to re-check the temperature periodically.
723
724 However, on some cpus it appears that the TAU interrupt hardware
725 is buggy and can cause a situation which would lead unexplained hard
726 lockups.
727
728 Unless you are extending the TAU driver, or enjoy kernel/hardware
729 debugging, leave this option off.
730
731config TAU_AVERAGE
732 bool "Average high and low temp"
733 depends on TAU
734 ---help---
735 The TAU hardware can compare the temperature to an upper and lower
736 bound. The default behavior is to show both the upper and lower
737 bound in /proc/cpuinfo. If the range is large, the temperature is
738 either changing a lot, or the TAU hardware is broken (likely on some
739 G4's). If the range is small (around 4 degrees), the temperature is
740 relatively stable. If you say Y here, a single temperature value,
741 halfway between the upper and lower bounds, will be reported in
742 /proc/cpuinfo.
743
744 If in doubt, say N here.
745
746endmenu
747
748source arch/powerpc/platforms/embedded6xx/Kconfig
749source arch/powerpc/platforms/4xx/Kconfig
750source arch/powerpc/platforms/82xx/Kconfig
751source arch/powerpc/platforms/83xx/Kconfig
752source arch/powerpc/platforms/85xx/Kconfig
753source arch/powerpc/platforms/86xx/Kconfig
754source arch/powerpc/platforms/8xx/Kconfig
755source arch/powerpc/platforms/cell/Kconfig
756source arch/powerpc/platforms/ps3/Kconfig
757source arch/powerpc/platforms/pasemi/Kconfig
758 391
759menu "Kernel options" 392menu "Kernel options"
760 393
@@ -837,15 +470,6 @@ config CRASH_DUMP
837 470
838 Don't change this unless you know what you are doing. 471 Don't change this unless you know what you are doing.
839 472
840config EMBEDDEDBOOT
841 bool
842 depends on 8xx || 8260
843 default y
844
845config PC_KEYBOARD
846 bool "PC PS/2 style Keyboard"
847 depends on 4xx || CPM2
848
849config PPCBUG_NVRAM 473config PPCBUG_NVRAM
850 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC 474 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
851 default y if PPC_PREP 475 default y if PPC_PREP
@@ -859,8 +483,6 @@ config IRQ_ALL_CPUS
859 CPU. Generally saying Y is safe, although some problems have been 483 CPU. Generally saying Y is safe, although some problems have been
860 reported with SMP Power Macintoshes with this option enabled. 484 reported with SMP Power Macintoshes with this option enabled.
861 485
862source "arch/powerpc/platforms/pseries/Kconfig"
863
864config NUMA 486config NUMA
865 bool "NUMA support" 487 bool "NUMA support"
866 depends on PPC64 488 depends on PPC64
@@ -910,10 +532,10 @@ config PPC_64K_PAGES
910 depends on PPC64 532 depends on PPC64
911 help 533 help
912 This option changes the kernel logical page size to 64k. On machines 534 This option changes the kernel logical page size to 64k. On machines
913 without processor support for 64k pages, the kernel will simulate 535 without processor support for 64k pages, the kernel will simulate
914 them by loading each individual 4k page on demand transparently, 536 them by loading each individual 4k page on demand transparently,
915 while on hardware with such support, it will be used to map 537 while on hardware with such support, it will be used to map
916 normal application pages. 538 normal application pages.
917 539
918config SCHED_SMT 540config SCHED_SMT
919 bool "SMT (Hyperthreading) scheduler support" 541 bool "SMT (Hyperthreading) scheduler support"
@@ -931,8 +553,6 @@ config PROC_DEVICETREE
931 an image of the device tree that the kernel copies from Open 553 an image of the device tree that the kernel copies from Open
932 Firmware or other boot firmware. If unsure, say Y here. 554 Firmware or other boot firmware. If unsure, say Y here.
933 555
934source "arch/powerpc/platforms/prep/Kconfig"
935
936config CMDLINE_BOOL 556config CMDLINE_BOOL
937 bool "Default bootloader kernel arguments" 557 bool "Default bootloader kernel arguments"
938 558
@@ -967,6 +587,29 @@ config SECCOMP
967 587
968 If unsure, say Y. Only embedded should say N here. 588 If unsure, say Y. Only embedded should say N here.
969 589
590config WANT_DEVICE_TREE
591 bool
592 default n
593
594config DEVICE_TREE
595 string "Static device tree source file"
596 depends on WANT_DEVICE_TREE
597 help
598 This specifies the device tree source (.dts) file to be
599 compiled and included when building the bootwrapper. If a
600 relative filename is given, then it will be relative to
601 arch/powerpc/boot/dts. If you are not using the bootwrapper,
602 or do not need to build a dts into the bootwrapper, this
603 field is ignored.
604
605 For example, this is required when building a cuImage target
606 for an older U-Boot, which cannot pass a device tree itself.
607 Such a kernel will not work with a newer U-Boot that tries to
608 pass a device tree (unless you tell it not to). If your U-Boot
609 does not mention a device tree in "help bootm", then use the
610 cuImage target and specify a device tree here. Otherwise, use
611 the uImage target and leave this field blank.
612
970endmenu 613endmenu
971 614
972config ISA_DMA_API 615config ISA_DMA_API
@@ -995,24 +638,17 @@ config GENERIC_ISA_DMA
995 depends on PPC64 || POWER4 || 6xx && !CPM2 638 depends on PPC64 || POWER4 || 6xx && !CPM2
996 default y 639 default y
997 640
998config MPIC
999 bool
1000 default n
1001
1002config MPIC_WEIRD
1003 bool
1004 default n
1005
1006config PPC_I8259
1007 bool
1008 default n
1009
1010config PPC_INDIRECT_PCI 641config PPC_INDIRECT_PCI
1011 bool 642 bool
1012 depends on PCI 643 depends on PCI
1013 default y if 40x || 44x 644 default y if 40x || 44x
1014 default n 645 default n
1015 646
647config PPC_INDIRECT_PCI_BE
648 bool
649 depends PPC_INDIRECT_PCI
650 default n
651
1016config EISA 652config EISA
1017 bool 653 bool
1018 654
@@ -1022,13 +658,18 @@ config SBUS
1022config FSL_SOC 658config FSL_SOC
1023 bool 659 bool
1024 660
661config FSL_PCIE
662 bool
663 depends on PPC_86xx
664
1025# Yes MCA RS/6000s exist but Linux-PPC does not currently support any 665# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1026config MCA 666config MCA
1027 bool 667 bool
1028 668
1029config PCI 669config PCI
1030 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ 670 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
1031 || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PPC_PS3 671 || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
672 || MPC7448HPC2 || PPC_PS3
1032 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \ 673 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
1033 && !PPC_85xx && !PPC_86xx 674 && !PPC_85xx && !PPC_86xx
1034 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS 675 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
@@ -1228,12 +869,10 @@ source "fs/Kconfig"
1228 869
1229source "arch/powerpc/sysdev/qe_lib/Kconfig" 870source "arch/powerpc/sysdev/qe_lib/Kconfig"
1230 871
1231source "arch/powerpc/platforms/iseries/Kconfig"
1232
1233source "lib/Kconfig" 872source "lib/Kconfig"
1234 873
1235menu "Instrumentation Support" 874menu "Instrumentation Support"
1236 depends on EXPERIMENTAL 875 depends on EXPERIMENTAL
1237 876
1238source "arch/powerpc/oprofile/Kconfig" 877source "arch/powerpc/oprofile/Kconfig"
1239 878