|  | config MMU | 
|  | def_bool n | 
|  |  | 
|  | config FPU | 
|  | def_bool n | 
|  |  | 
|  | config RWSEM_GENERIC_SPINLOCK | 
|  | def_bool y | 
|  |  | 
|  | config RWSEM_XCHGADD_ALGORITHM | 
|  | def_bool n | 
|  |  | 
|  | config BLACKFIN | 
|  | def_bool y | 
|  | select HAVE_ARCH_KGDB | 
|  | select HAVE_ARCH_TRACEHOOK | 
|  | select HAVE_DYNAMIC_FTRACE | 
|  | select HAVE_FTRACE_MCOUNT_RECORD | 
|  | select HAVE_FUNCTION_GRAPH_TRACER | 
|  | select HAVE_FUNCTION_TRACER | 
|  | select HAVE_IDE | 
|  | select HAVE_KERNEL_GZIP if RAMKERNEL | 
|  | select HAVE_KERNEL_BZIP2 if RAMKERNEL | 
|  | select HAVE_KERNEL_LZMA if RAMKERNEL | 
|  | select HAVE_KERNEL_LZO if RAMKERNEL | 
|  | select HAVE_OPROFILE | 
|  | select HAVE_PERF_EVENTS | 
|  | select ARCH_HAVE_CUSTOM_GPIO_H | 
|  | select ARCH_REQUIRE_GPIOLIB | 
|  | select HAVE_UID16 | 
|  | select HAVE_UNDERSCORE_SYMBOL_PREFIX | 
|  | select VIRT_TO_BUS | 
|  | select ARCH_WANT_IPC_PARSE_VERSION | 
|  | select GENERIC_ATOMIC64 | 
|  | select GENERIC_IRQ_PROBE | 
|  | select GENERIC_IRQ_SHOW | 
|  | select HAVE_NMI_WATCHDOG if NMI_WATCHDOG | 
|  | select GENERIC_SMP_IDLE_THREAD | 
|  | select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS | 
|  | select HAVE_MOD_ARCH_SPECIFIC | 
|  | select MODULES_USE_ELF_RELA | 
|  | select HAVE_DEBUG_STACKOVERFLOW | 
|  |  | 
|  | config GENERIC_CSUM | 
|  | def_bool y | 
|  |  | 
|  | config GENERIC_BUG | 
|  | def_bool y | 
|  | depends on BUG | 
|  |  | 
|  | config ZONE_DMA | 
|  | def_bool y | 
|  |  | 
|  | config FORCE_MAX_ZONEORDER | 
|  | int | 
|  | default "14" | 
|  |  | 
|  | 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" | 
|  |  | 
|  | source "kernel/Kconfig.freezer" | 
|  |  | 
|  | menu "Blackfin Processor Options" | 
|  |  | 
|  | comment "Processor and Board Settings" | 
|  |  | 
|  | choice | 
|  | prompt "CPU" | 
|  | default BF533 | 
|  |  | 
|  | config BF512 | 
|  | bool "BF512" | 
|  | help | 
|  | BF512 Processor Support. | 
|  |  | 
|  | config BF514 | 
|  | bool "BF514" | 
|  | help | 
|  | BF514 Processor Support. | 
|  |  | 
|  | config BF516 | 
|  | bool "BF516" | 
|  | help | 
|  | BF516 Processor Support. | 
|  |  | 
|  | config BF518 | 
|  | bool "BF518" | 
|  | help | 
|  | BF518 Processor Support. | 
|  |  | 
|  | config BF522 | 
|  | bool "BF522" | 
|  | help | 
|  | BF522 Processor Support. | 
|  |  | 
|  | config BF523 | 
|  | bool "BF523" | 
|  | help | 
|  | BF523 Processor Support. | 
|  |  | 
|  | config BF524 | 
|  | bool "BF524" | 
|  | help | 
|  | BF524 Processor Support. | 
|  |  | 
|  | config BF525 | 
|  | bool "BF525" | 
|  | help | 
|  | BF525 Processor Support. | 
|  |  | 
|  | config BF526 | 
|  | bool "BF526" | 
|  | help | 
|  | BF526 Processor Support. | 
|  |  | 
|  | config BF527 | 
|  | bool "BF527" | 
|  | help | 
|  | BF527 Processor Support. | 
|  |  | 
|  | config BF531 | 
|  | bool "BF531" | 
|  | help | 
|  | BF531 Processor Support. | 
|  |  | 
|  | config BF532 | 
|  | bool "BF532" | 
|  | help | 
|  | BF532 Processor Support. | 
|  |  | 
|  | config BF533 | 
|  | bool "BF533" | 
|  | help | 
|  | BF533 Processor Support. | 
|  |  | 
|  | config BF534 | 
|  | bool "BF534" | 
|  | help | 
|  | BF534 Processor Support. | 
|  |  | 
|  | config BF536 | 
|  | bool "BF536" | 
|  | help | 
|  | BF536 Processor Support. | 
|  |  | 
|  | config BF537 | 
|  | bool "BF537" | 
|  | help | 
|  | BF537 Processor Support. | 
|  |  | 
|  | config BF538 | 
|  | bool "BF538" | 
|  | help | 
|  | BF538 Processor Support. | 
|  |  | 
|  | config BF539 | 
|  | bool "BF539" | 
|  | help | 
|  | BF539 Processor Support. | 
|  |  | 
|  | config BF542_std | 
|  | bool "BF542" | 
|  | help | 
|  | BF542 Processor Support. | 
|  |  | 
|  | config BF542M | 
|  | bool "BF542m" | 
|  | help | 
|  | BF542 Processor Support. | 
|  |  | 
|  | config BF544_std | 
|  | bool "BF544" | 
|  | help | 
|  | BF544 Processor Support. | 
|  |  | 
|  | config BF544M | 
|  | bool "BF544m" | 
|  | help | 
|  | BF544 Processor Support. | 
|  |  | 
|  | config BF547_std | 
|  | bool "BF547" | 
|  | help | 
|  | BF547 Processor Support. | 
|  |  | 
|  | config BF547M | 
|  | bool "BF547m" | 
|  | help | 
|  | BF547 Processor Support. | 
|  |  | 
|  | config BF548_std | 
|  | bool "BF548" | 
|  | help | 
|  | BF548 Processor Support. | 
|  |  | 
|  | config BF548M | 
|  | bool "BF548m" | 
|  | help | 
|  | BF548 Processor Support. | 
|  |  | 
|  | config BF549_std | 
|  | bool "BF549" | 
|  | help | 
|  | BF549 Processor Support. | 
|  |  | 
|  | config BF549M | 
|  | bool "BF549m" | 
|  | help | 
|  | BF549 Processor Support. | 
|  |  | 
|  | config BF561 | 
|  | bool "BF561" | 
|  | help | 
|  | BF561 Processor Support. | 
|  |  | 
|  | config BF609 | 
|  | bool "BF609" | 
|  | select CLKDEV_LOOKUP | 
|  | help | 
|  | BF609 Processor Support. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config SMP | 
|  | depends on BF561 | 
|  | select TICKSOURCE_CORETMR | 
|  | bool "Symmetric multi-processing support" | 
|  | ---help--- | 
|  | This enables support for systems with more than one CPU, | 
|  | like the dual core BF561. If you have a system with only one | 
|  | CPU, say N. If you have a system with more than one CPU, say Y. | 
|  |  | 
|  | If you don't know what to do here, say N. | 
|  |  | 
|  | config NR_CPUS | 
|  | int | 
|  | depends on SMP | 
|  | default 2 if BF561 | 
|  |  | 
|  | config HOTPLUG_CPU | 
|  | bool "Support for hot-pluggable CPUs" | 
|  | depends on SMP | 
|  | default y | 
|  |  | 
|  | config BF_REV_MIN | 
|  | int | 
|  | default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x | 
|  | default 2 if (BF537 || BF536 || BF534) | 
|  | default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM) | 
|  | default 4 if (BF538 || BF539) | 
|  |  | 
|  | config BF_REV_MAX | 
|  | int | 
|  | default 2 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x | 
|  | default 3 if (BF537 || BF536 || BF534 || BF54xM) | 
|  | default 5 if (BF561 || BF538 || BF539) | 
|  | default 6 if (BF533 || BF532 || BF531) | 
|  |  | 
|  | choice | 
|  | prompt "Silicon Rev" | 
|  | default BF_REV_0_0 if (BF51x || BF52x || BF60x) | 
|  | default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM)) | 
|  | default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561) | 
|  |  | 
|  | config BF_REV_0_0 | 
|  | bool "0.0" | 
|  | depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x) | 
|  |  | 
|  | config BF_REV_0_1 | 
|  | bool "0.1" | 
|  | depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x) | 
|  |  | 
|  | config BF_REV_0_2 | 
|  | bool "0.2" | 
|  | depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM)) | 
|  |  | 
|  | config BF_REV_0_3 | 
|  | bool "0.3" | 
|  | depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531) | 
|  |  | 
|  | config BF_REV_0_4 | 
|  | bool "0.4" | 
|  | depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539 || BF54x) | 
|  |  | 
|  | config BF_REV_0_5 | 
|  | bool "0.5" | 
|  | depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539) | 
|  |  | 
|  | config BF_REV_0_6 | 
|  | bool "0.6" | 
|  | depends on (BF533 || BF532 || BF531) | 
|  |  | 
|  | config BF_REV_ANY | 
|  | bool "any" | 
|  |  | 
|  | config BF_REV_NONE | 
|  | bool "none" | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config BF53x | 
|  | bool | 
|  | depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537) | 
|  | default y | 
|  |  | 
|  | config GPIO_ADI | 
|  | def_bool y | 
|  | depends on (BF51x || BF52x || BF53x || BF538 || BF539 || BF561) | 
|  |  | 
|  | config PINCTRL | 
|  | def_bool y | 
|  | depends on BF54x || BF60x | 
|  |  | 
|  | config MEM_MT48LC64M4A2FB_7E | 
|  | bool | 
|  | depends on (BFIN533_STAMP) | 
|  | default y | 
|  |  | 
|  | config MEM_MT48LC16M16A2TG_75 | 
|  | bool | 
|  | depends on (BFIN533_EZKIT || BFIN561_EZKIT \ | 
|  | || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \ | 
|  | || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \ | 
|  | || BFIN527_BLUETECHNIX_CM) | 
|  | default y | 
|  |  | 
|  | config MEM_MT48LC32M8A2_75 | 
|  | bool | 
|  | depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT) | 
|  | default y | 
|  |  | 
|  | config MEM_MT48LC8M32B2B5_7 | 
|  | bool | 
|  | depends on (BFIN561_BLUETECHNIX_CM) | 
|  | default y | 
|  |  | 
|  | config MEM_MT48LC32M16A2TG_75 | 
|  | bool | 
|  | depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL) | 
|  | default y | 
|  |  | 
|  | config MEM_MT48H32M16LFCJ_75 | 
|  | bool | 
|  | depends on (BFIN526_EZBRD) | 
|  | default y | 
|  |  | 
|  | config MEM_MT47H64M16 | 
|  | bool | 
|  | depends on (BFIN609_EZKIT) | 
|  | default y | 
|  |  | 
|  | source "arch/blackfin/mach-bf518/Kconfig" | 
|  | source "arch/blackfin/mach-bf527/Kconfig" | 
|  | source "arch/blackfin/mach-bf533/Kconfig" | 
|  | source "arch/blackfin/mach-bf561/Kconfig" | 
|  | source "arch/blackfin/mach-bf537/Kconfig" | 
|  | source "arch/blackfin/mach-bf538/Kconfig" | 
|  | source "arch/blackfin/mach-bf548/Kconfig" | 
|  | source "arch/blackfin/mach-bf609/Kconfig" | 
|  |  | 
|  | menu "Board customizations" | 
|  |  | 
|  | config CMDLINE_BOOL | 
|  | bool "Default bootloader kernel arguments" | 
|  |  | 
|  | config CMDLINE | 
|  | string "Initial kernel command string" | 
|  | depends on CMDLINE_BOOL | 
|  | default "console=ttyBF0,57600" | 
|  | help | 
|  | If you don't have a boot loader capable of passing a command line string | 
|  | to the kernel, you may specify one here. As a minimum, you should specify | 
|  | the memory size and the root device (e.g., mem=8M, root=/dev/nfs). | 
|  |  | 
|  | config BOOT_LOAD | 
|  | hex "Kernel load address for booting" | 
|  | default "0x1000" | 
|  | range 0x1000 0x20000000 | 
|  | help | 
|  | This option allows you to set the load address of the kernel. | 
|  | This can be useful if you are on a board which has a small amount | 
|  | of memory or you wish to reserve some memory at the beginning of | 
|  | the address space. | 
|  |  | 
|  | Note that you need to keep this value above 4k (0x1000) as this | 
|  | memory region is used to capture NULL pointer references as well | 
|  | as some core kernel functions. | 
|  |  | 
|  | config PHY_RAM_BASE_ADDRESS | 
|  | hex "Physical RAM Base" | 
|  | default 0x0 | 
|  | help | 
|  | set BF609 FPGA physical SRAM base address | 
|  |  | 
|  | config ROM_BASE | 
|  | hex "Kernel ROM Base" | 
|  | depends on ROMKERNEL | 
|  | default "0x20040040" | 
|  | range 0x20000000 0x20400000 if !(BF54x || BF561 || BF60x) | 
|  | range 0x20000000 0x30000000 if (BF54x || BF561) | 
|  | range 0xB0000000 0xC0000000 if (BF60x) | 
|  | 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 "30000000" if BFIN561_EZKIT | 
|  | default "24000000" if BFIN527_AD7160EVAL | 
|  | help | 
|  | The frequency of CLKIN crystal oscillator on the board in Hz. | 
|  | Warning: This value should match the crystal on the board. Otherwise, | 
|  | peripherals won't work properly. | 
|  |  | 
|  | config BFIN_KERNEL_CLOCK | 
|  | bool "Re-program Clocks while Kernel boots?" | 
|  | default n | 
|  | help | 
|  | This option decides if kernel clocks are re-programed from the | 
|  | bootloader settings. If the clocks are not set, the SDRAM settings | 
|  | are also not changed, and the Bootloader does 100% of the hardware | 
|  | configuration. | 
|  |  | 
|  | config PLL_BYPASS | 
|  | bool "Bypass PLL" | 
|  | depends on BFIN_KERNEL_CLOCK && (!BF60x) | 
|  | default n | 
|  |  | 
|  | config CLKIN_HALF | 
|  | bool "Half Clock In" | 
|  | depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) | 
|  | default n | 
|  | help | 
|  | If this is set the clock will be divided by 2, before it goes to the PLL. | 
|  |  | 
|  | config VCO_MULT | 
|  | int "VCO Multiplier" | 
|  | depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS) | 
|  | range 1 64 | 
|  | default "22" if BFIN533_EZKIT | 
|  | default "45" if BFIN533_STAMP | 
|  | 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_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) | 
|  | default "20" if (BFIN561_EZKIT || BF609) | 
|  | default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD) | 
|  | default "25" if BFIN527_AD7160EVAL | 
|  | help | 
|  | This controls the frequency of the on-chip PLL. This can be between 1 and 64. | 
|  | PLL Frequency = (Crystal Frequency) * (this setting) | 
|  |  | 
|  | choice | 
|  | prompt "Core Clock Divider" | 
|  | depends on BFIN_KERNEL_CLOCK | 
|  | default CCLK_DIV_1 | 
|  | help | 
|  | This sets the frequency of the core. It can be 1, 2, 4 or 8 | 
|  | Core Frequency = (PLL frequency) / (this setting) | 
|  |  | 
|  | config CCLK_DIV_1 | 
|  | bool "1" | 
|  |  | 
|  | config CCLK_DIV_2 | 
|  | bool "2" | 
|  |  | 
|  | config CCLK_DIV_4 | 
|  | bool "4" | 
|  |  | 
|  | config CCLK_DIV_8 | 
|  | bool "8" | 
|  | endchoice | 
|  |  | 
|  | config SCLK_DIV | 
|  | int "System Clock Divider" | 
|  | depends on BFIN_KERNEL_CLOCK | 
|  | range 1 15 | 
|  | default 4 | 
|  | help | 
|  | This sets the frequency of the system clock (including SDRAM or DDR) on | 
|  | !BF60x else it set the clock for system buses and provides the | 
|  | source from which SCLK0 and SCLK1 are derived. | 
|  | This can be between 1 and 15 | 
|  | System Clock = (PLL frequency) / (this setting) | 
|  |  | 
|  | config SCLK0_DIV | 
|  | int "System Clock0 Divider" | 
|  | depends on BFIN_KERNEL_CLOCK && BF60x | 
|  | range 1 15 | 
|  | default 1 | 
|  | help | 
|  | This sets the frequency of the system clock0 for PVP and all other | 
|  | peripherals not clocked by SCLK1. | 
|  | This can be between 1 and 15 | 
|  | System Clock0 = (System Clock) / (this setting) | 
|  |  | 
|  | config SCLK1_DIV | 
|  | int "System Clock1 Divider" | 
|  | depends on BFIN_KERNEL_CLOCK && BF60x | 
|  | range 1 15 | 
|  | default 1 | 
|  | help | 
|  | This sets the frequency of the system clock1 (including SPORT, SPI and ACM). | 
|  | This can be between 1 and 15 | 
|  | System Clock1 = (System Clock) / (this setting) | 
|  |  | 
|  | config DCLK_DIV | 
|  | int "DDR Clock Divider" | 
|  | depends on BFIN_KERNEL_CLOCK && BF60x | 
|  | range 1 15 | 
|  | default 2 | 
|  | help | 
|  | This sets the frequency of the DDR memory. | 
|  | This can be between 1 and 15 | 
|  | DDR Clock = (PLL frequency) / (this setting) | 
|  |  | 
|  | choice | 
|  | prompt "DDR SDRAM Chip Type" | 
|  | depends on BFIN_KERNEL_CLOCK | 
|  | depends on BF54x | 
|  | default MEM_MT46V32M16_5B | 
|  |  | 
|  | config MEM_MT46V32M16_6T | 
|  | bool "MT46V32M16_6T" | 
|  |  | 
|  | config MEM_MT46V32M16_5B | 
|  | bool "MT46V32M16_5B" | 
|  | endchoice | 
|  |  | 
|  | choice | 
|  | prompt "DDR/SDRAM Timing" | 
|  | depends on BFIN_KERNEL_CLOCK && !BF60x | 
|  | default BFIN_KERNEL_CLOCK_MEMINIT_CALC | 
|  | help | 
|  | This option allows you to specify Blackfin SDRAM/DDR Timing parameters | 
|  | The calculated SDRAM timing parameters may not be 100% | 
|  | accurate - This option is therefore marked experimental. | 
|  |  | 
|  | config BFIN_KERNEL_CLOCK_MEMINIT_CALC | 
|  | bool "Calculate Timings" | 
|  |  | 
|  | config BFIN_KERNEL_CLOCK_MEMINIT_SPEC | 
|  | bool "Provide accurate Timings based on target SCLK" | 
|  | help | 
|  | Please consult the Blackfin Hardware Reference Manuals as well | 
|  | as the memory device datasheet. | 
|  | http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram | 
|  | endchoice | 
|  |  | 
|  | menu "Memory Init Control" | 
|  | depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC | 
|  |  | 
|  | config MEM_DDRCTL0 | 
|  | depends on BF54x | 
|  | hex "DDRCTL0" | 
|  | default 0x0 | 
|  |  | 
|  | config MEM_DDRCTL1 | 
|  | depends on BF54x | 
|  | hex "DDRCTL1" | 
|  | default 0x0 | 
|  |  | 
|  | config MEM_DDRCTL2 | 
|  | depends on BF54x | 
|  | hex "DDRCTL2" | 
|  | default 0x0 | 
|  |  | 
|  | config MEM_EBIU_DDRQUE | 
|  | depends on BF54x | 
|  | hex "DDRQUE" | 
|  | default 0x0 | 
|  |  | 
|  | config MEM_SDRRC | 
|  | depends on !BF54x | 
|  | hex "SDRRC" | 
|  | default 0x0 | 
|  |  | 
|  | config MEM_SDGCTL | 
|  | depends on !BF54x | 
|  | hex "SDGCTL" | 
|  | default 0x0 | 
|  | endmenu | 
|  |  | 
|  | # | 
|  | # Max & Min Speeds for various Chips | 
|  | # | 
|  | config MAX_VCO_HZ | 
|  | int | 
|  | default 400000000 if BF512 | 
|  | default 400000000 if BF514 | 
|  | default 400000000 if BF516 | 
|  | default 400000000 if BF518 | 
|  | default 400000000 if BF522 | 
|  | default 600000000 if BF523 | 
|  | default 400000000 if BF524 | 
|  | default 600000000 if BF525 | 
|  | default 400000000 if BF526 | 
|  | default 600000000 if BF527 | 
|  | default 400000000 if BF531 | 
|  | default 400000000 if BF532 | 
|  | default 750000000 if BF533 | 
|  | default 500000000 if BF534 | 
|  | default 400000000 if BF536 | 
|  | default 600000000 if BF537 | 
|  | default 533333333 if BF538 | 
|  | default 533333333 if BF539 | 
|  | default 600000000 if BF542 | 
|  | default 533333333 if BF544 | 
|  | default 600000000 if BF547 | 
|  | default 600000000 if BF548 | 
|  | default 533333333 if BF549 | 
|  | default 600000000 if BF561 | 
|  | default 800000000 if BF609 | 
|  |  | 
|  | config MIN_VCO_HZ | 
|  | int | 
|  | default 50000000 | 
|  |  | 
|  | config MAX_SCLK_HZ | 
|  | int | 
|  | default 200000000 if BF609 | 
|  | default 133333333 | 
|  |  | 
|  | config MIN_SCLK_HZ | 
|  | int | 
|  | default 27000000 | 
|  |  | 
|  | comment "Kernel Timer/Scheduler" | 
|  |  | 
|  | source kernel/Kconfig.hz | 
|  |  | 
|  | config SET_GENERIC_CLOCKEVENTS | 
|  | bool "Generic clock events" | 
|  | default y | 
|  | select GENERIC_CLOCKEVENTS | 
|  |  | 
|  | menu "Clock event device" | 
|  | depends on GENERIC_CLOCKEVENTS | 
|  | config TICKSOURCE_GPTMR0 | 
|  | bool "GPTimer0" | 
|  | depends on !SMP | 
|  | select BFIN_GPTIMERS | 
|  |  | 
|  | config TICKSOURCE_CORETMR | 
|  | bool "Core timer" | 
|  | default y | 
|  | endmenu | 
|  |  | 
|  | menu "Clock source" | 
|  | depends on GENERIC_CLOCKEVENTS | 
|  | config CYCLES_CLOCKSOURCE | 
|  | bool "CYCLES" | 
|  | default y | 
|  | depends on !BFIN_SCRATCH_REG_CYCLES | 
|  | depends on !SMP | 
|  | help | 
|  | If you say Y here, you will enable support for using the 'cycles' | 
|  | registers as a clock source.  Doing so means you will be unable to | 
|  | safely write to the 'cycles' register during runtime.  You will | 
|  | still be able to read it (such as for performance monitoring), but | 
|  | writing the registers will most likely crash the kernel. | 
|  |  | 
|  | config GPTMR0_CLOCKSOURCE | 
|  | bool "GPTimer0" | 
|  | select BFIN_GPTIMERS | 
|  | depends on !TICKSOURCE_GPTMR0 | 
|  | endmenu | 
|  |  | 
|  | comment "Misc" | 
|  |  | 
|  | choice | 
|  | prompt "Blackfin Exception Scratch Register" | 
|  | default BFIN_SCRATCH_REG_RETN | 
|  | help | 
|  | Select the resource to reserve for the Exception handler: | 
|  | - RETN: Non-Maskable Interrupt (NMI) | 
|  | - RETE: Exception Return (JTAG/ICE) | 
|  | - CYCLES: Performance counter | 
|  |  | 
|  | If you are unsure, please select "RETN". | 
|  |  | 
|  | config BFIN_SCRATCH_REG_RETN | 
|  | bool "RETN" | 
|  | help | 
|  | Use the RETN register in the Blackfin exception handler | 
|  | as a stack scratch register.  This means you cannot | 
|  | safely use NMI on the Blackfin while running Linux, but | 
|  | you can debug the system with a JTAG ICE and use the | 
|  | CYCLES performance registers. | 
|  |  | 
|  | If you are unsure, please select "RETN". | 
|  |  | 
|  | config BFIN_SCRATCH_REG_RETE | 
|  | bool "RETE" | 
|  | help | 
|  | Use the RETE register in the Blackfin exception handler | 
|  | as a stack scratch register.  This means you cannot | 
|  | safely use a JTAG ICE while debugging a Blackfin board, | 
|  | but you can safely use the CYCLES performance registers | 
|  | and the NMI. | 
|  |  | 
|  | If you are unsure, please select "RETN". | 
|  |  | 
|  | config BFIN_SCRATCH_REG_CYCLES | 
|  | bool "CYCLES" | 
|  | help | 
|  | Use the CYCLES register in the Blackfin exception handler | 
|  | as a stack scratch register.  This means you cannot | 
|  | safely use the CYCLES performance registers on a Blackfin | 
|  | board at anytime, but you can debug the system with a JTAG | 
|  | ICE and use the NMI. | 
|  |  | 
|  | If you are unsure, please select "RETN". | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | endmenu | 
|  |  | 
|  |  | 
|  | menu "Blackfin Kernel Optimizations" | 
|  |  | 
|  | comment "Memory Optimizations" | 
|  |  | 
|  | config I_ENTRY_L1 | 
|  | bool "Locate interrupt entry code in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config EXCPT_IRQ_SYSC_L1 | 
|  | bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the entire ASM lowlevel exception and interrupt entry code | 
|  | (STORE/RESTORE CONTEXT) is linked into L1 instruction memory. | 
|  | (less latency) | 
|  |  | 
|  | config DO_IRQ_L1 | 
|  | bool "Locate frequently called do_irq dispatcher function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the frequently called do_irq dispatcher function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config CORE_TIMER_IRQ_L1 | 
|  | bool "Locate frequently called timer_interrupt() function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the frequently called timer_interrupt() function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config IDLE_L1 | 
|  | bool "Locate frequently idle function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the frequently called idle function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config SCHEDULE_L1 | 
|  | bool "Locate kernel schedule function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the frequently called kernel schedule is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config ARITHMETIC_OPS_L1 | 
|  | bool "Locate kernel owned arithmetic functions in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, arithmetic functions are linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config ACCESS_OK_L1 | 
|  | bool "Locate access_ok function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the access_ok function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config MEMSET_L1 | 
|  | bool "Locate memset function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the memset function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config MEMCPY_L1 | 
|  | bool "Locate memcpy function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the memcpy function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config STRCMP_L1 | 
|  | bool "locate strcmp function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the strcmp function is linked | 
|  | into L1 instruction memory (less latency). | 
|  |  | 
|  | config STRNCMP_L1 | 
|  | bool "locate strncmp function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the strncmp function is linked | 
|  | into L1 instruction memory (less latency). | 
|  |  | 
|  | config STRCPY_L1 | 
|  | bool "locate strcpy function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the strcpy function is linked | 
|  | into L1 instruction memory (less latency). | 
|  |  | 
|  | config STRNCPY_L1 | 
|  | bool "locate strncpy function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the strncpy function is linked | 
|  | into L1 instruction memory (less latency). | 
|  |  | 
|  | config SYS_BFIN_SPINLOCK_L1 | 
|  | bool "Locate sys_bfin_spinlock function in L1 Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, sys_bfin_spinlock function is linked | 
|  | into L1 instruction memory. (less latency) | 
|  |  | 
|  | config CACHELINE_ALIGNED_L1 | 
|  | bool "Locate cacheline_aligned data to L1 Data Memory" | 
|  | default y if !BF54x | 
|  | default n if BF54x | 
|  | depends on !SMP && !BF531 && !CRC32 | 
|  | help | 
|  | If enabled, cacheline_aligned data is linked | 
|  | into L1 data memory. (less latency) | 
|  |  | 
|  | config SYSCALL_TAB_L1 | 
|  | bool "Locate Syscall Table L1 Data Memory" | 
|  | default n | 
|  | depends on !SMP && !BF531 | 
|  | help | 
|  | If enabled, the Syscall LUT is linked | 
|  | into L1 data memory. (less latency) | 
|  |  | 
|  | config CPLB_SWITCH_TAB_L1 | 
|  | bool "Locate CPLB Switch Tables L1 Data Memory" | 
|  | default n | 
|  | depends on !SMP && !BF531 | 
|  | help | 
|  | If enabled, the CPLB Switch Tables are linked | 
|  | into L1 data memory. (less latency) | 
|  |  | 
|  | config ICACHE_FLUSH_L1 | 
|  | bool "Locate icache flush funcs in L1 Inst Memory" | 
|  | default y | 
|  | help | 
|  | If enabled, the Blackfin icache flushing functions are linked | 
|  | into L1 instruction memory. | 
|  |  | 
|  | Note that this might be required to address anomalies, but | 
|  | these functions are pretty small, so it shouldn't be too bad. | 
|  | If you are using a processor affected by an anomaly, the build | 
|  | system will double check for you and prevent it. | 
|  |  | 
|  | config DCACHE_FLUSH_L1 | 
|  | bool "Locate dcache flush funcs in L1 Inst Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled, the Blackfin dcache flushing functions are linked | 
|  | into L1 instruction memory. | 
|  |  | 
|  | config APP_STACK_L1 | 
|  | bool "Support locating application stack in L1 Scratch Memory" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | If enabled the application stack can be located in L1 | 
|  | scratch memory (less latency). | 
|  |  | 
|  | Currently only works with FLAT binaries. | 
|  |  | 
|  | config EXCEPTION_L1_SCRATCH | 
|  | bool "Locate exception stack in L1 Scratch Memory" | 
|  | default n | 
|  | depends on !SMP && !APP_STACK_L1 | 
|  | help | 
|  | Whenever an exception occurs, use the L1 Scratch memory for | 
|  | stack storage.  You cannot place the stacks of FLAT binaries | 
|  | in L1 when using this option. | 
|  |  | 
|  | If you don't use L1 Scratch, then you should say Y here. | 
|  |  | 
|  | comment "Speed Optimizations" | 
|  | config BFIN_INS_LOWOVERHEAD | 
|  | bool "ins[bwl] low overhead, higher interrupt latency" | 
|  | default y | 
|  | depends on !SMP | 
|  | help | 
|  | Reads on the Blackfin are speculative. In Blackfin terms, this means | 
|  | they can be interrupted at any time (even after they have been issued | 
|  | on to the external bus), and re-issued after the interrupt occurs. | 
|  | For memory - this is not a big deal, since memory does not change if | 
|  | it sees a read. | 
|  |  | 
|  | If a FIFO is sitting on the end of the read, it will see two reads, | 
|  | when the core only sees one since the FIFO receives both the read | 
|  | which is cancelled (and not delivered to the core) and the one which | 
|  | is re-issued (which is delivered to the core). | 
|  |  | 
|  | To solve this, interrupts are turned off before reads occur to | 
|  | I/O space. This option controls which the overhead/latency of | 
|  | controlling interrupts during this time | 
|  | "n" turns interrupts off every read | 
|  | (higher overhead, but lower interrupt latency) | 
|  | "y" turns interrupts off every loop | 
|  | (low overhead, but longer interrupt latency) | 
|  |  | 
|  | default behavior is to leave this set to on (type "Y"). If you are experiencing | 
|  | interrupt latency issues, it is safe and OK to turn this off. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | choice | 
|  | prompt "Kernel executes from" | 
|  | help | 
|  | Choose the memory type that the kernel will be running in. | 
|  |  | 
|  | config RAMKERNEL | 
|  | bool "RAM" | 
|  | help | 
|  | The kernel will be resident in RAM when running. | 
|  |  | 
|  | config ROMKERNEL | 
|  | bool "ROM" | 
|  | help | 
|  | The kernel will be resident in FLASH/ROM when running. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | # Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both | 
|  | config XIP_KERNEL | 
|  | bool | 
|  | default y | 
|  | depends on ROMKERNEL | 
|  |  | 
|  | source "mm/Kconfig" | 
|  |  | 
|  | config BFIN_GPTIMERS | 
|  | tristate "Enable Blackfin General Purpose Timers API" | 
|  | default n | 
|  | help | 
|  | Enable support for the General Purpose Timers API.  If you | 
|  | are unsure, say N. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module | 
|  | will be called gptimers. | 
|  |  | 
|  | choice | 
|  | prompt "Uncached DMA region" | 
|  | default DMA_UNCACHED_1M | 
|  | config DMA_UNCACHED_32M | 
|  | bool "Enable 32M DMA region" | 
|  | config DMA_UNCACHED_16M | 
|  | bool "Enable 16M DMA region" | 
|  | config DMA_UNCACHED_8M | 
|  | bool "Enable 8M DMA region" | 
|  | config DMA_UNCACHED_4M | 
|  | bool "Enable 4M DMA region" | 
|  | 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 || BF60x) && !SMP | 
|  | 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_EXTMEM_DCACHEABLE | 
|  | bool "Enable DCACHE for external memory" | 
|  | depends on BFIN_DCACHE | 
|  | 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 | 
|  | Write Back Policy: | 
|  | Cached data will be written back to SDRAM only when needed. | 
|  | This can give a nice increase in performance, but beware of | 
|  | broken drivers that do not properly invalidate/flush their | 
|  | cache. | 
|  |  | 
|  | Write Through Policy: | 
|  | Cached data will always be written back to SDRAM when the | 
|  | cache is updated.  This is a completely safe setting, but | 
|  | performance is worse than Write Back. | 
|  |  | 
|  | If you are unsure of the options and you want to be safe, | 
|  | then go with Write Through. | 
|  |  | 
|  | config BFIN_EXTMEM_WRITETHROUGH | 
|  | bool "Write through" | 
|  | help | 
|  | Write Back Policy: | 
|  | Cached data will be written back to SDRAM only when needed. | 
|  | This can give a nice increase in performance, but beware of | 
|  | broken drivers that do not properly invalidate/flush their | 
|  | cache. | 
|  |  | 
|  | Write Through Policy: | 
|  | Cached data will always be written back to SDRAM when the | 
|  | cache is updated.  This is a completely safe setting, but | 
|  | performance is worse than Write Back. | 
|  |  | 
|  | If you are unsure of the options and you want to be safe, | 
|  | then go with Write Through. | 
|  |  | 
|  | endchoice | 
|  |  | 
|  | config BFIN_L2_DCACHEABLE | 
|  | bool "Enable DCACHE for L2 SRAM" | 
|  | depends on BFIN_DCACHE | 
|  | depends on (BF54x || BF561 || BF60x) && !SMP | 
|  | default n | 
|  | choice | 
|  | prompt "L2 SRAM DCACHE policy" | 
|  | depends on BFIN_L2_DCACHEABLE | 
|  | default BFIN_L2_WRITEBACK | 
|  | config BFIN_L2_WRITEBACK | 
|  | bool "Write back" | 
|  |  | 
|  | config BFIN_L2_WRITETHROUGH | 
|  | bool "Write through" | 
|  | endchoice | 
|  |  | 
|  |  | 
|  | comment "Memory Protection Unit" | 
|  | config MPU | 
|  | bool "Enable the memory protection unit" | 
|  | default n | 
|  | help | 
|  | Use the processor's MPU to protect applications from accessing | 
|  | memory they do not own.  This comes at a performance penalty | 
|  | and is recommended only for debugging. | 
|  |  | 
|  | comment "Asynchronous Memory Configuration" | 
|  |  | 
|  | menu "EBIU_AMGCTL Global Control" | 
|  | depends on !BF60x | 
|  | config C_AMCKEN | 
|  | bool "Enable CLKOUT" | 
|  | default y | 
|  |  | 
|  | config C_CDPRIO | 
|  | bool "DMA has priority over core for ext. accesses" | 
|  | default n | 
|  |  | 
|  | config C_B0PEN | 
|  | depends on BF561 | 
|  | bool "Bank 0 16 bit packing enable" | 
|  | default y | 
|  |  | 
|  | config C_B1PEN | 
|  | depends on BF561 | 
|  | bool "Bank 1 16 bit packing enable" | 
|  | default y | 
|  |  | 
|  | config C_B2PEN | 
|  | depends on BF561 | 
|  | bool "Bank 2 16 bit packing enable" | 
|  | default y | 
|  |  | 
|  | config C_B3PEN | 
|  | depends on BF561 | 
|  | bool "Bank 3 16 bit packing enable" | 
|  | default n | 
|  |  | 
|  | choice | 
|  | prompt "Enable Asynchronous Memory Banks" | 
|  | default C_AMBEN_ALL | 
|  |  | 
|  | config C_AMBEN | 
|  | bool "Disable All Banks" | 
|  |  | 
|  | config C_AMBEN_B0 | 
|  | bool "Enable Bank 0" | 
|  |  | 
|  | config C_AMBEN_B0_B1 | 
|  | bool "Enable Bank 0 & 1" | 
|  |  | 
|  | config C_AMBEN_B0_B1_B2 | 
|  | bool "Enable Bank 0 & 1 & 2" | 
|  |  | 
|  | config C_AMBEN_ALL | 
|  | bool "Enable All Banks" | 
|  | endchoice | 
|  | endmenu | 
|  |  | 
|  | menu "EBIU_AMBCTL Control" | 
|  | depends on !BF60x | 
|  | config BANK_0 | 
|  | hex "Bank 0 (AMBCTL0.L)" | 
|  | default 0x7BB0 | 
|  | help | 
|  | These are the low 16 bits of the EBIU_AMBCTL0 MMR which are | 
|  | used to control the Asynchronous Memory Bank 0 settings. | 
|  |  | 
|  | config BANK_1 | 
|  | hex "Bank 1 (AMBCTL0.H)" | 
|  | default 0x7BB0 | 
|  | default 0x5558 if BF54x | 
|  | help | 
|  | These are the high 16 bits of the EBIU_AMBCTL0 MMR which are | 
|  | used to control the Asynchronous Memory Bank 1 settings. | 
|  |  | 
|  | config BANK_2 | 
|  | hex "Bank 2 (AMBCTL1.L)" | 
|  | default 0x7BB0 | 
|  | help | 
|  | These are the low 16 bits of the EBIU_AMBCTL1 MMR which are | 
|  | used to control the Asynchronous Memory Bank 2 settings. | 
|  |  | 
|  | config BANK_3 | 
|  | hex "Bank 3 (AMBCTL1.H)" | 
|  | default 0x99B3 | 
|  | help | 
|  | These are the high 16 bits of the EBIU_AMBCTL1 MMR which are | 
|  | used to control the Asynchronous Memory Bank 3 settings. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | config EBIU_MBSCTLVAL | 
|  | hex "EBIU Bank Select Control Register" | 
|  | depends on BF54x | 
|  | default 0 | 
|  |  | 
|  | config EBIU_MODEVAL | 
|  | hex "Flash Memory Mode Control Register" | 
|  | depends on BF54x | 
|  | default 1 | 
|  |  | 
|  | config EBIU_FCTLVAL | 
|  | hex "Flash Memory Bank Control Register" | 
|  | depends on BF54x | 
|  | default 6 | 
|  | endmenu | 
|  |  | 
|  | ############################################################################# | 
|  | menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" | 
|  |  | 
|  | config PCI | 
|  | bool "PCI support" | 
|  | depends on BROKEN | 
|  | help | 
|  | Support for PCI bus. | 
|  |  | 
|  | source "drivers/pci/Kconfig" | 
|  |  | 
|  | source "drivers/pcmcia/Kconfig" | 
|  |  | 
|  | source "drivers/pci/hotplug/Kconfig" | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "Executable file formats" | 
|  |  | 
|  | source "fs/Kconfig.binfmt" | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "Power management options" | 
|  |  | 
|  | source "kernel/power/Kconfig" | 
|  |  | 
|  | config ARCH_SUSPEND_POSSIBLE | 
|  | def_bool y | 
|  |  | 
|  | choice | 
|  | prompt "Standby Power Saving Mode" | 
|  | depends on PM && !BF60x | 
|  | default PM_BFIN_SLEEP_DEEPER | 
|  | config  PM_BFIN_SLEEP_DEEPER | 
|  | bool "Sleep Deeper" | 
|  | help | 
|  | Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic | 
|  | power dissipation by disabling the clock to the processor core (CCLK). | 
|  | Furthermore, Standby sets the internal power supply voltage (VDDINT) | 
|  | to 0.85 V to provide the greatest power savings, while preserving the | 
|  | processor state. | 
|  | The PLL and system clock (SCLK) continue to operate at a very low | 
|  | frequency of about 3.3 MHz. To preserve data integrity in the SDRAM, | 
|  | the SDRAM is put into Self Refresh Mode. Typically an external event | 
|  | such as GPIO interrupt or RTC activity wakes up the processor. | 
|  | Various Peripherals such as UART, SPORT, PPI may not function as | 
|  | normal during Sleep Deeper, due to the reduced SCLK frequency. | 
|  | When in the sleep mode, system DMA access to L1 memory is not supported. | 
|  |  | 
|  | If unsure, select "Sleep Deeper". | 
|  |  | 
|  | config  PM_BFIN_SLEEP | 
|  | bool "Sleep" | 
|  | help | 
|  | Sleep Mode (High Power Savings) - The sleep mode reduces power | 
|  | dissipation by disabling the clock to the processor core (CCLK). | 
|  | The PLL and system clock (SCLK), however, continue to operate in | 
|  | this mode. Typically an external event or RTC activity will wake | 
|  | up the processor. When in the sleep mode, system DMA access to L1 | 
|  | memory is not supported. | 
|  |  | 
|  | If unsure, select "Sleep Deeper". | 
|  | endchoice | 
|  |  | 
|  | comment "Possible Suspend Mem / Hibernate Wake-Up Sources" | 
|  | depends on PM | 
|  |  | 
|  | config PM_BFIN_WAKE_PH6 | 
|  | bool "Allow Wake-Up from on-chip PHY or PH6 GP" | 
|  | depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537) | 
|  | default n | 
|  | help | 
|  | Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up) | 
|  |  | 
|  | config PM_BFIN_WAKE_GP | 
|  | bool "Allow Wake-Up from GPIOs" | 
|  | depends on PM && BF54x | 
|  | default n | 
|  | help | 
|  | Enable General-Purpose Wake-Up (Voltage Regulator Power-Up) | 
|  | (all processors, except ADSP-BF549). This option sets | 
|  | the general-purpose wake-up enable (GPWE) control bit to enable | 
|  | wake-up upon detection of an active low signal on the /GPW (PH7) pin. | 
|  | On ADSP-BF549 this option enables the same functionality on the | 
|  | /MRXON pin also PH7. | 
|  |  | 
|  | config PM_BFIN_WAKE_PA15 | 
|  | bool "Allow Wake-Up from PA15" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PA15 Wake-Up | 
|  |  | 
|  | config PM_BFIN_WAKE_PA15_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PA15 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PB15 | 
|  | bool "Allow Wake-Up from PB15" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PB15 Wake-Up | 
|  |  | 
|  | config PM_BFIN_WAKE_PB15_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PB15 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PC15 | 
|  | bool "Allow Wake-Up from PC15" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PC15 Wake-Up | 
|  |  | 
|  | config PM_BFIN_WAKE_PC15_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PC15 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PD06 | 
|  | bool "Allow Wake-Up from PD06(ETH0_PHYINT)" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PD06(ETH0_PHYINT) Wake-up | 
|  |  | 
|  | config PM_BFIN_WAKE_PD06_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PD06 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PE12 | 
|  | bool "Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON)" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PE12(ETH1_PHYINT, PUSH BUTTON) Wake-up | 
|  |  | 
|  | config PM_BFIN_WAKE_PE12_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PE12 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PG04 | 
|  | bool "Allow Wake-Up from PG04(CAN0_RX)" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PG04(CAN0_RX) Wake-up | 
|  |  | 
|  | config PM_BFIN_WAKE_PG04_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PG04 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_PG13 | 
|  | bool "Allow Wake-Up from PG13" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable PG13 Wake-Up | 
|  |  | 
|  | config PM_BFIN_WAKE_PG13_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_PG13 | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | config PM_BFIN_WAKE_USB | 
|  | bool "Allow Wake-Up from (USB)" | 
|  | depends on PM && BF60x | 
|  | default n | 
|  | help | 
|  | Enable (USB) Wake-up | 
|  |  | 
|  | config PM_BFIN_WAKE_USB_POL | 
|  | int "Wake-up priority" | 
|  | depends on PM_BFIN_WAKE_USB | 
|  | default 0 | 
|  | help | 
|  | Wake-Up priority 0(low) 1(high) | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "CPU Frequency scaling" | 
|  |  | 
|  | source "drivers/cpufreq/Kconfig" | 
|  |  | 
|  | config BFIN_CPU_FREQ | 
|  | bool | 
|  | depends on CPU_FREQ | 
|  | default y | 
|  |  | 
|  | config CPU_VOLTAGE | 
|  | bool "CPU Voltage scaling" | 
|  | depends on CPU_FREQ | 
|  | default n | 
|  | help | 
|  | Say Y here if you want CPU voltage scaling according to the CPU frequency. | 
|  | This option violates the PLL BYPASS recommendation in the Blackfin Processor | 
|  | manuals. There is a theoretical risk that during VDDINT transitions | 
|  | the PLL may unlock. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | source "net/Kconfig" | 
|  |  | 
|  | source "drivers/Kconfig" | 
|  |  | 
|  | source "drivers/firmware/Kconfig" | 
|  |  | 
|  | source "fs/Kconfig" | 
|  |  | 
|  | source "arch/blackfin/Kconfig.debug" | 
|  |  | 
|  | source "security/Kconfig" | 
|  |  | 
|  | source "crypto/Kconfig" | 
|  |  | 
|  | source "lib/Kconfig" |