[PATCH] LOG2: Implement a general integer log2 facility in the kernel
[safe/jmp/linux-2.6] / arch / ppc / Kconfig
index f88032c..692b5ba 100644 (file)
@@ -8,9 +8,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
@@ -22,11 +19,19 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
-config GENERIC_CALIBRATE_DELAY
+config ARCH_HAS_ILOG2_U32
+       bool
+       default y
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
+config GENERIC_HWEIGHT
        bool
        default y
 
-config HAVE_DEC_LOCK
+config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
@@ -43,10 +48,23 @@ config GENERIC_NVRAM
        bool
        default y
 
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
        bool
        default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
+
+config GENERIC_BUG
+       bool
+       default y
+       depends on BUG
+
 source "init/Kconfig"
 
 menu "Processor"
@@ -60,29 +78,23 @@ config 6xx
        select PPC_FPU
        help
          There are four types of PowerPC chips supported.  The more common
-         types (601, 603, 604, 740, 750, 7400), the Motorola embedded
-         versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the IBM embedded
-         versions (403 and 405) and the high end 64 bit Power processors
-         (POWER 3, POWER4, and IBM 970 also known as G5)
+         types (601, 603, 604, 740, 750, 7400), the older Freescale
+         (formerly Motorola) embedded versions (821, 823, 850, 855, 860,
+         52xx, 82xx, 83xx), the IBM embedded versions (403 and 405) and
+         the Book E embedded processors from IBM (44x) and Freescale (85xx).
+         For support for 64-bit processors, set ARCH=powerpc.
          Unless you are building a kernel for one of the embedded processor
-         systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
-         Note that the kernel runs in 32-bit mode even on 64-bit chips.
-         Also note that because the 52xx, 82xx, & 83xx family has a 603e core,
-         specific support for that chipset is asked later on.
+         systems, choose 6xx.
+         Also note that because the 52xx, 82xx, & 83xx family have a 603e
+         core, specific support for that chipset is asked later on.
 
 config 40x
        bool "40x"
+       select PPC_DCR_NATIVE
 
 config 44x
        bool "44x"
-
-config POWER3
-       select PPC_FPU
-       bool "POWER3"
-
-config POWER4
-       select PPC_FPU
-       bool "POWER4 and 970 (G5)"
+       select PPC_DCR_NATIVE
 
 config 8xx
        bool "8xx"
@@ -98,6 +110,15 @@ endchoice
 config PPC_FPU
        bool
 
+config PPC_DCR_NATIVE
+       bool
+       default n
+
+config PPC_DCR
+       bool
+       depends on PPC_DCR_NATIVE
+       default y
+
 config BOOKE
        bool
        depends on E200 || E500
@@ -126,7 +147,7 @@ config PHYS_64BIT
 
 config ALTIVEC
        bool "AltiVec Support"
-       depends on 6xx || POWER4
+       depends on 6xx
        depends on !8260 && !83xx
        ---help---
          This option enables kernel support for the Altivec extensions to the
@@ -222,10 +243,10 @@ config KEXEC
        help
          kexec is a system call that implements the ability to shutdown your
          current kernel, and to start another kernel.  It is like a reboot
-         but it is indepedent of the system firmware.   And like a reboot
+         but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
 
-         The name comes from the similiarity to the exec system call.
+         The name comes from the similarity to the exec system call.
 
          It is an ongoing process to be certain the hardware in a machine
          is properly shutdown, so do not be surprised if this code does not
@@ -238,18 +259,9 @@ config KEXEC
 
 source "drivers/cpufreq/Kconfig"
 
-config CPU_FREQ_PMAC
-       bool "Support for Apple PowerBooks"
-       depends on CPU_FREQ && ADB_PMU
-       select CPU_FREQ_TABLE
-       help
-         This adds support for frequency switching on Apple PowerBooks,
-         this currently includes some models of iBook & Titanium
-         PowerBook.
-
 config PPC601_SYNC_FIX
        bool "Workarounds for PPC601 bugs"
-       depends on 6xx && (PPC_PREP || PPC_PMAC)
+       depends on 6xx && PPC_PREP
        help
          Some versions of the PPC601 (the first PowerPC chip) have bugs which
          mean that extra synchronization instructions are required near
@@ -264,14 +276,9 @@ config PPC601_SYNC_FIX
 source arch/ppc/platforms/4xx/Kconfig
 source arch/ppc/platforms/85xx/Kconfig
 
