Blackfin: initial regset support
[safe/jmp/linux-2.6] / arch / blackfin / Kconfig
index 2cf455a..970df5b 100644 (file)
@@ -5,6 +5,10 @@
 
 mainmenu "Blackfin Kernel Configuration"
 
+config SYMBOL_PREFIX
+       string
+       default "_"
+
 config MMU
        def_bool n
 
@@ -19,10 +23,20 @@ config RWSEM_XCHGADD_ALGORITHM
 
 config BLACKFIN
        def_bool y
+       select HAVE_ARCH_KGDB
+       select HAVE_FUNCTION_GRAPH_TRACER
+       select HAVE_FUNCTION_TRACER
+       select HAVE_FUNCTION_TRACE_MCOUNT_TEST
        select HAVE_IDE
+       select HAVE_KERNEL_GZIP if RAMKERNEL
+       select HAVE_KERNEL_BZIP2 if RAMKERNEL
+       select HAVE_KERNEL_LZMA if RAMKERNEL
        select HAVE_OPROFILE
        select ARCH_WANT_OPTIONAL_GPIOLIB
 
+config GENERIC_CSUM
+       def_bool y
+
 config GENERIC_BUG
        def_bool y
        depends on BUG
@@ -33,15 +47,15 @@ config ZONE_DMA
 config GENERIC_FIND_NEXT_BIT
        def_bool y
 
-config GENERIC_HWEIGHT
-       def_bool y
-
 config GENERIC_HARDIRQS
        def_bool y
 
 config GENERIC_IRQ_PROBE
        def_bool y
 
+config GENERIC_HARDIRQS_NO__DO_IRQ
+       def_bool y
+
 config GENERIC_GPIO
        def_bool y
 
@@ -52,6 +66,15 @@ config FORCE_MAX_ZONEORDER
 config GENERIC_CALIBRATE_DELAY
        def_bool y
 
+config LOCKDEP_SUPPORT
+       def_bool y
+
+config STACKTRACE_SUPPORT
+       def_bool y
+
+config TRACE_IRQFLAGS_SUPPORT
+       def_bool y
+
 source "init/Kconfig"
 
 source "kernel/Kconfig.preempt"
@@ -156,7 +179,7 @@ config BF539
        help
          BF539 Processor Support.
 
-config BF542
+config BF542_std
        bool "BF542"
        help
          BF542 Processor Support.
@@ -166,7 +189,7 @@ config BF542M
        help
          BF542 Processor Support.
 
-config BF544
+config BF544_std
        bool "BF544"
        help
          BF544 Processor Support.
@@ -176,7 +199,7 @@ config BF544M
        help
          BF544 Processor Support.
 
-config BF547
+config BF547_std
        bool "BF547"
        help
          BF547 Processor Support.
@@ -186,7 +209,7 @@ config BF547M
        help
          BF547 Processor Support.
 
-config BF548
+config BF548_std
        bool "BF548"
        help
          BF548 Processor Support.
@@ -196,7 +219,7 @@ config BF548M
        help
          BF548 Processor Support.
 
-config BF549
+config BF549_std
        bool "BF549"
        help
          BF549 Processor Support.
@@ -215,7 +238,7 @@ endchoice
 
 config SMP
        depends on BF561
-       select GENERIC_TIME
+       select TICKSOURCE_CORETMR
        bool "Symmetric multi-processing support"
        ---help---
          This enables support for systems with more than one CPU,
@@ -229,11 +252,20 @@ config NR_CPUS
        depends on SMP
        default 2 if BF561
 
+config HOTPLUG_CPU
+       bool "Support for hot-pluggable CPUs"
+       depends on SMP && HOTPLUG
+       default y
+
 config IRQ_PER_CPU
        bool
        depends on SMP
        default y
 
+config HAVE_LEGACY_PER_CPU_AREA
+       def_bool y
+       depends on SMP
+
 config BF_REV_MIN
        int
        default 0 if (BF51x || BF52x || (BF54x && !BF54xM))
@@ -260,7 +292,7 @@ config BF_REV_0_0
 
 config BF_REV_0_1
        bool "0.1"
-       depends on (BF52x || (BF54x && !BF54xM))
+       depends on (BF51x || BF52x || (BF54x && !BF54xM))
 
 config BF_REV_0_2
        bool "0.2"
@@ -290,31 +322,11 @@ config BF_REV_NONE
 
 endchoice
 
-config BF51x
-       bool
-       depends on (BF512 || BF514 || BF516 || BF518)
-       default y
-
-config BF52x
-       bool
-       depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
-       default y
-
 config BF53x
        bool
        depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
        default y
 
-config BF54xM
-       bool
-       depends on (BF542M || BF544M || BF547M || BF548M || BF549M)
-       default y
-
-config BF54x
-       bool
-       depends on (BF542 || BF544 || BF547 || BF548 || BF549 || BF54xM)
-       default y
-
 config MEM_GENERIC_BOARD
        bool
        depends on GENERIC_BOARD
