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
69 source "kernel/Kconfig.preempt"
71 menu "Blackfin Processor Options"
73 comment "Processor and Board Settings"
82 BF522 Processor Support.
87 BF525 Processor Support.
92 BF527 Processor Support.
97 BF531 Processor Support.
102 BF532 Processor Support.
107 BF533 Processor Support.
112 BF534 Processor Support.
117 BF536 Processor Support.
122 BF537 Processor Support.
127 BF542 Processor Support.
132 BF544 Processor Support.
137 BF547 Processor Support.
142 BF548 Processor Support.
147 BF549 Processor Support.
152 Not Supported Yet - Work in progress - BF561 Processor Support.
158 default BF_REV_0_1 if BF527
159 default BF_REV_0_2 if BF537
160 default BF_REV_0_3 if BF533
161 default BF_REV_0_0 if BF549
165 depends on (BF52x || BF54x)
169 depends on (BF52x || BF54x)
173 depends on (BF537 || BF536 || BF534)
177 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
181 depends on (BF561 || BF533 || BF532 || BF531)
185 depends on (BF561 || BF533 || BF532 || BF531)
197 depends on (BF522 || BF525 || BF527)
202 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
207 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
210 config BFIN_DUAL_CORE
215 config BFIN_SINGLE_CORE
217 depends on !BFIN_DUAL_CORE
220 config MEM_GENERIC_BOARD
222 depends on GENERIC_BOARD
225 config MEM_MT48LC64M4A2FB_7E
227 depends on (BFIN533_STAMP)
230 config MEM_MT48LC16M16A2TG_75
232 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
233 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
237 config MEM_MT48LC32M8A2_75
239 depends on (BFIN537_STAMP || PNAV10)
242 config MEM_MT48LC8M32B2B5_7
244 depends on (BFIN561_BLUETECHNIX_CM)
247 config MEM_MT48LC32M16A2TG_75
249 depends on (BFIN527_EZKIT)
252 config BFIN_SHARED_FLASH_ENET
254 depends on (BFIN533_STAMP)
257 source "arch/blackfin/mach-bf527/Kconfig"
258 source "arch/blackfin/mach-bf533/Kconfig"
259 source "arch/blackfin/mach-bf561/Kconfig"
260 source "arch/blackfin/mach-bf537/Kconfig"
261 source "arch/blackfin/mach-bf548/Kconfig"
263 menu "Board customizations"
266 bool "Default bootloader kernel arguments"
269 string "Initial kernel command string"
270 depends on CMDLINE_BOOL
271 default "console=ttyBF0,57600"
273 If you don't have a boot loader capable of passing a command line string
274 to the kernel, you may specify one here. As a minimum, you should specify
275 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
277 comment "Clock/PLL Setup"
280 int "Crystal Frequency in Hz"
281 default "11059200" if BFIN533_STAMP
282 default "27000000" if BFIN533_EZKIT
283 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
284 default "30000000" if BFIN561_EZKIT
285 default "24576000" if PNAV10
287 The frequency of CLKIN crystal oscillator on the board in Hz.
289 config BFIN_KERNEL_CLOCK
290 bool "Re-program Clocks while Kernel boots?"
293 This option decides if kernel clocks are re-programed from the
294 bootloader settings. If the clocks are not set, the SDRAM settings
295 are also not changed, and the Bootloader does 100% of the hardware
300 depends on BFIN_KERNEL_CLOCK
305 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
308 If this is set the clock will be divided by 2, before it goes to the PLL.
312 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
314 default "22" if BFIN533_EZKIT
315 default "45" if BFIN533_STAMP
316 default "20" if (BFIN537_STAMP || BFIN527_EZKIT)
317 default "22" if BFIN533_BLUETECHNIX_CM
318 default "20" if BFIN537_BLUETECHNIX_CM
319 default "20" if BFIN561_BLUETECHNIX_CM
320 default "20" if BFIN561_EZKIT
321 default "16" if H8606_HVSISTEMAS
323 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
324 PLL Frequency = (Crystal Frequency) * (this setting)
327 prompt "Core Clock Divider"
328 depends on BFIN_KERNEL_CLOCK
331 This sets the frequency of the core. It can be 1, 2, 4 or 8
332 Core Frequency = (PLL frequency) / (this setting)
348 int "System Clock Divider"
349 depends on BFIN_KERNEL_CLOCK
351 default 5 if BFIN533_EZKIT
352 default 5 if BFIN533_STAMP
353 default 4 if (BFIN537_STAMP || BFIN527_EZKIT)
354 default 5 if BFIN533_BLUETECHNIX_CM
355 default 4 if BFIN537_BLUETECHNIX_CM
356 default 4 if BFIN561_BLUETECHNIX_CM
357 default 5 if BFIN561_EZKIT
358 default 3 if H8606_HVSISTEMAS
360 This sets the frequency of the system clock (including SDRAM or DDR).
361 This can be between 1 and 15
362 System Clock = (PLL frequency) / (this setting)
365 # Max & Min Speeds for various Chips
369 default 600000000 if BF522
370 default 600000000 if BF525
371 default 600000000 if BF527
372 default 400000000 if BF531
373 default 400000000 if BF532
374 default 750000000 if BF533
375 default 500000000 if BF534
376 default 400000000 if BF536
377 default 600000000 if BF537
378 default 533333333 if BF538
379 default 533333333 if BF539
380 default 600000000 if BF542
381 default 533333333 if BF544
382 default 533333333 if BF549
383 default 600000000 if BF561
397 comment "Kernel Timer/Scheduler"
399 source kernel/Kconfig.hz
401 comment "Memory Setup"
404 int "SDRAM Memory Size in MBytes"
405 default 32 if BFIN533_EZKIT
406 default 64 if BFIN527_EZKIT
407 default 64 if BFIN537_STAMP
408 default 64 if BFIN561_EZKIT
409 default 128 if BFIN533_STAMP
411 default 32 if H8606_HVSISTEMAS
414 int "SDRAM Memory Address Width"
415 default 9 if BFIN533_EZKIT
416 default 9 if BFIN561_EZKIT
417 default 9 if H8606_HVSISTEMAS
418 default 10 if BFIN527_EZKIT
419 default 10 if BFIN537_STAMP
420 default 11 if BFIN533_STAMP
423 config ENET_FLASH_PIN
424 int "PF port/pin used for flash and ethernet sharing"
425 depends on (BFIN533_STAMP)
428 PF port/pin used for flash and ethernet sharing to allow other PF
429 pins to be used on other platforms without having to touch common
431 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
434 hex "Kernel load address for booting"
436 range 0x1000 0x20000000
438 This option allows you to set the load address of the kernel.
439 This can be useful if you are on a board which has a small amount
440 of memory or you wish to reserve some memory at the beginning of
443 Note that you need to keep this value above 4k (0x1000) as this
444 memory region is used to capture NULL pointer references as well
445 as some core kernel functions.
447 comment "LED Status Indicators"
448 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
450 config BFIN_ALIVE_LED
451 bool "Enable Board Alive"
452 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
455 Blink the LEDs you select when the kernel is running. Helps detect
458 config BFIN_ALIVE_LED_NUM
460 depends on BFIN_ALIVE_LED
461 range 1 3 if BFIN533_STAMP
462 default "3" if BFIN533_STAMP
464 Select the LED (marked on the board) for you to blink.
467 bool "Enable System Load/Idle LED"
468 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
471 Blinks the LED you select when to determine kernel load.
473 config BFIN_IDLE_LED_NUM
475 depends on BFIN_IDLE_LED
476 range 1 3 if BFIN533_STAMP
477 default "2" if BFIN533_STAMP
479 Select the LED (marked on the board) for you to blink.
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".
528 # Sorry - but you need to put the hex address here -
532 config BFIN_ALIVE_LED_PORT
534 default 0xFFC00700 if (BFIN533_STAMP)
536 # Peripheral Flag Direction Register
537 config BFIN_ALIVE_LED_DPORT
539 default 0xFFC00730 if (BFIN533_STAMP)
541 config BFIN_ALIVE_LED_PIN
543 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
544 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
545 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
547 config BFIN_IDLE_LED_PORT
549 default 0xFFC00700 if (BFIN533_STAMP)
551 # Peripheral Flag Direction Register
552 config BFIN_IDLE_LED_DPORT
554 default 0xFFC00730 if (BFIN533_STAMP)
556 config BFIN_IDLE_LED_PIN
558 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
559 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
560 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
565 menu "Blackfin Kernel Optimizations"
567 comment "Memory Optimizations"
570 bool "Locate interrupt entry code in L1 Memory"
573 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
574 into L1 instruction memory. (less latency)
576 config EXCPT_IRQ_SYSC_L1
577 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
580 If enabled, the entire ASM lowlevel exception and interrupt entry code
581 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
585 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
588 If enabled, the frequently called do_irq dispatcher function is linked
589 into L1 instruction memory. (less latency)
591 config CORE_TIMER_IRQ_L1
592 bool "Locate frequently called timer_interrupt() function in L1 Memory"
595 If enabled, the frequently called timer_interrupt() function is linked
596 into L1 instruction memory. (less latency)
599 bool "Locate frequently idle function in L1 Memory"
602 If enabled, the frequently called idle function is linked
603 into L1 instruction memory. (less latency)
606 bool "Locate kernel schedule function in L1 Memory"
609 If enabled, the frequently called kernel schedule is linked
610 into L1 instruction memory. (less latency)
612 config ARITHMETIC_OPS_L1
613 bool "Locate kernel owned arithmetic functions in L1 Memory"
616 If enabled, arithmetic functions are linked
617 into L1 instruction memory. (less latency)
620 bool "Locate access_ok function in L1 Memory"
623 If enabled, the access_ok function is linked
624 into L1 instruction memory. (less latency)
627 bool "Locate memset function in L1 Memory"
630 If enabled, the memset function is linked
631 into L1 instruction memory. (less latency)
634 bool "Locate memcpy function in L1 Memory"
637 If enabled, the memcpy function is linked
638 into L1 instruction memory. (less latency)
640 config SYS_BFIN_SPINLOCK_L1
641 bool "Locate sys_bfin_spinlock function in L1 Memory"
644 If enabled, sys_bfin_spinlock function is linked
645 into L1 instruction memory. (less latency)
647 config IP_CHECKSUM_L1
648 bool "Locate IP Checksum function in L1 Memory"
651 If enabled, the IP Checksum function is linked
652 into L1 instruction memory. (less latency)
654 config CACHELINE_ALIGNED_L1
655 bool "Locate cacheline_aligned data to L1 Data Memory"
660 If enabled, cacheline_anligned data is linked
661 into L1 data memory. (less latency)
663 config SYSCALL_TAB_L1
664 bool "Locate Syscall Table L1 Data Memory"
668 If enabled, the Syscall LUT is linked
669 into L1 data memory. (less latency)
671 config CPLB_SWITCH_TAB_L1
672 bool "Locate CPLB Switch Tables L1 Data Memory"
676 If enabled, the CPLB Switch Tables are linked
677 into L1 data memory. (less latency)
683 prompt "Kernel executes from"
685 Choose the memory type that the kernel will be running in.
690 The kernel will be resident in RAM when running.
695 The kernel will be resident in FLASH/ROM when running.
702 bool "Allow allocating large blocks (> 1MB) of memory"
704 Allow the slab memory allocator to keep chains for very large
705 memory sizes - upto 32MB. You may need this if your system has
706 a lot of RAM, and you need to able to allocate very large
707 contiguous chunks. If unsure, say N.
710 tristate "Enable Blackfin General Purpose Timers API"
713 Enable support for the General Purpose Timers API. If you
716 To compile this driver as a module, choose M here: the module
717 will be called gptimers.ko.
720 bool "Enable DMA Support"
721 depends on (BF52x || BF53x || BF561 || BF54x)
724 DMA driver for BF5xx.
727 prompt "Uncached SDRAM region"
728 default DMA_UNCACHED_1M
729 depends on BFIN_DMA_5XX
730 config DMA_UNCACHED_2M
731 bool "Enable 2M DMA region"
732 config DMA_UNCACHED_1M
733 bool "Enable 1M DMA region"
734 config DMA_UNCACHED_NONE
735 bool "Disable DMA region"
739 comment "Cache Support"
744 config BFIN_DCACHE_BANKA
745 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
746 depends on BFIN_DCACHE && !BF531
748 config BFIN_ICACHE_LOCK
749 bool "Enable Instruction Cache Locking"
753 depends on BFIN_DCACHE
759 Cached data will be written back to SDRAM only when needed.
760 This can give a nice increase in performance, but beware of
761 broken drivers that do not properly invalidate/flush their
764 Write Through Policy:
765 Cached data will always be written back to SDRAM when the
766 cache is updated. This is a completely safe setting, but
767 performance is worse than Write Back.
769 If you are unsure of the options and you want to be safe,
770 then go with Write Through.
776 Cached data will be written back to SDRAM only when needed.
777 This can give a nice increase in performance, but beware of
778 broken drivers that do not properly invalidate/flush their
781 Write Through Policy:
782 Cached data will always be written back to SDRAM when the
783 cache is updated. This is a completely safe setting, but
784 performance is worse than Write Back.
786 If you are unsure of the options and you want to be safe,
787 then go with Write Through.
792 int "Set the max L1 SRAM pieces"
795 Set the max memory pieces for the L1 SRAM allocation algorithm.
796 Min value is 16. Max value is 1024.
798 comment "Asynchonous Memory Configuration"
800 menu "EBIU_AMGCTL Global Control"
806 bool "DMA has priority over core for ext. accesses"
812 bool "Bank 0 16 bit packing enable"
817 bool "Bank 1 16 bit packing enable"
822 bool "Bank 2 16 bit packing enable"
827 bool "Bank 3 16 bit packing enable"
831 prompt"Enable Asynchonous Memory Banks"
835 bool "Disable All Banks"
841 bool "Enable Bank 0 & 1"
843 config C_AMBEN_B0_B1_B2
844 bool "Enable Bank 0 & 1 & 2"
847 bool "Enable All Banks"
851 menu "EBIU_AMBCTL Control"
869 config EBIU_MBSCTLVAL
870 hex "EBIU Bank Select Control Register"
875 hex "Flash Memory Mode Control Register"
880 hex "Flash Memory Bank Control Register"
885 #############################################################################
886 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
893 source "drivers/pci/Kconfig"
896 bool "Support for hot-pluggable device"
898 Say Y here if you want to plug devices into your computer while
899 the system is running, and be able to use them quickly. In many
900 cases, the devices can likewise be unplugged at any time too.
902 One well known example of this is PCMCIA- or PC-cards, credit-card
903 size devices such as network cards, modems or hard drives which are
904 plugged into slots found on all modern laptop computers. Another
905 example, used on modern desktops as well as laptops, is USB.
907 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
908 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
909 Then your kernel will automatically call out to a user mode "policy
910 agent" (/sbin/hotplug) to load modules and set up software needed
911 to use devices as you hotplug them.
913 source "drivers/pcmcia/Kconfig"
915 source "drivers/pci/hotplug/Kconfig"
919 menu "Executable file formats"
921 source "fs/Kconfig.binfmt"
925 menu "Power management options"
926 source "kernel/power/Kconfig"
929 prompt "Select PM Wakeup Event Source"
930 default PM_WAKEUP_GPIO_BY_SIC_IWR
933 If you have a GPIO already configured as input with the corresponding PORTx_MASK
934 bit set - "Specify Wakeup Event by SIC_IWR value"
936 config PM_WAKEUP_GPIO_BY_SIC_IWR
937 bool "Specify Wakeup Event by SIC_IWR value"
938 config PM_WAKEUP_BY_GPIO
939 bool "Cause Wakeup Event by GPIO"
940 config PM_WAKEUP_GPIO_API
941 bool "Configure Wakeup Event by PM GPIO API"
945 config PM_WAKEUP_SIC_IWR
946 hex "Wakeup Events (SIC_IWR)"
947 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
948 default 0x80000000 if (BF537 || BF536 || BF534)
949 default 0x100000 if (BF533 || BF532 || BF531)
951 config PM_WAKEUP_GPIO_NUMBER
952 int "Wakeup GPIO number"
954 depends on PM_WAKEUP_BY_GPIO
955 default 2 if BFIN537_STAMP
958 prompt "GPIO Polarity"
959 depends on PM_WAKEUP_BY_GPIO
960 default PM_WAKEUP_GPIO_POLAR_H
961 config PM_WAKEUP_GPIO_POLAR_H
963 config PM_WAKEUP_GPIO_POLAR_L
965 config PM_WAKEUP_GPIO_POLAR_EDGE_F
967 config PM_WAKEUP_GPIO_POLAR_EDGE_R
969 config PM_WAKEUP_GPIO_POLAR_EDGE_B
975 if (BF537 || BF533 || BF54x)
977 menu "CPU Frequency scaling"
979 source "drivers/cpufreq/Kconfig"
985 If you want to enable this option, you should select the
986 DPMC driver from Character Devices.
993 source "drivers/Kconfig"
997 source "kernel/Kconfig.instrumentation"
999 source "arch/blackfin/Kconfig.debug"
1001 source "security/Kconfig"
1003 source "crypto/Kconfig"
1005 source "lib/Kconfig"