-config PPC64BRIDGE
-       bool
-       depends on POWER3 || POWER4
-       default y
-
 config PPC_STD_MMU
        bool
-       depends on 6xx || POWER3 || POWER4
+       depends on 6xx
        default y
 
 config NOT_COHERENT_CACHE
@@ -497,10 +504,57 @@ config WINCEPT
 
 endchoice
 
+menu "Freescale Ethernet driver platform-specific options"
+       depends on FS_ENET
+
+       config MPC8xx_SECOND_ETH
+       bool "Second Ethernet channel"
+       depends on (MPC885ADS || MPC86XADS)
+       default y
+       help
+         This enables support for second Ethernet on MPC885ADS and MPC86xADS boards.
+         The latter will use SCC1, for 885ADS you can select it below.
+
+       choice
+               prompt "Second Ethernet channel"
+               depends on MPC8xx_SECOND_ETH
+               default MPC8xx_SECOND_ETH_FEC2
+
+               config MPC8xx_SECOND_ETH_FEC2
+               bool "FEC2"
+               depends on MPC885ADS
+               help
+                 Enable FEC2 to serve as 2-nd Ethernet channel. Note that SMC2
+                 (often 2-nd UART) will not work if this is enabled.
+
+               config MPC8xx_SECOND_ETH_SCC1
+               bool "SCC1"
+               depends on MPC86XADS
+               select MPC8xx_SCC_ENET_FIXED
+               help
+                 Enable SCC1 to serve as 2-nd Ethernet channel. Note that SMC1
+                 (often 1-nd UART) will not work if this is enabled.
+
+               config MPC8xx_SECOND_ETH_SCC3
+               bool "SCC3"
+               depends on MPC885ADS
+               help
+                 Enable SCC3 to serve as 2-nd Ethernet channel. Note that SMC1
+                 (often 1-nd UART) will not work if this is enabled.
+
+       endchoice
+
+       config MPC8xx_SCC_ENET_FIXED
+       depends on MPC8xx_SECOND_ETH_SCC
+       default n
+       bool "Use fixed MII-less mode for SCC Ethernet"
+
+endmenu
+
 choice
        prompt "Machine Type"
-       depends on 6xx || POWER3 || POWER4
-       default PPC_MULTIPLATFORM
+       depends on 6xx
+       default PPC_PREP
        ---help---
          Linux currently supports several different kinds of PowerPC-based
          machines: Apple Power Macintoshes and clones (such as the Motorola
@@ -510,11 +564,14 @@ choice
          Platform) machines (including all of the recent IBM RS/6000 and
          pSeries machines), and several embedded PowerPC systems containing
          4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
-         default option is to build a kernel which works on the first three.
+         default option is to build a kernel which works on PReP.
+
+         Note that support for Apple and CHRP machines is now only available
+         with ARCH=powerpc, and has been removed from this menu.  If you
+         wish to build a kernel for an Apple or CHRP machine, exit this
+         configuration process and re-run it with ARCH=powerpc.
 
-         Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or
-         pSeries machine, a Power Macintosh (including iMacs, iBooks and
-         Powerbooks), or a PReP machine.
+         Select PReP if configuring for a PReP machine.
 
          Select Gemini if configuring for a Synergy Microsystems' Gemini
          series Single Board Computer.  More information is available at:
@@ -523,8 +580,8 @@ choice
          Select APUS if configuring for a PowerUP Amiga.  More information is
          available at: <http://linux-apus.sourceforge.net/>.
 
-config PPC_MULTIPLATFORM
-       bool "CHRP/PowerMac/PReP"
+config PPC_PREP
+       bool "PReP"
 
 config APUS
        bool "Amiga-APUS"
@@ -559,6 +616,7 @@ config CHESTNUT
 
 config SPRUCE
        bool "IBM-Spruce"
+       select PPC_INDIRECT_PCI
 
 config HDPU
        bool "Sky-HDPU"
@@ -579,27 +637,35 @@ config EV64260
 
 config LOPEC
        bool "Motorola-LoPEC"
+       select PPC_I8259
 
 config MVME5100
        bool "Motorola-MVME5100"
+       select PPC_INDIRECT_PCI
 
 config PPLUS
        bool "Motorola-PowerPlus"
+       select PPC_I8259
+       select PPC_INDIRECT_PCI
 
 config PRPMC750
        bool "Motorola-PrPMC750"