@@ -328,8 +340,9 @@ config MEM_MT48LC64M4A2FB_7E
 config MEM_MT48LC16M16A2TG_75
        bool
        depends on (BFIN533_EZKIT || BFIN561_EZKIT \
-               || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
-               || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
+               || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
+               || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
+               || BFIN527_BLUETECHNIX_CM)
        default y
 
 config MEM_MT48LC32M8A2_75
@@ -344,7 +357,7 @@ config MEM_MT48LC8M32B2B5_7
 
 config MEM_MT48LC32M16A2TG_75
        bool
-       depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
+       depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
        default y
 
 config MEM_MT48LC32M8A2_75
@@ -352,6 +365,11 @@ config MEM_MT48LC32M8A2_75
        depends on (BFIN518F_EZBRD)
        default y
 
+config MEM_MT48H32M16LFCJ_75
+       bool
+       depends on (BFIN526_EZBRD)
+       default y
+
 source "arch/blackfin/mach-bf518/Kconfig"
 source "arch/blackfin/mach-bf527/Kconfig"
 source "arch/blackfin/mach-bf533/Kconfig"
@@ -391,21 +409,29 @@ config BOOT_LOAD
 config ROM_BASE
        hex "Kernel ROM Base"
        depends on ROMKERNEL
-       default "0x20040000"
+       default "0x20040040"
        range 0x20000000 0x20400000 if !(BF54x || BF561)
        range 0x20000000 0x30000000 if (BF54x || BF561)
        help
+         Make sure your ROM base does not include any file-header
+         information that is prepended to the kernel.
+
+         For example, the bootable U-Boot format (created with
+         mkimage) has a 64 byte header (0x40).  So while the image
+         you write to flash might start at say 0x20080000, you have
+         to add 0x40 to get the kernel's ROM base as it will come
+         after the header.
 
 comment "Clock/PLL Setup"
 
 config CLKIN_HZ
        int "Frequency of the crystal on the board in Hz"
+       default "10000000" if BFIN532_IP0X
        default "11059200" if BFIN533_STAMP
+       default "24576000" if PNAV10
+       default "25000000" # most people use this
        default "27000000" if BFIN533_EZKIT
-       default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
        default "30000000" if BFIN561_EZKIT
-       default "24576000" if PNAV10
-       default "10000000" if BFIN532_IP0X
        help
          The frequency of CLKIN crystal oscillator on the board in Hz.
          Warning: This value should match the crystal on the board. Otherwise,
@@ -438,9 +464,9 @@ config VCO_MULT
        range 1 64
        default "22" if BFIN533_EZKIT
        default "45" if BFIN533_STAMP
-       default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
+       default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
        default "22" if BFIN533_BLUETECHNIX_CM
-       default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
+       default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
        default "20" if BFIN561_EZKIT
        default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
        help
@@ -555,8 +581,8 @@ config MAX_VCO_HZ
        default 400000000 if BF514
        default 400000000 if BF516
        default 400000000 if BF518
-       default 600000000 if BF522
-       default 400000000 if BF523
+       default 400000000 if BF522
+       default 600000000 if BF523
        default 400000000 if BF524
        default 600000000 if BF525
        default 400000000 if BF526
@@ -593,32 +619,29 @@ comment "Kernel Timer/Scheduler"
 source kernel/Kconfig.hz
 
 config GENERIC_TIME
-       bool "Generic time"
-       default y
+       def_bool y
 
 config GENERIC_CLOCKEVENTS
        bool "Generic clock events"
-       depends on GENERIC_TIME
        default y
 
-choice
-       prompt "Kernel Tick Source"
+menu "Clock event device"
        depends on GENERIC_CLOCKEVENTS
-       default TICKSOURCE_CORETMR
-
 config TICKSOURCE_GPTMR0
-       bool "Gptimer0 (SCLK domain)"
+       bool "GPTimer0"
+       depends on !SMP
        select BFIN_GPTIMERS
-       depends on !IPIPE
 
 config TICKSOURCE_CORETMR
-       bool "Core timer (CCLK domain)"
-
-endchoice
+       bool "Core timer"
+       default y
+endmenu
 
-config CYCLES_CLOCKSOURCE
-       bool "Use 'CYCLES' as a clocksource"
+menu "Clock souce"
        depends on GENERIC_CLOCKEVENTS
+config CYCLES_CLOCKSOURCE
+       bool "CYCLES"
+       default y
        depends on !BFIN_SCRATCH_REG_CYCLES
        depends on !SMP
        help
@@ -629,9 +652,14 @@ config CYCLES_CLOCKSOURCE
          writing the registers will most likely crash the kernel.
 
 config GPTMR0_CLOCKSOURCE
-       bool "Use GPTimer0 as a clocksource (higher rating)"
-       depends on GENERIC_CLOCKEVENTS
+       bool "GPTimer0"
+       select BFIN_GPTIMERS
        depends on !TICKSOURCE_GPTMR0
+endmenu
+
+config ARCH_USES_GETTIMEOFFSET
+       depends on !GENERIC_CLOCKEVENTS
+       def_bool y
 
 source kernel/time/Kconfig
 
@@ -877,7 +905,7 @@ config BFIN_GPTIMERS
          are unsure, say N.
 
          To compile this driver as a module, choose M here: the module
