2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Blackfin Kernel Configuration"
16 config RWSEM_GENERIC_SPINLOCK
20 config RWSEM_XCHGADD_ALGORITHM
34 config GENERIC_FIND_NEXT_BIT
38 config GENERIC_HWEIGHT
42 config GENERIC_HARDIRQS
46 config GENERIC_IRQ_PROBE
58 config FORCE_MAX_ZONEORDER
62 config GENERIC_CALIBRATE_DELAY
71 source "kernel/Kconfig.preempt"
73 menu "Blackfin Processor Options"
75 comment "Processor and Board Settings"
84 BF522 Processor Support.
89 BF523 Processor Support.
94 BF524 Processor Support.
99 BF525 Processor Support.
104 BF526 Processor Support.
109 BF527 Processor Support.
114 BF531 Processor Support.
119 BF532 Processor Support.
124 BF533 Processor Support.
129 BF534 Processor Support.
134 BF536 Processor Support.
139 BF537 Processor Support.
144 BF542 Processor Support.
149 BF544 Processor Support.
154 BF547 Processor Support.
159 BF548 Processor Support.
164 BF549 Processor Support.
169 Not Supported Yet - Work in progress - BF561 Processor Support.
175 default BF_REV_0_1 if BF527
176 default BF_REV_0_2 if BF537
177 default BF_REV_0_3 if BF533
178 default BF_REV_0_0 if BF549
182 depends on (BF52x || BF54x)
186 depends on (BF52x || BF54x)
190 depends on (BF537 || BF536 || BF534)
194 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
198 depends on (BF561 || BF533 || BF532 || BF531)
202 depends on (BF561 || BF533 || BF532 || BF531)
214 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
219 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
224 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
227 config BFIN_DUAL_CORE
232 config BFIN_SINGLE_CORE
234 depends on !BFIN_DUAL_CORE
237 config MEM_GENERIC_BOARD
239 depends on GENERIC_BOARD
242 config MEM_MT48LC64M4A2FB_7E
244 depends on (BFIN533_STAMP)
247 config MEM_MT48LC16M16A2TG_75
249 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
250 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
254 config MEM_MT48LC32M8A2_75
256 depends on (BFIN537_STAMP || PNAV10)
259 config MEM_MT48LC8M32B2B5_7
261 depends on (BFIN561_BLUETECHNIX_CM)
264 config MEM_MT48LC32M16A2TG_75
266 depends on (BFIN527_EZKIT)
269 source "arch/blackfin/mach-bf527/Kconfig"
270 source "arch/blackfin/mach-bf533/Kconfig"
271 source "arch/blackfin/mach-bf561/Kconfig"
272 source "arch/blackfin/mach-bf537/Kconfig"
273 source "arch/blackfin/mach-bf548/Kconfig"
275 menu "Board customizations"
278 bool "Default bootloader kernel arguments"
281 string "Initial kernel command string"
282 depends on CMDLINE_BOOL
283 default "console=ttyBF0,57600"
285 If you don't have a boot loader capable of passing a command line string
286 to the kernel, you may specify one here. As a minimum, you should specify
287 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
289 comment "Clock/PLL Setup"
292 int "Crystal Frequency in Hz"
293 default "11059200" if BFIN533_STAMP
294 default "27000000" if BFIN533_EZKIT
295 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
296 default "30000000" if BFIN561_EZKIT
297 default "24576000" if PNAV10
299 The frequency of CLKIN crystal oscillator on the board in Hz.
301 config BFIN_KERNEL_CLOCK
302 bool "Re-program Clocks while Kernel boots?"
305 This option decides if kernel clocks are re-programed from the
306 bootloader settings. If the clocks are not set, the SDRAM settings
307 are also not changed, and the Bootloader does 100% of the hardware
312 depends on BFIN_KERNEL_CLOCK
317 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
320 If this is set the clock will be divided by 2, before it goes to the PLL.
324 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
326 default "22" if BFIN533_EZKIT
327 default "45" if BFIN533_STAMP
328 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
329 default "22" if BFIN533_BLUETECHNIX_CM
330 default "20" if BFIN537_BLUETECHNIX_CM
331 default "20" if BFIN561_BLUETECHNIX_CM
332 default "20" if BFIN561_EZKIT
333 default "16" if H8606_HVSISTEMAS
335 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
336 PLL Frequency = (Crystal Frequency) * (this setting)
339 prompt "Core Clock Divider"
340 depends on BFIN_KERNEL_CLOCK
343 This sets the frequency of the core. It can be 1, 2, 4 or 8
344 Core Frequency = (PLL frequency) / (this setting)
360 int "System Clock Divider"
361 depends on BFIN_KERNEL_CLOCK
363 default 5 if BFIN533_EZKIT
364 default 5 if BFIN533_STAMP
365 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
366 default 5 if BFIN533_BLUETECHNIX_CM
367 default 4 if BFIN537_BLUETECHNIX_CM
368 default 4 if BFIN561_BLUETECHNIX_CM
369 default 5 if BFIN561_EZKIT
370 default 3 if H8606_HVSISTEMAS
372 This sets the frequency of the system clock (including SDRAM or DDR).
373 This can be between 1 and 15
374 System Clock = (PLL frequency) / (this setting)
377 # Max & Min Speeds for various Chips
381 default 600000000 if BF522
382 default 400000000 if BF523
383 default 400000000 if BF524
384 default 600000000 if BF525
385 default 400000000 if BF526
386 default 600000000 if BF527
387 default 400000000 if BF531
388 default 400000000 if BF532
389 default 750000000 if BF533
390 default 500000000 if BF534
391 default 400000000 if BF536
392 default 600000000 if BF537
393 default 533333333 if BF538
394 default 533333333 if BF539
395 default 600000000 if BF542
396 default 533333333 if BF544
397 default 600000000 if BF547
398 default 600000000 if BF548
399 default 533333333 if BF549
400 default 600000000 if BF561
414 comment "Kernel Timer/Scheduler"
416 source kernel/Kconfig.hz
418 comment "Memory Setup"
421 int "SDRAM Memory Size in MBytes"
422 default 32 if BFIN533_EZKIT
423 default 64 if BFIN527_EZKIT
424 default 64 if BFIN537_STAMP
425 default 64 if BFIN548_EZKIT
426 default 64 if BFIN561_EZKIT
427 default 128 if BFIN533_STAMP
429 default 32 if H8606_HVSISTEMAS
432 int "SDRAM Memory Address Width"
434 default 9 if BFIN533_EZKIT
435 default 9 if BFIN561_EZKIT
436 default 9 if H8606_HVSISTEMAS
437 default 10 if BFIN527_EZKIT
438 default 10 if BFIN537_STAMP
439 default 11 if BFIN533_STAMP
444 prompt "DDR SDRAM Chip Type"
445 depends on BFIN548_EZKIT
446 default MEM_MT46V32M16_5B
448 config MEM_MT46V32M16_6T
451 config MEM_MT46V32M16_5B
455 config ENET_FLASH_PIN
456 int "PF port/pin used for flash and ethernet sharing"
457 depends on (BFIN533_STAMP)
460 PF port/pin used for flash and ethernet sharing to allow other PF
461 pins to be used on other platforms without having to touch common
463 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
466 hex "Kernel load address for booting"
468 range 0x1000 0x20000000
470 This option allows you to set the load address of the kernel.
471 This can be useful if you are on a board which has a small amount
472 of memory or you wish to reserve some memory at the beginning of
475 Note that you need to keep this value above 4k (0x1000) as this
476 memory region is used to capture NULL pointer references as well
477 as some core kernel functions.
480 prompt "Blackfin Exception Scratch Register"
481 default BFIN_SCRATCH_REG_RETN
483 Select the resource to reserve for the Exception handler:
484 - RETN: Non-Maskable Interrupt (NMI)
485 - RETE: Exception Return (JTAG/ICE)
486 - CYCLES: Performance counter
488 If you are unsure, please select "RETN".
490 config BFIN_SCRATCH_REG_RETN
493 Use the RETN register in the Blackfin exception handler
494 as a stack scratch register. This means you cannot
495 safely use NMI on the Blackfin while running Linux, but
496 you can debug the system with a JTAG ICE and use the
497 CYCLES performance registers.
499 If you are unsure, please select "RETN".
501 config BFIN_SCRATCH_REG_RETE
504 Use the RETE register in the Blackfin exception handler
505 as a stack scratch register. This means you cannot
506 safely use a JTAG ICE while debugging a Blackfin board,
507 but you can safely use the CYCLES performance registers
510 If you are unsure, please select "RETN".
512 config BFIN_SCRATCH_REG_CYCLES
515 Use the CYCLES register in the Blackfin exception handler
516 as a stack scratch register. This means you cannot
517 safely use the CYCLES performance registers on a Blackfin
518 board at anytime, but you can debug the system with a JTAG
521 If you are unsure, please select "RETN".
528 menu "Blackfin Kernel Optimizations"
530 comment "Memory Optimizations"
533 bool "Locate interrupt entry code in L1 Memory"
536 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
537 into L1 instruction memory. (less latency)
539 config EXCPT_IRQ_SYSC_L1
540 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
543 If enabled, the entire ASM lowlevel exception and interrupt entry code
544 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
548 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
551 If enabled, the frequently called do_irq dispatcher function is linked
552 into L1 instruction memory. (less latency)
554 config CORE_TIMER_IRQ_L1
555 bool "Locate frequently called timer_interrupt() function in L1 Memory"
558 If enabled, the frequently called timer_interrupt() function is linked
559 into L1 instruction memory. (less latency)
562 bool "Locate frequently idle function in L1 Memory"
565 If enabled, the frequently called idle function is linked
566 into L1 instruction memory. (less latency)
569 bool "Locate kernel schedule function in L1 Memory"
572 If enabled, the frequently called kernel schedule is linked
573 into L1 instruction memory. (less latency)
575 config ARITHMETIC_OPS_L1
576 bool "Locate kernel owned arithmetic functions in L1 Memory"
579 If enabled, arithmetic functions are linked
580 into L1 instruction memory. (less latency)
583 bool "Locate access_ok function in L1 Memory"
586 If enabled, the access_ok function is linked
587 into L1 instruction memory. (less latency)
590 bool "Locate memset function in L1 Memory"
593 If enabled, the memset function is linked
594 into L1 instruction memory. (less latency)
597 bool "Locate memcpy function in L1 Memory"
600 If enabled, the memcpy function is linked
601 into L1 instruction memory. (less latency)
603 config SYS_BFIN_SPINLOCK_L1
604 bool "Locate sys_bfin_spinlock function in L1 Memory"
607 If enabled, sys_bfin_spinlock function is linked
608 into L1 instruction memory. (less latency)
610 config IP_CHECKSUM_L1
611 bool "Locate IP Checksum function in L1 Memory"
614 If enabled, the IP Checksum function is linked
615 into L1 instruction memory. (less latency)
617 config CACHELINE_ALIGNED_L1
618 bool "Locate cacheline_aligned data to L1 Data Memory"
623 If enabled, cacheline_anligned data is linked
624 into L1 data memory. (less latency)
626 config SYSCALL_TAB_L1
627 bool "Locate Syscall Table L1 Data Memory"
631 If enabled, the Syscall LUT is linked
632 into L1 data memory. (less latency)
634 config CPLB_SWITCH_TAB_L1
635 bool "Locate CPLB Switch Tables L1 Data Memory"
639 If enabled, the CPLB Switch Tables are linked
640 into L1 data memory. (less latency)
646 prompt "Kernel executes from"
648 Choose the memory type that the kernel will be running in.
653 The kernel will be resident in RAM when running.
658 The kernel will be resident in FLASH/ROM when running.
665 bool "Allow allocating large blocks (> 1MB) of memory"
667 Allow the slab memory allocator to keep chains for very large
668 memory sizes - upto 32MB. You may need this if your system has
669 a lot of RAM, and you need to able to allocate very large
670 contiguous chunks. If unsure, say N.
673 tristate "Enable Blackfin General Purpose Timers API"
676 Enable support for the General Purpose Timers API. If you
679 To compile this driver as a module, choose M here: the module
680 will be called gptimers.ko.
683 bool "Enable DMA Support"
684 depends on (BF52x || BF53x || BF561 || BF54x)
687 DMA driver for BF5xx.
690 prompt "Uncached SDRAM region"
691 default DMA_UNCACHED_1M
692 depends on BFIN_DMA_5XX
693 config DMA_UNCACHED_2M
694 bool "Enable 2M DMA region"
695 config DMA_UNCACHED_1M
696 bool "Enable 1M DMA region"
697 config DMA_UNCACHED_NONE
698 bool "Disable DMA region"
702 comment "Cache Support"
707 config BFIN_DCACHE_BANKA
708 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
709 depends on BFIN_DCACHE && !BF531
711 config BFIN_ICACHE_LOCK
712 bool "Enable Instruction Cache Locking"
716 depends on BFIN_DCACHE
722 Cached data will be written back to SDRAM only when needed.
723 This can give a nice increase in performance, but beware of
724 broken drivers that do not properly invalidate/flush their
727 Write Through Policy:
728 Cached data will always be written back to SDRAM when the
729 cache is updated. This is a completely safe setting, but
730 performance is worse than Write Back.
732 If you are unsure of the options and you want to be safe,
733 then go with Write Through.
739 Cached data will be written back to SDRAM only when needed.
740 This can give a nice increase in performance, but beware of
741 broken drivers that do not properly invalidate/flush their
744 Write Through Policy:
745 Cached data will always be written back to SDRAM when the
746 cache is updated. This is a completely safe setting, but
747 performance is worse than Write Back.
749 If you are unsure of the options and you want to be safe,
750 then go with Write Through.
755 int "Set the max L1 SRAM pieces"
758 Set the max memory pieces for the L1 SRAM allocation algorithm.
759 Min value is 16. Max value is 1024.
763 bool "Enable the memory protection unit (EXPERIMENTAL)"
766 Use the processor's MPU to protect applications from accessing
767 memory they do not own. This comes at a performance penalty
768 and is recommended only for debugging.
770 comment "Asynchonous Memory Configuration"
772 menu "EBIU_AMGCTL Global Control"
778 bool "DMA has priority over core for ext. accesses"
783 bool "Bank 0 16 bit packing enable"
788 bool "Bank 1 16 bit packing enable"
793 bool "Bank 2 16 bit packing enable"
798 bool "Bank 3 16 bit packing enable"
802 prompt"Enable Asynchonous Memory Banks"
806 bool "Disable All Banks"
812 bool "Enable Bank 0 & 1"
814 config C_AMBEN_B0_B1_B2
815 bool "Enable Bank 0 & 1 & 2"
818 bool "Enable All Banks"
822 menu "EBIU_AMBCTL Control"
840 config EBIU_MBSCTLVAL
841 hex "EBIU Bank Select Control Register"
846 hex "Flash Memory Mode Control Register"
851 hex "Flash Memory Bank Control Register"
856 #############################################################################
857 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
864 source "drivers/pci/Kconfig"
867 bool "Support for hot-pluggable device"
869 Say Y here if you want to plug devices into your computer while
870 the system is running, and be able to use them quickly. In many
871 cases, the devices can likewise be unplugged at any time too.
873 One well known example of this is PCMCIA- or PC-cards, credit-card
874 size devices such as network cards, modems or hard drives which are
875 plugged into slots found on all modern laptop computers. Another
876 example, used on modern desktops as well as laptops, is USB.
878 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
879 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
880 Then your kernel will automatically call out to a user mode "policy
881 agent" (/sbin/hotplug) to load modules and set up software needed
882 to use devices as you hotplug them.
884 source "drivers/pcmcia/Kconfig"
886 source "drivers/pci/hotplug/Kconfig"
890 menu "Executable file formats"
892 source "fs/Kconfig.binfmt"
896 menu "Power management options"
897 source "kernel/power/Kconfig"
899 config ARCH_SUSPEND_POSSIBLE
904 prompt "Default Power Saving Mode"
906 default PM_BFIN_SLEEP_DEEPER
907 config PM_BFIN_SLEEP_DEEPER
910 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
911 power dissipation by disabling the clock to the processor core (CCLK).
912 Furthermore, Standby sets the internal power supply voltage (VDDINT)
913 to 0.85 V to provide the greatest power savings, while preserving the
915 The PLL and system clock (SCLK) continue to operate at a very low
916 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
917 the SDRAM is put into Self Refresh Mode. Typically an external event
918 such as GPIO interrupt or RTC activity wakes up the processor.
919 Various Peripherals such as UART, SPORT, PPI may not function as
920 normal during Sleep Deeper, due to the reduced SCLK frequency.
921 When in the sleep mode, system DMA access to L1 memory is not supported.
926 Sleep Mode (High Power Savings) - The sleep mode reduces power
927 dissipation by disabling the clock to the processor core (CCLK).
928 The PLL and system clock (SCLK), however, continue to operate in
929 this mode. Typically an external event or RTC activity will wake
930 up the processor. When in the sleep mode,
931 system DMA access to L1 memory is not supported.
934 config PM_WAKEUP_BY_GPIO
935 bool "Cause Wakeup Event by GPIO"
937 config PM_WAKEUP_GPIO_NUMBER
938 int "Wakeup GPIO number"
940 depends on PM_WAKEUP_BY_GPIO
941 default 2 if BFIN537_STAMP
944 prompt "GPIO Polarity"
945 depends on PM_WAKEUP_BY_GPIO
946 default PM_WAKEUP_GPIO_POLAR_H
947 config PM_WAKEUP_GPIO_POLAR_H
949 config PM_WAKEUP_GPIO_POLAR_L
951 config PM_WAKEUP_GPIO_POLAR_EDGE_F
953 config PM_WAKEUP_GPIO_POLAR_EDGE_R
955 config PM_WAKEUP_GPIO_POLAR_EDGE_B
961 if (BF537 || BF533 || BF54x)
963 menu "CPU Frequency scaling"
965 source "drivers/cpufreq/Kconfig"
971 If you want to enable this option, you should select the
972 DPMC driver from Character Devices.
979 source "drivers/Kconfig"
983 source "arch/blackfin/Kconfig.debug"
985 source "security/Kconfig"
987 source "crypto/Kconfig"