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
32 config SEMAPHORE_SLEEPERS
36 config GENERIC_FIND_NEXT_BIT
40 config GENERIC_HWEIGHT
44 config GENERIC_HARDIRQS
48 config GENERIC_IRQ_PROBE
60 config FORCE_MAX_ZONEORDER
64 config GENERIC_CALIBRATE_DELAY
73 source "kernel/Kconfig.preempt"
75 menu "Blackfin Processor Options"
77 comment "Processor and Board Settings"
86 BF522 Processor Support.
91 BF523 Processor Support.
96 BF524 Processor Support.
101 BF525 Processor Support.
106 BF526 Processor Support.
111 BF527 Processor Support.
116 BF531 Processor Support.
121 BF532 Processor Support.
126 BF533 Processor Support.
131 BF534 Processor Support.
136 BF536 Processor Support.
141 BF537 Processor Support.
146 BF542 Processor Support.
151 BF544 Processor Support.
156 BF547 Processor Support.
161 BF548 Processor Support.
166 BF549 Processor Support.
171 Not Supported Yet - Work in progress - BF561 Processor Support.
177 default BF_REV_0_1 if BF527
178 default BF_REV_0_2 if BF537
179 default BF_REV_0_3 if BF533
180 default BF_REV_0_0 if BF549
184 depends on (BF52x || BF54x)
188 depends on (BF52x || BF54x)
192 depends on (BF537 || BF536 || BF534)
196 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
200 depends on (BF561 || BF533 || BF532 || BF531)
204 depends on (BF561 || BF533 || BF532 || BF531)
216 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
221 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
226 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
229 config BFIN_DUAL_CORE
234 config BFIN_SINGLE_CORE
236 depends on !BFIN_DUAL_CORE
239 config MEM_GENERIC_BOARD
241 depends on GENERIC_BOARD
244 config MEM_MT48LC64M4A2FB_7E
246 depends on (BFIN533_STAMP)
249 config MEM_MT48LC16M16A2TG_75
251 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
252 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
256 config MEM_MT48LC32M8A2_75
258 depends on (BFIN537_STAMP || PNAV10)
261 config MEM_MT48LC8M32B2B5_7
263 depends on (BFIN561_BLUETECHNIX_CM)
266 config MEM_MT48LC32M16A2TG_75
268 depends on (BFIN527_EZKIT)
271 source "arch/blackfin/mach-bf527/Kconfig"
272 source "arch/blackfin/mach-bf533/Kconfig"
273 source "arch/blackfin/mach-bf561/Kconfig"
274 source "arch/blackfin/mach-bf537/Kconfig"
275 source "arch/blackfin/mach-bf548/Kconfig"
277 menu "Board customizations"
280 bool "Default bootloader kernel arguments"
283 string "Initial kernel command string"
284 depends on CMDLINE_BOOL
285 default "console=ttyBF0,57600"
287 If you don't have a boot loader capable of passing a command line string
288 to the kernel, you may specify one here. As a minimum, you should specify
289 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
291 comment "Clock/PLL Setup"
294 int "Crystal Frequency in Hz"
295 default "11059200" if BFIN533_STAMP
296 default "27000000" if BFIN533_EZKIT
297 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
298 default "30000000" if BFIN561_EZKIT
299 default "24576000" if PNAV10
301 The frequency of CLKIN crystal oscillator on the board in Hz.
303 config BFIN_KERNEL_CLOCK
304 bool "Re-program Clocks while Kernel boots?"
307 This option decides if kernel clocks are re-programed from the
308 bootloader settings. If the clocks are not set, the SDRAM settings
309 are also not changed, and the Bootloader does 100% of the hardware
314 depends on BFIN_KERNEL_CLOCK
319 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
322 If this is set the clock will be divided by 2, before it goes to the PLL.
326 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
328 default "22" if BFIN533_EZKIT
329 default "45" if BFIN533_STAMP
330 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
331 default "22" if BFIN533_BLUETECHNIX_CM
332 default "20" if BFIN537_BLUETECHNIX_CM
333 default "20" if BFIN561_BLUETECHNIX_CM
334 default "20" if BFIN561_EZKIT
335 default "16" if H8606_HVSISTEMAS
337 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
338 PLL Frequency = (Crystal Frequency) * (this setting)
341 prompt "Core Clock Divider"
342 depends on BFIN_KERNEL_CLOCK
345 This sets the frequency of the core. It can be 1, 2, 4 or 8
346 Core Frequency = (PLL frequency) / (this setting)
362 int "System Clock Divider"
363 depends on BFIN_KERNEL_CLOCK
365 default 5 if BFIN533_EZKIT
366 default 5 if BFIN533_STAMP
367 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
368 default 5 if BFIN533_BLUETECHNIX_CM
369 default 4 if BFIN537_BLUETECHNIX_CM
370 default 4 if BFIN561_BLUETECHNIX_CM
371 default 5 if BFIN561_EZKIT
372 default 3 if H8606_HVSISTEMAS
374 This sets the frequency of the system clock (including SDRAM or DDR).
375 This can be between 1 and 15
376 System Clock = (PLL frequency) / (this setting)
379 # Max & Min Speeds for various Chips
383 default 600000000 if BF522
384 default 400000000 if BF523
385 default 400000000 if BF524
386 default 600000000 if BF525
387 default 400000000 if BF526
388 default 600000000 if BF527
389 default 400000000 if BF531
390 default 400000000 if BF532
391 default 750000000 if BF533
392 default 500000000 if BF534
393 default 400000000 if BF536
394 default 600000000 if BF537
395 default 533333333 if BF538
396 default 533333333 if BF539
397 default 600000000 if BF542
398 default 533333333 if BF544
399 default 600000000 if BF547
400 default 600000000 if BF548
401 default 533333333 if BF549
402 default 600000000 if BF561
416 comment "Kernel Timer/Scheduler"
418 source kernel/Kconfig.hz
420 comment "Memory Setup"
423 int "SDRAM Memory Size in MBytes"
424 default 32 if BFIN533_EZKIT
425 default 64 if BFIN527_EZKIT
426 default 64 if BFIN537_STAMP
427 default 64 if BFIN548_EZKIT
428 default 64 if BFIN561_EZKIT
429 default 128 if BFIN533_STAMP
431 default 32 if H8606_HVSISTEMAS
434 int "SDRAM Memory Address Width"
436 default 9 if BFIN533_EZKIT
437 default 9 if BFIN561_EZKIT
438 default 9 if H8606_HVSISTEMAS
439 default 10 if BFIN527_EZKIT
440 default 10 if BFIN537_STAMP
441 default 11 if BFIN533_STAMP
446 prompt "DDR SDRAM Chip Type"
447 depends on BFIN548_EZKIT
448 default MEM_MT46V32M16_5B
450 config MEM_MT46V32M16_6T
453 config MEM_MT46V32M16_5B
457 config ENET_FLASH_PIN
458 int "PF port/pin used for flash and ethernet sharing"
459 depends on (BFIN533_STAMP)
462 PF port/pin used for flash and ethernet sharing to allow other PF
463 pins to be used on other platforms without having to touch common
465 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
468 hex "Kernel load address for booting"
470 range 0x1000 0x20000000
472 This option allows you to set the load address of the kernel.
473 This can be useful if you are on a board which has a small amount
474 of memory or you wish to reserve some memory at the beginning of
477 Note that you need to keep this value above 4k (0x1000) as this
478 memory region is used to capture NULL pointer references as well
479 as some core kernel functions.
482 prompt "Blackfin Exception Scratch Register"
483 default BFIN_SCRATCH_REG_RETN
485 Select the resource to reserve for the Exception handler:
486 - RETN: Non-Maskable Interrupt (NMI)
487 - RETE: Exception Return (JTAG/ICE)
488 - CYCLES: Performance counter
490 If you are unsure, please select "RETN".
492 config BFIN_SCRATCH_REG_RETN
495 Use the RETN register in the Blackfin exception handler
496 as a stack scratch register. This means you cannot
497 safely use NMI on the Blackfin while running Linux, but
498 you can debug the system with a JTAG ICE and use the
499 CYCLES performance registers.
501 If you are unsure, please select "RETN".
503 config BFIN_SCRATCH_REG_RETE
506 Use the RETE register in the Blackfin exception handler
507 as a stack scratch register. This means you cannot
508 safely use a JTAG ICE while debugging a Blackfin board,
509 but you can safely use the CYCLES performance registers
512 If you are unsure, please select "RETN".
514 config BFIN_SCRATCH_REG_CYCLES
517 Use the CYCLES register in the Blackfin exception handler
518 as a stack scratch register. This means you cannot
519 safely use the CYCLES performance registers on a Blackfin
520 board at anytime, but you can debug the system with a JTAG
523 If you are unsure, please select "RETN".
530 menu "Blackfin Kernel Optimizations"
532 comment "Memory Optimizations"
535 bool "Locate interrupt entry code in L1 Memory"
538 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
539 into L1 instruction memory. (less latency)
541 config EXCPT_IRQ_SYSC_L1
542 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
545 If enabled, the entire ASM lowlevel exception and interrupt entry code
546 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
550 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
553 If enabled, the frequently called do_irq dispatcher function is linked
554 into L1 instruction memory. (less latency)
556 config CORE_TIMER_IRQ_L1
557 bool "Locate frequently called timer_interrupt() function in L1 Memory"
560 If enabled, the frequently called timer_interrupt() function is linked
561 into L1 instruction memory. (less latency)
564 bool "Locate frequently idle function in L1 Memory"
567 If enabled, the frequently called idle function is linked
568 into L1 instruction memory. (less latency)
571 bool "Locate kernel schedule function in L1 Memory"
574 If enabled, the frequently called kernel schedule is linked
575 into L1 instruction memory. (less latency)
577 config ARITHMETIC_OPS_L1
578 bool "Locate kernel owned arithmetic functions in L1 Memory"
581 If enabled, arithmetic functions are linked
582 into L1 instruction memory. (less latency)
585 bool "Locate access_ok function in L1 Memory"
588 If enabled, the access_ok function is linked
589 into L1 instruction memory. (less latency)
592 bool "Locate memset function in L1 Memory"
595 If enabled, the memset function is linked
596 into L1 instruction memory. (less latency)
599 bool "Locate memcpy function in L1 Memory"
602 If enabled, the memcpy function is linked
603 into L1 instruction memory. (less latency)
605 config SYS_BFIN_SPINLOCK_L1
606 bool "Locate sys_bfin_spinlock function in L1 Memory"
609 If enabled, sys_bfin_spinlock function is linked
610 into L1 instruction memory. (less latency)
612 config IP_CHECKSUM_L1
613 bool "Locate IP Checksum function in L1 Memory"
616 If enabled, the IP Checksum function is linked
617 into L1 instruction memory. (less latency)
619 config CACHELINE_ALIGNED_L1
620 bool "Locate cacheline_aligned data to L1 Data Memory"
625 If enabled, cacheline_anligned data is linked
626 into L1 data memory. (less latency)
628 config SYSCALL_TAB_L1
629 bool "Locate Syscall Table L1 Data Memory"
633 If enabled, the Syscall LUT is linked
634 into L1 data memory. (less latency)
636 config CPLB_SWITCH_TAB_L1
637 bool "Locate CPLB Switch Tables L1 Data Memory"
641 If enabled, the CPLB Switch Tables are linked
642 into L1 data memory. (less latency)
648 prompt "Kernel executes from"
650 Choose the memory type that the kernel will be running in.
655 The kernel will be resident in RAM when running.
660 The kernel will be resident in FLASH/ROM when running.
667 bool "Allow allocating large blocks (> 1MB) of memory"
669 Allow the slab memory allocator to keep chains for very large
670 memory sizes - upto 32MB. You may need this if your system has
671 a lot of RAM, and you need to able to allocate very large
672 contiguous chunks. If unsure, say N.
675 tristate "Enable Blackfin General Purpose Timers API"
678 Enable support for the General Purpose Timers API. If you
681 To compile this driver as a module, choose M here: the module
682 will be called gptimers.ko.
685 bool "Enable DMA Support"
686 depends on (BF52x || BF53x || BF561 || BF54x)
689 DMA driver for BF5xx.
692 prompt "Uncached SDRAM region"
693 default DMA_UNCACHED_1M
694 depends on BFIN_DMA_5XX
695 config DMA_UNCACHED_2M
696 bool "Enable 2M DMA region"
697 config DMA_UNCACHED_1M
698 bool "Enable 1M DMA region"
699 config DMA_UNCACHED_NONE
700 bool "Disable DMA region"
704 comment "Cache Support"
709 config BFIN_DCACHE_BANKA
710 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
711 depends on BFIN_DCACHE && !BF531
713 config BFIN_ICACHE_LOCK
714 bool "Enable Instruction Cache Locking"
718 depends on BFIN_DCACHE
724 Cached data will be written back to SDRAM only when needed.
725 This can give a nice increase in performance, but beware of
726 broken drivers that do not properly invalidate/flush their
729 Write Through Policy:
730 Cached data will always be written back to SDRAM when the
731 cache is updated. This is a completely safe setting, but
732 performance is worse than Write Back.
734 If you are unsure of the options and you want to be safe,
735 then go with Write Through.
741 Cached data will be written back to SDRAM only when needed.
742 This can give a nice increase in performance, but beware of
743 broken drivers that do not properly invalidate/flush their
746 Write Through Policy:
747 Cached data will always be written back to SDRAM when the
748 cache is updated. This is a completely safe setting, but
749 performance is worse than Write Back.
751 If you are unsure of the options and you want to be safe,
752 then go with Write Through.
757 int "Set the max L1 SRAM pieces"
760 Set the max memory pieces for the L1 SRAM allocation algorithm.
761 Min value is 16. Max value is 1024.
765 bool "Enable the memory protection unit (EXPERIMENTAL)"
768 Use the processor's MPU to protect applications from accessing
769 memory they do not own. This comes at a performance penalty
770 and is recommended only for debugging.
772 comment "Asynchonous Memory Configuration"
774 menu "EBIU_AMGCTL Global Control"
780 bool "DMA has priority over core for ext. accesses"
785 bool "Bank 0 16 bit packing enable"
790 bool "Bank 1 16 bit packing enable"
795 bool "Bank 2 16 bit packing enable"
800 bool "Bank 3 16 bit packing enable"
804 prompt"Enable Asynchonous Memory Banks"
808 bool "Disable All Banks"
814 bool "Enable Bank 0 & 1"
816 config C_AMBEN_B0_B1_B2
817 bool "Enable Bank 0 & 1 & 2"
820 bool "Enable All Banks"
824 menu "EBIU_AMBCTL Control"
842 config EBIU_MBSCTLVAL
843 hex "EBIU Bank Select Control Register"
848 hex "Flash Memory Mode Control Register"
853 hex "Flash Memory Bank Control Register"
858 #############################################################################
859 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
866 source "drivers/pci/Kconfig"
869 bool "Support for hot-pluggable device"
871 Say Y here if you want to plug devices into your computer while
872 the system is running, and be able to use them quickly. In many
873 cases, the devices can likewise be unplugged at any time too.
875 One well known example of this is PCMCIA- or PC-cards, credit-card
876 size devices such as network cards, modems or hard drives which are
877 plugged into slots found on all modern laptop computers. Another
878 example, used on modern desktops as well as laptops, is USB.
880 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
881 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
882 Then your kernel will automatically call out to a user mode "policy
883 agent" (/sbin/hotplug) to load modules and set up software needed
884 to use devices as you hotplug them.
886 source "drivers/pcmcia/Kconfig"
888 source "drivers/pci/hotplug/Kconfig"
892 menu "Executable file formats"
894 source "fs/Kconfig.binfmt"
898 menu "Power management options"
899 source "kernel/power/Kconfig"
901 config ARCH_SUSPEND_POSSIBLE
906 prompt "Select PM Wakeup Event Source"
907 default PM_WAKEUP_GPIO_BY_SIC_IWR
910 If you have a GPIO already configured as input with the corresponding PORTx_MASK
911 bit set - "Specify Wakeup Event by SIC_IWR value"
913 config PM_WAKEUP_GPIO_BY_SIC_IWR
914 bool "Specify Wakeup Event by SIC_IWR value"
915 config PM_WAKEUP_BY_GPIO
916 bool "Cause Wakeup Event by GPIO"
917 config PM_WAKEUP_GPIO_API
918 bool "Configure Wakeup Event by PM GPIO API"
922 config PM_WAKEUP_SIC_IWR
923 hex "Wakeup Events (SIC_IWR)"
924 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
925 default 0x8 if (BF537 || BF536 || BF534)
926 default 0x80 if (BF533 || BF532 || BF531)
927 default 0x80 if (BF54x)
928 default 0x80 if (BF52x)
930 config PM_WAKEUP_GPIO_NUMBER
931 int "Wakeup GPIO number"
933 depends on PM_WAKEUP_BY_GPIO
934 default 2 if BFIN537_STAMP
937 prompt "GPIO Polarity"
938 depends on PM_WAKEUP_BY_GPIO
939 default PM_WAKEUP_GPIO_POLAR_H
940 config PM_WAKEUP_GPIO_POLAR_H
942 config PM_WAKEUP_GPIO_POLAR_L
944 config PM_WAKEUP_GPIO_POLAR_EDGE_F
946 config PM_WAKEUP_GPIO_POLAR_EDGE_R
948 config PM_WAKEUP_GPIO_POLAR_EDGE_B
954 if (BF537 || BF533 || BF54x)
956 menu "CPU Frequency scaling"
958 source "drivers/cpufreq/Kconfig"
964 If you want to enable this option, you should select the
965 DPMC driver from Character Devices.
972 source "drivers/Kconfig"
976 source "kernel/Kconfig.instrumentation"
978 source "arch/blackfin/Kconfig.debug"
980 source "security/Kconfig"
982 source "crypto/Kconfig"