+       select PPC_INDIRECT_PCI
 
 config PRPMC800
        bool "Motorola-PrPMC800"
+       select PPC_INDIRECT_PCI
 
 config SANDPOINT
        bool "Motorola-Sandpoint"
+       select PPC_I8259
        help
          Select SANDPOINT if configuring for a Motorola Sandpoint X3
          (any flavor).
 
 config RADSTONE_PPC7D
        bool "Radstone Technology PPC7D board"
+       select PPC_I8259
 
 config PAL4
        bool "SBS-Palomar4"
@@ -607,6 +673,7 @@ config PAL4
 config GEMINI
        bool "Synergy-Gemini"
        depends on BROKEN
+       select PPC_INDIRECT_PCI
        help
          Select Gemini if configuring for a Synergy Microsystems' Gemini
          series Single Board Computer.  More information is available at:
@@ -666,11 +733,28 @@ config LITE5200
          much but it's only been tested on this board version. I think this
          board is also known as IceCube.
 
+config LITE5200B
+       bool "Freescale LITE5200B"
+       depends LITE5200
+       help
+         Support for the LITE5200B dev board for the MPC5200 from Freescale.
+         This is the new board with 2 PCI slots.
+
 config MPC834x_SYS
        bool "Freescale MPC834x SYS"
        help
          This option enables support for the MPC 834x SYS evaluation board.
 
+         Be aware that PCI buses can only function when SYS board is plugged
+         into the PIB (Platform IO Board) board from Freescale which provide
+         3 PCI slots.  The PIBs PCI initialization is the bootloader's
+         responsibility.
+
+config EV64360
+       bool "Marvell-EV64360BP"
+       help
+         Select EV64360 if configuring a Marvell EV64360BP Evaluation
+         platform.
 endchoice
 
 config PQ2ADS
@@ -717,6 +801,20 @@ config MPC834x
        bool
        default y if MPC834x_SYS
 
+config PPC_83xx
+       bool
+       default y if 83xx
+
+config CPM1
+       bool
+       depends on 8xx
+       default y
+       help
+         The CPM1 (Communications Processor Module) is a coprocessor on
+         embedded CPUs made by Motorola.  Selecting this option means that
+         you wish to build a kernel for a machine with a CPM1 coprocessor
+         on it (8xx, 827x, 8560).
+
 config CPM2
        bool
        depends on 8260 || MPC8560 || MPC8555
@@ -727,31 +825,6 @@ config CPM2
          you wish to build a kernel for a machine with a CPM2 coprocessor
          on it (826x, 827x, 8560).
 
-config PPC_CHRP
-       bool
-       depends on PPC_MULTIPLATFORM
-       default y
-
-config PPC_PMAC
-       bool
-       depends on PPC_MULTIPLATFORM
-       default y
-
-config PPC_PMAC64
-       bool
-       depends on PPC_PMAC && POWER4
-       default y
-
-config PPC_PREP
-       bool
-       depends on PPC_MULTIPLATFORM
-       default y
-
-config PPC_OF
-       bool
-       depends on PPC_PMAC || PPC_CHRP
-       default y
-
 config PPC_GEN550
        bool
        depends on SANDPOINT || SPRUCE || PPLUS || \
@@ -772,12 +845,13 @@ config GT64260
 
 config MV64360         # Really MV64360 & MV64460
        bool
-       depends on CHESTNUT || KATANA || RADSTONE_PPC7D || HDPU
+       depends on CHESTNUT || KATANA || RADSTONE_PPC7D || HDPU || EV64360
        default y
 
 config MV64X60
        bool
        depends on (GT64260 || MV64360)
+       select PPC_INDIRECT_PCI
        default y
 
 menu "Set bridge options"
@@ -826,6 +900,7 @@ config EPIC_SERIAL_MODE
 config MPC10X_BRIDGE
        bool
        depends on POWERPMC250 || LOPEC || SANDPOINT
+       select PPC_INDIRECT_PCI
        default y
 
 config MPC10X_OPENPIC
@@ -851,6 +926,7 @@ config HARRIER_STORE_GATHERING
 config MVME5100_IPMC761_PRESENT
        bool "MVME5100 configured with an IPMC761"
        depends on MVME5100
+       select PPC_I8259
 
 config SPRUCE_BAUD_33M
        bool "Spruce baud clock support"
