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 SEMAPHORE_SLEEPERS
38 config GENERIC_FIND_NEXT_BIT
42 config GENERIC_HWEIGHT
46 config GENERIC_HARDIRQS
50 config GENERIC_IRQ_PROBE
62 config FORCE_MAX_ZONEORDER
66 config GENERIC_CALIBRATE_DELAY
75 source "kernel/Kconfig.preempt"
77 menu "Blackfin Processor Options"
79 comment "Processor and Board Settings"
88 BF522 Processor Support.
93 BF523 Processor Support.
98 BF524 Processor Support.
103 BF525 Processor Support.
108 BF526 Processor Support.
113 BF527 Processor Support.
118 BF531 Processor Support.
123 BF532 Processor Support.
128 BF533 Processor Support.
133 BF534 Processor Support.
138 BF536 Processor Support.
143 BF537 Processor Support.
148 BF542 Processor Support.
153 BF544 Processor Support.
158 BF547 Processor Support.
163 BF548 Processor Support.
168 BF549 Processor Support.
173 Not Supported Yet - Work in progress - BF561 Processor Support.
179 default BF_REV_0_1 if BF527
180 default BF_REV_0_2 if BF537
181 default BF_REV_0_3 if BF533
182 default BF_REV_0_0 if BF549
186 depends on (BF52x || BF54x)
190 depends on (BF52x || BF54x)
194 depends on (BF537 || BF536 || BF534)
198 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
202 depends on (BF561 || BF533 || BF532 || BF531)
206 depends on (BF561 || BF533 || BF532 || BF531)
218 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
223 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
228 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
231 config BFIN_DUAL_CORE
236 config BFIN_SINGLE_CORE
238 depends on !BFIN_DUAL_CORE
241 config MEM_GENERIC_BOARD
243 depends on GENERIC_BOARD
246 config MEM_MT48LC64M4A2FB_7E
248 depends on (BFIN533_STAMP)
251 config MEM_MT48LC16M16A2TG_75
253 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
254 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
258 config MEM_MT48LC32M8A2_75
260 depends on (BFIN537_STAMP || PNAV10)
263 config MEM_MT48LC8M32B2B5_7
265 depends on (BFIN561_BLUETECHNIX_CM)
268 config MEM_MT48LC32M16A2TG_75
270 depends on (BFIN527_EZKIT)
273 source "arch/blackfin/mach-bf527/Kconfig"
274 source "arch/blackfin/mach-bf533/Kconfig"
275 source "arch/blackfin/mach-bf561/Kconfig"
276 source "arch/blackfin/mach-bf537/Kconfig"
277 source "arch/blackfin/mach-bf548/Kconfig"
279 menu "Board customizations"
282 bool "Default bootloader kernel arguments"
285 string "Initial kernel command string"
286 depends on CMDLINE_BOOL
287 default "console=ttyBF0,57600"
289 If you don't have a boot loader capable of passing a command line string
290 to the kernel, you may specify one here. As a minimum, you should specify
291 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
293 comment "Clock/PLL Setup"
296 int "Crystal Frequency in Hz"
297 default "11059200" if BFIN533_STAMP
298 default "27000000" if BFIN533_EZKIT
299 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
300 default "30000000" if BFIN561_EZKIT
301 default "24576000" if PNAV10
303 The frequency of CLKIN crystal oscillator on the board in Hz.
305 config BFIN_KERNEL_CLOCK
306 bool "Re-program Clocks while Kernel boots?"
309 This option decides if kernel clocks are re-programed from the
310 bootloader settings. If the clocks are not set, the SDRAM settings
311 are also not changed, and the Bootloader does 100% of the hardware
316 depends on BFIN_KERNEL_CLOCK
321 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
324 If this is set the clock will be divided by 2, before it goes to the PLL.
328 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
330 default "22" if BFIN533_EZKIT
331 default "45" if BFIN533_STAMP
332 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
333 default "22" if BFIN533_BLUETECHNIX_CM
334 default "20" if BFIN537_BLUETECHNIX_CM
335 default "20" if BFIN561_BLUETECHNIX_CM
336 default "20" if BFIN561_EZKIT
337 default "16" if H8606_HVSISTEMAS
339 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
340 PLL Frequency = (Crystal Frequency) * (this setting)
343 prompt "Core Clock Divider"
344 depends on BFIN_KERNEL_CLOCK
347 This sets the frequency of the core. It can be 1, 2, 4 or 8
348 Core Frequency = (PLL frequency) / (this setting)
364 int "System Clock Divider"
365 depends on BFIN_KERNEL_CLOCK
367 default 5 if BFIN533_EZKIT
368 default 5 if BFIN533_STAMP
369 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
370 default 5 if BFIN533_BLUETECHNIX_CM
371 default 4 if BFIN537_BLUETECHNIX_CM
372 default 4 if BFIN561_BLUETECHNIX_CM
373 default 5 if BFIN561_EZKIT
374 default 3 if H8606_HVSISTEMAS
376 This sets the frequency of the system clock (including SDRAM or DDR).
377 This can be between 1 and 15
378 System Clock = (PLL frequency) / (this setting)
381 # Max & Min Speeds for various Chips
385 default 600000000 if BF522
386 default 400000000 if BF523
387 default 400000000 if BF524
388 default 600000000 if BF525
389 default 400000000 if BF526
390 default 600000000 if BF527
391 default 400000000 if BF531
392 default 400000000 if BF532
393 default 750000000 if BF533
394 default 500000000 if BF534
395 default 400000000 if BF536
396 default 600000000 if BF537
397 default 533333333 if BF538
398 default 533333333 if BF539
399 default 600000000 if BF542
400 default 533333333 if BF544
401 default 600000000 if BF547
402 default 600000000 if BF548
403 default 533333333 if BF549
404 default 600000000 if BF561
418 comment "Kernel Timer/Scheduler"
420 source kernel/Kconfig.hz
422 comment "Memory Setup"
425 int "SDRAM Memory Size in MBytes"
426 default 32 if BFIN533_EZKIT
427 default 64 if BFIN527_EZKIT
428 default 64 if BFIN537_STAMP
429 default 64 if BFIN548_EZKIT
430 default 64 if BFIN561_EZKIT
431 default 128 if BFIN533_STAMP
433 default 32 if H8606_HVSISTEMAS
436 int "SDRAM Memory Address Width"
438 default 9 if BFIN533_EZKIT
439 default 9 if BFIN561_EZKIT
440 default 9 if H8606_HVSISTEMAS
441 default 10 if BFIN527_EZKIT
442 default 10 if BFIN537_STAMP
443 default 11 if BFIN533_STAMP
448 prompt "DDR SDRAM Chip Type"
449 depends on BFIN548_EZKIT
450 default MEM_MT46V32M16_5B
452 config MEM_MT46V32M16_6T
455 config MEM_MT46V32M16_5B
459 config ENET_FLASH_PIN
460 int "PF port/pin used for flash and ethernet sharing"
461 depends on (BFIN533_STAMP)
464 PF port/pin used for flash and ethernet sharing to allow other PF
465 pins to be used on other platforms without having to touch common
467 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
470 hex "Kernel load address for booting"
472 range 0x1000 0x20000000
474 This option allows you to set the load address of the kernel.
475 This can be useful if you are on a board which has a small amount
476 of memory or you wish to reserve some memory at the beginning of
479 Note that you need to keep this value above 4k (0x1000) as this
480 memory region is used to capture NULL pointer references as well
481 as some core kernel functions.
484 prompt "Blackfin Exception Scratch Register"
485 default BFIN_SCRATCH_REG_RETN
487 Select the resource to reserve for the Exception handler:
488 - RETN: Non-Maskable Interrupt (NMI)
489 - RETE: Exception Return (JTAG/ICE)
490 - CYCLES: Performance counter
492 If you are unsure, please select "RETN".
494 config BFIN_SCRATCH_REG_RETN
497 Use the RETN register in the Blackfin exception handler
498 as a stack scratch register. This means you cannot
499 safely use NMI on the Blackfin while running Linux, but
500 you can debug the system with a JTAG ICE and use the
501 CYCLES performance registers.
503 If you are unsure, please select "RETN".
505 config BFIN_SCRATCH_REG_RETE
508 Use the RETE register in the Blackfin exception handler
509 as a stack scratch register. This means you cannot
510 safely use a JTAG ICE while debugging a Blackfin board,
511 but you can safely use the CYCLES performance registers
514 If you are unsure, please select "RETN".
516 config BFIN_SCRATCH_REG_CYCLES
519 Use the CYCLES register in the Blackfin exception handler
520 as a stack scratch register. This means you cannot
521 safely use the CYCLES performance registers on a Blackfin
522 board at anytime, but you can debug the system with a JTAG
525 If you are unsure, please select "RETN".
532 menu "Blackfin Kernel Optimizations"
534 comment "Memory Optimizations"
537 bool "Locate interrupt entry code in L1 Memory"
540 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
541 into L1 instruction memory. (less latency)
543 config EXCPT_IRQ_SYSC_L1
544 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
547 If enabled, the entire ASM lowlevel exception and interrupt entry code
548 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
552 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
555 If enabled, the frequently called do_irq dispatcher function is linked
556 into L1 instruction memory. (less latency)
558 config CORE_TIMER_IRQ_L1
559 bool "Locate frequently called timer_interrupt() function in L1 Memory"
562 If enabled, the frequently called timer_interrupt() function is linked
563 into L1 instruction memory. (less latency)
566 bool "Locate frequently idle function in L1 Memory"
569 If enabled, the frequently called idle function is linked
570 into L1 instruction memory. (less latency)
573 bool "Locate kernel schedule function in L1 Memory"
576 If enabled, the frequently called kernel schedule is linked
577 into L1 instruction memory. (less latency)
579 config ARITHMETIC_OPS_L1
580 bool "Locate kernel owned arithmetic functions in L1 Memory"
583 If enabled, arithmetic functions are linked
584 into L1 instruction memory. (less latency)
587 bool "Locate access_ok function in L1 Memory"
590 If enabled, the access_ok function is linked
591 into L1 instruction memory. (less latency)
594 bool "Locate memset function in L1 Memory"
597 If enabled, the memset function is linked
598 into L1 instruction memory. (less latency)
601 bool "Locate memcpy function in L1 Memory"
604 If enabled, the memcpy function is linked
605 into L1 instruction memory. (less latency)
607 config SYS_BFIN_SPINLOCK_L1
608 bool "Locate sys_bfin_spinlock function in L1 Memory"
611 If enabled, sys_bfin_spinlock function is linked
612 into L1 instruction memory. (less latency)
614 config IP_CHECKSUM_L1
615 bool "Locate IP Checksum function in L1 Memory"
618 If enabled, the IP Checksum function is linked
619 into L1 instruction memory. (less latency)
621 config CACHELINE_ALIGNED_L1
622 bool "Locate cacheline_aligned data to L1 Data Memory"
627 If enabled, cacheline_anligned data is linked
628 into L1 data memory. (less latency)
630 config SYSCALL_TAB_L1
631 bool "Locate Syscall Table L1 Data Memory"
635 If enabled, the Syscall LUT is linked
636 into L1 data memory. (less latency)
638 config CPLB_SWITCH_TAB_L1
639 bool "Locate CPLB Switch Tables L1 Data Memory"
643 If enabled, the CPLB Switch Tables are linked
644 into L1 data memory. (less latency)
650 prompt "Kernel executes from"
652 Choose the memory type that the kernel will be running in.
657 The kernel will be resident in RAM when running.
662 The kernel will be resident in FLASH/ROM when running.
669 bool "Allow allocating large blocks (> 1MB) of memory"
671 Allow the slab memory allocator to keep chains for very large
672 memory sizes - upto 32MB. You may need this if your system has
673 a lot of RAM, and you need to able to allocate very large
674 contiguous chunks. If unsure, say N.
677 tristate "Enable Blackfin General Purpose Timers API"
680 Enable support for the General Purpose Timers API. If you
683 To compile this driver as a module, choose M here: the module
684 will be called gptimers.ko.
687 bool "Enable DMA Support"
688 depends on (BF52x || BF53x || BF561 || BF54x)
691 DMA driver for BF5xx.
694 prompt "Uncached SDRAM region"
695 default DMA_UNCACHED_1M
696 depends on BFIN_DMA_5XX
697 config DMA_UNCACHED_2M
698 bool "Enable 2M DMA region"
699 config DMA_UNCACHED_1M
700 bool "Enable 1M DMA region"
701 config DMA_UNCACHED_NONE
702 bool "Disable DMA region"
706 comment "Cache Support"
711 config BFIN_DCACHE_BANKA
712 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
713 depends on BFIN_DCACHE && !BF531
715 config BFIN_ICACHE_LOCK
716 bool "Enable Instruction Cache Locking"
720 depends on BFIN_DCACHE
726 Cached data will be written back to SDRAM only when needed.
727 This can give a nice increase in performance, but beware of
728 broken drivers that do not properly invalidate/flush their
731 Write Through Policy:
732 Cached data will always be written back to SDRAM when the
733 cache is updated. This is a completely safe setting, but
734 performance is worse than Write Back.
736 If you are unsure of the options and you want to be safe,
737 then go with Write Through.
743 Cached data will be written back to SDRAM only when needed.
744 This can give a nice increase in performance, but beware of
745 broken drivers that do not properly invalidate/flush their
748 Write Through Policy:
749 Cached data will always be written back to SDRAM when the
750 cache is updated. This is a completely safe setting, but
751 performance is worse than Write Back.
753 If you are unsure of the options and you want to be safe,
754 then go with Write Through.
759 int "Set the max L1 SRAM pieces"
762 Set the max memory pieces for the L1 SRAM allocation algorithm.
763 Min value is 16. Max value is 1024.
767 bool "Enable the memory protection unit (EXPERIMENTAL)"
770 Use the processor's MPU to protect applications from accessing
771 memory they do not own. This comes at a performance penalty
772 and is recommended only for debugging.
774 comment "Asynchonous Memory Configuration"
776 menu "EBIU_AMGCTL Global Control"
782 bool "DMA has priority over core for ext. accesses"
787 bool "Bank 0 16 bit packing enable"
792 bool "Bank 1 16 bit packing enable"
797 bool "Bank 2 16 bit packing enable"
802 bool "Bank 3 16 bit packing enable"
806 prompt"Enable Asynchonous Memory Banks"
810 bool "Disable All Banks"
816 bool "Enable Bank 0 & 1"
818 config C_AMBEN_B0_B1_B2
819 bool "Enable Bank 0 & 1 & 2"
822 bool "Enable All Banks"
826 menu "EBIU_AMBCTL Control"
844 config EBIU_MBSCTLVAL
845 hex "EBIU Bank Select Control Register"
850 hex "Flash Memory Mode Control Register"
855 hex "Flash Memory Bank Control Register"
860 #############################################################################
861 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
868 source "drivers/pci/Kconfig"
871 bool "Support for hot-pluggable device"
873 Say Y here if you want to plug devices into your computer while
874 the system is running, and be able to use them quickly. In many
875 cases, the devices can likewise be unplugged at any time too.
877 One well known example of this is PCMCIA- or PC-cards, credit-card
878 size devices such as network cards, modems or hard drives which are
879 plugged into slots found on all modern laptop computers. Another
880 example, used on modern desktops as well as laptops, is USB.
882 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
883 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
884 Then your kernel will automatically call out to a user mode "policy
885 agent" (/sbin/hotplug) to load modules and set up software needed
886 to use devices as you hotplug them.
888 source "drivers/pcmcia/Kconfig"
890 source "drivers/pci/hotplug/Kconfig"
894 menu "Executable file formats"
896 source "fs/Kconfig.binfmt"
900 menu "Power management options"
901 source "kernel/power/Kconfig"
903 config ARCH_SUSPEND_POSSIBLE
908 prompt "Default Power Saving Mode"
910 default PM_BFIN_SLEEP_DEEPER
911 config PM_BFIN_SLEEP_DEEPER
914 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
915 power dissipation by disabling the clock to the processor core (CCLK).
916 Furthermore, Standby sets the internal power supply voltage (VDDINT)
917 to 0.85 V to provide the greatest power savings, while preserving the
919 The PLL and system clock (SCLK) continue to operate at a very low
920 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
921 the SDRAM is put into Self Refresh Mode. Typically an external event
922 such as GPIO interrupt or RTC activity wakes up the processor.
923 Various Peripherals such as UART, SPORT, PPI may not function as
924 normal during Sleep Deeper, due to the reduced SCLK frequency.
925 When in the sleep mode, system DMA access to L1 memory is not supported.
930 Sleep Mode (High Power Savings) - The sleep mode reduces power
931 dissipation by disabling the clock to the processor core (CCLK).
932 The PLL and system clock (SCLK), however, continue to operate in
933 this mode. Typically an external event or RTC activity will wake
934 up the processor. When in the sleep mode,
935 system DMA access to L1 memory is not supported.
938 config PM_WAKEUP_BY_GPIO
939 bool "Cause Wakeup Event by GPIO"
941 config PM_WAKEUP_GPIO_NUMBER
942 int "Wakeup GPIO number"
944 depends on PM_WAKEUP_BY_GPIO
945 default 2 if BFIN537_STAMP
948 prompt "GPIO Polarity"
949 depends on PM_WAKEUP_BY_GPIO
950 default PM_WAKEUP_GPIO_POLAR_H
951 config PM_WAKEUP_GPIO_POLAR_H
953 config PM_WAKEUP_GPIO_POLAR_L
955 config PM_WAKEUP_GPIO_POLAR_EDGE_F
957 config PM_WAKEUP_GPIO_POLAR_EDGE_R
959 config PM_WAKEUP_GPIO_POLAR_EDGE_B
965 if (BF537 || BF533 || BF54x)
967 menu "CPU Frequency scaling"
969 source "drivers/cpufreq/Kconfig"
975 If you want to enable this option, you should select the
976 DPMC driver from Character Devices.
983 source "drivers/Kconfig"
987 source "arch/blackfin/Kconfig.debug"
989 source "security/Kconfig"
991 source "crypto/Kconfig"