-         will be called gptimers.ko.
+         will be called gptimers.
 
 choice
        prompt "Uncached DMA region"
@@ -888,29 +916,49 @@ config DMA_UNCACHED_2M
        bool "Enable 2M DMA region"
 config DMA_UNCACHED_1M
        bool "Enable 1M DMA region"
+config DMA_UNCACHED_512K
+       bool "Enable 512K DMA region"
+config DMA_UNCACHED_256K
+       bool "Enable 256K DMA region"
+config DMA_UNCACHED_128K
+       bool "Enable 128K DMA region"
 config DMA_UNCACHED_NONE
        bool "Disable DMA region"
 endchoice
 
 
 comment "Cache Support"
+
 config BFIN_ICACHE
        bool "Enable ICACHE"
+       default y
+config BFIN_EXTMEM_ICACHEABLE
+       bool "Enable ICACHE for external memory"
+       depends on BFIN_ICACHE
+       default y
+config BFIN_L2_ICACHEABLE
+       bool "Enable ICACHE for L2 SRAM"
+       depends on BFIN_ICACHE
+       depends on BF54x || BF561
+       default n
+
 config BFIN_DCACHE
        bool "Enable DCACHE"
+       default y
 config BFIN_DCACHE_BANKA
        bool "Enable only 16k BankA DCACHE - BankB is SRAM"
        depends on BFIN_DCACHE && !BF531
        default n
-config BFIN_ICACHE_LOCK
-       bool "Enable Instruction Cache Locking"
-
-choice
-       prompt "External memory cache policy"
+config BFIN_EXTMEM_DCACHEABLE
+       bool "Enable DCACHE for external memory"
        depends on BFIN_DCACHE
-       default BFIN_WB if !SMP
-       default BFIN_WT if SMP
-config BFIN_WB
+       default y
+choice
+       prompt "External memory DCACHE policy"
+       depends on BFIN_EXTMEM_DCACHEABLE
+       default BFIN_EXTMEM_WRITEBACK if !SMP
+       default BFIN_EXTMEM_WRITETHROUGH if SMP
+config BFIN_EXTMEM_WRITEBACK
        bool "Write back"
        depends on !SMP
        help
@@ -928,7 +976,7 @@ config BFIN_WB
          If you are unsure of the options and you want to be safe,
          then go with Write Through.
 
-config BFIN_WT
+config BFIN_EXTMEM_WRITETHROUGH
        bool "Write through"
        help
          Write Back Policy:
@@ -947,23 +995,24 @@ config BFIN_WT
 
 endchoice
 
+config BFIN_L2_DCACHEABLE
+       bool "Enable DCACHE for L2 SRAM"
+       depends on BFIN_DCACHE
+       depends on (BF54x || BF561) && !SMP
+       default n
 choice
-       prompt "L2 SRAM cache policy"
-       depends on (BF54x || BF561)
-       default BFIN_L2_WT
-config BFIN_L2_WB
+       prompt "L2 SRAM DCACHE policy"
+       depends on BFIN_L2_DCACHEABLE
+       default BFIN_L2_WRITEBACK
+config BFIN_L2_WRITEBACK
        bool "Write back"
-       depends on !SMP
 
-config BFIN_L2_WT
+config BFIN_L2_WRITETHROUGH
        bool "Write through"
-       depends on !SMP
-
-config BFIN_L2_NOT_CACHED
-       bool "Not cached"
-
 endchoice
 
+
+comment "Memory Protection Unit"
 config MPU
        bool "Enable the memory protection unit (EXPERIMENTAL)"
        default n
@@ -1083,24 +1132,6 @@ config PCI
 
 source "drivers/pci/Kconfig"
 
-config HOTPLUG
-       bool "Support for hot-pluggable device"
-         help
-         Say Y here if you want to plug devices into your computer while
-         the system is running, and be able to use them quickly.  In many
-         cases, the devices can likewise be unplugged at any time too.
-
-         One well known example of this is PCMCIA- or PC-cards, credit-card
-         size devices such as network cards, modems or hard drives which are
-         plugged into slots found on all modern laptop computers.  Another
-         example, used on modern desktops as well as laptops, is USB.
-
-         Enable HOTPLUG and build a modular kernel.  Get agent software
-         (from <http://linux-hotplug.sourceforge.net/>) and install it.
-         Then your kernel will automatically call out to a user mode "policy
-         agent" (/sbin/hotplug) to load modules and set up software needed
-         to use devices as you hotplug them.
-
 source "drivers/pcmcia/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"
@@ -1114,11 +1145,11 @@ source "fs/Kconfig.binfmt"
 endmenu
 
 menu "Power management options"
+
 source "kernel/power/Kconfig"
 
 config ARCH_SUSPEND_POSSIBLE
        def_bool y
-       depends on !SMP
 
 choice
        prompt "Standby Power Saving Mode"
@@ -1232,6 +1263,8 @@ source "net/Kconfig"
 
 source "drivers/Kconfig"
 
+source "drivers/firmware/Kconfig"
+
 source "fs/Kconfig"
 
 source "arch/blackfin/Kconfig.debug"