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 config BFIN_SHARED_FLASH_ENET
273 depends on (BFIN533_STAMP)
276 source "arch/blackfin/mach-bf527/Kconfig"
277 source "arch/blackfin/mach-bf533/Kconfig"
278 source "arch/blackfin/mach-bf561/Kconfig"
279 source "arch/blackfin/mach-bf537/Kconfig"
280 source "arch/blackfin/mach-bf548/Kconfig"
282 menu "Board customizations"
285 bool "Default bootloader kernel arguments"
288 string "Initial kernel command string"
289 depends on CMDLINE_BOOL
290 default "console=ttyBF0,57600"
292 If you don't have a boot loader capable of passing a command line string
293 to the kernel, you may specify one here. As a minimum, you should specify
294 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
296 comment "Clock/PLL Setup"
299 int "Crystal Frequency in Hz"
300 default "11059200" if BFIN533_STAMP
301 default "27000000" if BFIN533_EZKIT
302 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
303 default "30000000" if BFIN561_EZKIT
304 default "24576000" if PNAV10
306 The frequency of CLKIN crystal oscillator on the board in Hz.
308 config BFIN_KERNEL_CLOCK
309 bool "Re-program Clocks while Kernel boots?"
312 This option decides if kernel clocks are re-programed from the
313 bootloader settings. If the clocks are not set, the SDRAM settings
314 are also not changed, and the Bootloader does 100% of the hardware
319 depends on BFIN_KERNEL_CLOCK
324 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
327 If this is set the clock will be divided by 2, before it goes to the PLL.
331 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
333 default "22" if BFIN533_EZKIT
334 default "45" if BFIN533_STAMP
335 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
336 default "22" if BFIN533_BLUETECHNIX_CM
337 default "20" if BFIN537_BLUETECHNIX_CM
338 default "20" if BFIN561_BLUETECHNIX_CM
339 default "20" if BFIN561_EZKIT
340 default "16" if H8606_HVSISTEMAS
342 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
343 PLL Frequency = (Crystal Frequency) * (this setting)
346 prompt "Core Clock Divider"
347 depends on BFIN_KERNEL_CLOCK
350 This sets the frequency of the core. It can be 1, 2, 4 or 8
351 Core Frequency = (PLL frequency) / (this setting)
367 int "System Clock Divider"
368 depends on BFIN_KERNEL_CLOCK
370 default 5 if BFIN533_EZKIT
371 default 5 if BFIN533_STAMP
372 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
373 default 5 if BFIN533_BLUETECHNIX_CM
374 default 4 if BFIN537_BLUETECHNIX_CM
375 default 4 if BFIN561_BLUETECHNIX_CM
376 default 5 if BFIN561_EZKIT
377 default 3 if H8606_HVSISTEMAS
379 This sets the frequency of the system clock (including SDRAM or DDR).
380 This can be between 1 and 15
381 System Clock = (PLL frequency) / (this setting)
384 # Max & Min Speeds for various Chips
388 default 600000000 if BF522
389 default 400000000 if BF523
390 default 400000000 if BF524
391 default 600000000 if BF525
392 default 400000000 if BF526
393 default 600000000 if BF527
394 default 400000000 if BF531
395 default 400000000 if BF532
396 default 750000000 if BF533
397 default 500000000 if BF534
398 default 400000000 if BF536
399 default 600000000 if BF537
400 default 533333333 if BF538
401 default 533333333 if BF539
402 default 600000000 if BF542
403 default 533333333 if BF544
404 default 600000000 if BF547
405 default 600000000 if BF548
406 default 533333333 if BF549
407 default 600000000 if BF561
421 comment "Kernel Timer/Scheduler"
423 source kernel/Kconfig.hz
425 comment "Memory Setup"
428 int "SDRAM Memory Size in MBytes"
429 default 32 if BFIN533_EZKIT
430 default 64 if BFIN527_EZKIT
431 default 64 if BFIN537_STAMP
432 default 64 if BFIN548_EZKIT
433 default 64 if BFIN561_EZKIT
434 default 128 if BFIN533_STAMP
436 default 32 if H8606_HVSISTEMAS
439 int "SDRAM Memory Address Width"
441 default 9 if BFIN533_EZKIT
442 default 9 if BFIN561_EZKIT
443 default 9 if H8606_HVSISTEMAS
444 default 10 if BFIN527_EZKIT
445 default 10 if BFIN537_STAMP
446 default 11 if BFIN533_STAMP
451 prompt "DDR SDRAM Chip Type"
452 depends on BFIN548_EZKIT
453 default MEM_MT46V32M16_5B
455 config MEM_MT46V32M16_6T
458 config MEM_MT46V32M16_5B
462 config ENET_FLASH_PIN
463 int "PF port/pin used for flash and ethernet sharing"
464 depends on (BFIN533_STAMP)
467 PF port/pin used for flash and ethernet sharing to allow other PF
468 pins to be used on other platforms without having to touch common
470 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
473 hex "Kernel load address for booting"
475 range 0x1000 0x20000000
477 This option allows you to set the load address of the kernel.
478 This can be useful if you are on a board which has a small amount
479 of memory or you wish to reserve some memory at the beginning of
482 Note that you need to keep this value above 4k (0x1000) as this
483 memory region is used to capture NULL pointer references as well
484 as some core kernel functions.
487 prompt "Blackfin Exception Scratch Register"
488 default BFIN_SCRATCH_REG_RETN
490 Select the resource to reserve for the Exception handler:
491 - RETN: Non-Maskable Interrupt (NMI)
492 - RETE: Exception Return (JTAG/ICE)
493 - CYCLES: Performance counter
495 If you are unsure, please select "RETN".
497 config BFIN_SCRATCH_REG_RETN
500 Use the RETN register in the Blackfin exception handler
501 as a stack scratch register. This means you cannot
502 safely use NMI on the Blackfin while running Linux, but
503 you can debug the system with a JTAG ICE and use the
504 CYCLES performance registers.
506 If you are unsure, please select "RETN".
508 config BFIN_SCRATCH_REG_RETE
511 Use the RETE register in the Blackfin exception handler
512 as a stack scratch register. This means you cannot
513 safely use a JTAG ICE while debugging a Blackfin board,
514 but you can safely use the CYCLES performance registers
517 If you are unsure, please select "RETN".
519 config BFIN_SCRATCH_REG_CYCLES
522 Use the CYCLES register in the Blackfin exception handler
523 as a stack scratch register. This means you cannot
524 safely use the CYCLES performance registers on a Blackfin
525 board at anytime, but you can debug the system with a JTAG
528 If you are unsure, please select "RETN".
535 menu "Blackfin Kernel Optimizations"
537 comment "Memory Optimizations"
540 bool "Locate interrupt entry code in L1 Memory"
543 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
544 into L1 instruction memory. (less latency)
546 config EXCPT_IRQ_SYSC_L1
547 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
550 If enabled, the entire ASM lowlevel exception and interrupt entry code
551 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
555 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
558 If enabled, the frequently called do_irq dispatcher function is linked
559 into L1 instruction memory. (less latency)
561 config CORE_TIMER_IRQ_L1
562 bool "Locate frequently called timer_interrupt() function in L1 Memory"
565 If enabled, the frequently called timer_interrupt() function is linked
566 into L1 instruction memory. (less latency)
569 bool "Locate frequently idle function in L1 Memory"
572 If enabled, the frequently called idle function is linked
573 into L1 instruction memory. (less latency)
576 bool "Locate kernel schedule function in L1 Memory"
579 If enabled, the frequently called kernel schedule is linked
580 into L1 instruction memory. (less latency)
582 config ARITHMETIC_OPS_L1
583 bool "Locate kernel owned arithmetic functions in L1 Memory"
586 If enabled, arithmetic functions are linked
587 into L1 instruction memory. (less latency)
590 bool "Locate access_ok function in L1 Memory"
593 If enabled, the access_ok function is linked
594 into L1 instruction memory. (less latency)
597 bool "Locate memset function in L1 Memory"
600 If enabled, the memset function is linked
601 into L1 instruction memory. (less latency)
604 bool "Locate memcpy function in L1 Memory"
607 If enabled, the memcpy function is linked
608 into L1 instruction memory. (less latency)
610 config SYS_BFIN_SPINLOCK_L1
611 bool "Locate sys_bfin_spinlock function in L1 Memory"
614 If enabled, sys_bfin_spinlock function is linked
615 into L1 instruction memory. (less latency)
617 config IP_CHECKSUM_L1
618 bool "Locate IP Checksum function in L1 Memory"
621 If enabled, the IP Checksum function is linked
622 into L1 instruction memory. (less latency)
624 config CACHELINE_ALIGNED_L1
625 bool "Locate cacheline_aligned data to L1 Data Memory"
630 If enabled, cacheline_anligned data is linked
631 into L1 data memory. (less latency)
633 config SYSCALL_TAB_L1
634 bool "Locate Syscall Table L1 Data Memory"
638 If enabled, the Syscall LUT is linked
639 into L1 data memory. (less latency)
641 config CPLB_SWITCH_TAB_L1
642 bool "Locate CPLB Switch Tables L1 Data Memory"
646 If enabled, the CPLB Switch Tables are linked
647 into L1 data memory. (less latency)
653 prompt "Kernel executes from"
655 Choose the memory type that the kernel will be running in.
660 The kernel will be resident in RAM when running.
665 The kernel will be resident in FLASH/ROM when running.
672 bool "Allow allocating large blocks (> 1MB) of memory"
674 Allow the slab memory allocator to keep chains for very large
675 memory sizes - upto 32MB. You may need this if your system has
676 a lot of RAM, and you need to able to allocate very large
677 contiguous chunks. If unsure, say N.
680 tristate "Enable Blackfin General Purpose Timers API"
683 Enable support for the General Purpose Timers API. If you
686 To compile this driver as a module, choose M here: the module
687 will be called gptimers.ko.
690 bool "Enable DMA Support"
691 depends on (BF52x || BF53x || BF561 || BF54x)
694 DMA driver for BF5xx.
697 prompt "Uncached SDRAM region"
698 default DMA_UNCACHED_1M
699 depends on BFIN_DMA_5XX
700 config DMA_UNCACHED_2M
701 bool "Enable 2M DMA region"
702 config DMA_UNCACHED_1M
703 bool "Enable 1M DMA region"
704 config DMA_UNCACHED_NONE
705 bool "Disable DMA region"
709 comment "Cache Support"
714 config BFIN_DCACHE_BANKA
715 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
716 depends on BFIN_DCACHE && !BF531
718 config BFIN_ICACHE_LOCK
719 bool "Enable Instruction Cache Locking"
723 depends on BFIN_DCACHE
729 Cached data will be written back to SDRAM only when needed.
730 This can give a nice increase in performance, but beware of
731 broken drivers that do not properly invalidate/flush their
734 Write Through Policy:
735 Cached data will always be written back to SDRAM when the
736 cache is updated. This is a completely safe setting, but
737 performance is worse than Write Back.
739 If you are unsure of the options and you want to be safe,
740 then go with Write Through.
746 Cached data will be written back to SDRAM only when needed.
747 This can give a nice increase in performance, but beware of
748 broken drivers that do not properly invalidate/flush their
751 Write Through Policy:
752 Cached data will always be written back to SDRAM when the
753 cache is updated. This is a completely safe setting, but
754 performance is worse than Write Back.
756 If you are unsure of the options and you want to be safe,
757 then go with Write Through.
762 int "Set the max L1 SRAM pieces"
765 Set the max memory pieces for the L1 SRAM allocation algorithm.
766 Min value is 16. Max value is 1024.
770 bool "Enable the memory protection unit (EXPERIMENTAL)"
773 Use the processor's MPU to protect applications from accessing
774 memory they do not own. This comes at a performance penalty
775 and is recommended only for debugging.
777 comment "Asynchonous Memory Configuration"
779 menu "EBIU_AMGCTL Global Control"
785 bool "DMA has priority over core for ext. accesses"
790 bool "Bank 0 16 bit packing enable"
795 bool "Bank 1 16 bit packing enable"
800 bool "Bank 2 16 bit packing enable"
805 bool "Bank 3 16 bit packing enable"
809 prompt"Enable Asynchonous Memory Banks"
813 bool "Disable All Banks"
819 bool "Enable Bank 0 & 1"
821 config C_AMBEN_B0_B1_B2
822 bool "Enable Bank 0 & 1 & 2"
825 bool "Enable All Banks"
829 menu "EBIU_AMBCTL Control"
847 config EBIU_MBSCTLVAL
848 hex "EBIU Bank Select Control Register"
853 hex "Flash Memory Mode Control Register"
858 hex "Flash Memory Bank Control Register"
863 #############################################################################
864 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
871 source "drivers/pci/Kconfig"
874 bool "Support for hot-pluggable device"
876 Say Y here if you want to plug devices into your computer while
877 the system is running, and be able to use them quickly. In many
878 cases, the devices can likewise be unplugged at any time too.
880 One well known example of this is PCMCIA- or PC-cards, credit-card
881 size devices such as network cards, modems or hard drives which are
882 plugged into slots found on all modern laptop computers. Another
883 example, used on modern desktops as well as laptops, is USB.
885 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
886 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
887 Then your kernel will automatically call out to a user mode "policy
888 agent" (/sbin/hotplug) to load modules and set up software needed
889 to use devices as you hotplug them.
891 source "drivers/pcmcia/Kconfig"
893 source "drivers/pci/hotplug/Kconfig"
897 menu "Executable file formats"
899 source "fs/Kconfig.binfmt"
903 menu "Power management options"
904 source "kernel/power/Kconfig"
907 prompt "Select PM Wakeup Event Source"
908 default PM_WAKEUP_GPIO_BY_SIC_IWR
911 If you have a GPIO already configured as input with the corresponding PORTx_MASK
912 bit set - "Specify Wakeup Event by SIC_IWR value"
914 config PM_WAKEUP_GPIO_BY_SIC_IWR
915 bool "Specify Wakeup Event by SIC_IWR value"
916 config PM_WAKEUP_BY_GPIO
917 bool "Cause Wakeup Event by GPIO"
918 config PM_WAKEUP_GPIO_API
919 bool "Configure Wakeup Event by PM GPIO API"
923 config PM_WAKEUP_SIC_IWR
924 hex "Wakeup Events (SIC_IWR)"
925 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
926 default 0x80000000 if (BF537 || BF536 || BF534)
927 default 0x100000 if (BF533 || BF532 || BF531)
928 default 0x800000 if (BF54x)
929 default 0x800000 if (BF52x)
931 config PM_WAKEUP_GPIO_NUMBER
932 int "Wakeup GPIO number"
934 depends on PM_WAKEUP_BY_GPIO
935 default 2 if BFIN537_STAMP
938 prompt "GPIO Polarity"
939 depends on PM_WAKEUP_BY_GPIO
940 default PM_WAKEUP_GPIO_POLAR_H
941 config PM_WAKEUP_GPIO_POLAR_H
943 config PM_WAKEUP_GPIO_POLAR_L
945 config PM_WAKEUP_GPIO_POLAR_EDGE_F
947 config PM_WAKEUP_GPIO_POLAR_EDGE_R
949 config PM_WAKEUP_GPIO_POLAR_EDGE_B
955 if (BF537 || BF533 || BF54x)
957 menu "CPU Frequency scaling"
959 source "drivers/cpufreq/Kconfig"
965 If you want to enable this option, you should select the
966 DPMC driver from Character Devices.
973 source "drivers/Kconfig"
977 source "kernel/Kconfig.instrumentation"
979 source "arch/blackfin/Kconfig.debug"
981 source "security/Kconfig"
983 source "crypto/Kconfig"