@@ -901,20 +977,15 @@ config NR_CPUS
 config HIGHMEM
        bool "High memory support"
 
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
 source kernel/Kconfig.hz
 source kernel/Kconfig.preempt
 source "mm/Kconfig"
 
 source "fs/Kconfig.binfmt"
 
-config PROC_DEVICETREE
-       bool "Support for Open Firmware device tree in /proc"
-       depends on PPC_OF && PROC_FS
-       help
-         This option adds a device-tree directory under /proc which contains
-         an image of the device tree that the kernel copies from Open
-         Firmware. If unsure, say Y here.
-
 config PREP_RESIDUAL
        bool "Support for PReP Residual Data"
        depends on PPC_PREP
@@ -1107,7 +1178,7 @@ menu "Bus options"
 
 config ISA
        bool "Support for ISA-bus hardware"
-       depends on PPC_PREP || PPC_CHRP
+       depends on PPC_PREP
        help
          Find out whether you have ISA slots on your motherboard.  ISA is the
          name of a bus system, i.e. the way the CPU talks to the other stuff
@@ -1117,9 +1188,20 @@ config ISA
 
 config GENERIC_ISA_DMA
        bool
-       depends on POWER3 || POWER4 || 6xx && !CPM2
+       depends on 6xx && !CPM2
        default y
 
+config PPC_I8259
+       bool
+       default y if 85xx || PPC_PREP
+       default n
+
+config PPC_INDIRECT_PCI
+       bool
+       depends on PCI
+       default y if 40x || 44x || 85xx || 83xx || PPC_PREP
+       default n
+
 config EISA
        bool
        help
@@ -1148,9 +1230,15 @@ config PCI_DOMAINS
        bool
        default PCI
 
+config MPC83xx_PCI2
+       bool "Support for 2nd PCI host controller"
+       depends on PCI && MPC834x
+       default y if MPC834x_SYS
+
 config PCI_QSPAN
        bool "QSpan PCI"
        depends on !4xx && !CPM2 && 8xx
+       select PPC_I8259
        help
          Say Y here if you have a system based on a Motorola 8xx-series
          embedded processor with a QSPAN PCI interface, otherwise say N.
@@ -1158,15 +1246,16 @@ config PCI_QSPAN
 config PCI_8260
        bool
        depends on PCI && 8260
+       select PPC_INDIRECT_PCI
        default y
 
 config 8260_PCI9
-       bool "  Enable workaround for MPC826x erratum PCI 9"
+       bool "Enable workaround for MPC826x erratum PCI 9"
        depends on PCI_8260 && !ADS8272
        default y
 
 choice
-       prompt "  IDMA channel for PCI 9 workaround"
+       prompt "IDMA channel for PCI 9 workaround"
        depends on 8260_PCI9
 
 config 8260_PCI9_IDMA1
@@ -1191,6 +1280,14 @@ source "drivers/pci/Kconfig"
 
 source "drivers/pcmcia/Kconfig"
 
+config RAPIDIO
+       bool "RapidIO support" if MPC8540 || MPC8560
+       help
+         If you say Y here, the kernel will include drivers and
+         infrastructure code to support RapidIO interconnect devices.
+
+source "drivers/rapidio/Kconfig"
+
 endmenu
 
 menu "Advanced setup"
@@ -1272,7 +1369,7 @@ config CONSISTENT_START_BOOL
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
        help
          This option allows you to set the base virtual address
-         of the the consistent memory pool.  This pool of virtual
+         of the consistent memory pool.  This pool of virtual
          memory is used to make consistent memory allocations.
 
 config CONSISTENT_START
@@ -1283,7 +1380,7 @@ config CONSISTENT_SIZE_BOOL
        bool "Set custom consistent memory pool size"
        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
        help
-         This option allows you to set the size of the the
+         This option allows you to set the size of the
          consistent memory pool.  This pool of virtual memory
          is used to make consistent memory allocations.
 
@@ -1293,7 +1390,7 @@ config CONSISTENT_SIZE
 
 config BOOT_LOAD_BOOL
        bool "Set the boot link/load address"
-       depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
+       depends on ADVANCED_OPTIONS && !PPC_PREP
        help
          This option allows you to set the initial load address of the zImage
          or zImage.initrd file.  This can be useful if you are on a board
@@ -1344,7 +1441,7 @@ endmenu
 
 source "lib/Kconfig"
 
-source "arch/ppc/oprofile/Kconfig"
+source "arch/powerpc/oprofile/Kconfig"
 
 source "arch/ppc/Kconfig.debug"