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
33 config SEMAPHORE_SLEEPERS
37 config GENERIC_FIND_NEXT_BIT
41 config GENERIC_HWEIGHT
45 config GENERIC_HARDIRQS
49 config GENERIC_IRQ_PROBE
61 config FORCE_MAX_ZONEORDER
65 config GENERIC_CALIBRATE_DELAY
74 source "kernel/Kconfig.preempt"
76 menu "Blackfin Processor Options"
78 comment "Processor and Board Settings"
87 BF522 Processor Support.
92 BF523 Processor Support.
97 BF524 Processor Support.
102 BF525 Processor Support.
107 BF526 Processor Support.
112 BF527 Processor Support.
117 BF531 Processor Support.
122 BF532 Processor Support.
127 BF533 Processor Support.
132 BF534 Processor Support.
137 BF536 Processor Support.
142 BF537 Processor Support.
147 BF542 Processor Support.
152 BF544 Processor Support.
157 BF547 Processor Support.
162 BF548 Processor Support.
167 BF549 Processor Support.
172 Not Supported Yet - Work in progress - BF561 Processor Support.
178 default BF_REV_0_1 if BF527
179 default BF_REV_0_2 if BF537
180 default BF_REV_0_3 if BF533
181 default BF_REV_0_0 if BF549
185 depends on (BF52x || BF54x)
189 depends on (BF52x || BF54x)
193 depends on (BF537 || BF536 || BF534)
197 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
201 depends on (BF561 || BF533 || BF532 || BF531)
205 depends on (BF561 || BF533 || BF532 || BF531)
217 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
222 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
227 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
230 config BFIN_DUAL_CORE
235 config BFIN_SINGLE_CORE
237 depends on !BFIN_DUAL_CORE
240 config MEM_GENERIC_BOARD
242 depends on GENERIC_BOARD
245 config MEM_MT48LC64M4A2FB_7E
247 depends on (BFIN533_STAMP)
250 config MEM_MT48LC16M16A2TG_75
252 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
253 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
257 config MEM_MT48LC32M8A2_75
259 depends on (BFIN537_STAMP || PNAV10)
262 config MEM_MT48LC8M32B2B5_7
264 depends on (BFIN561_BLUETECHNIX_CM)
267 config MEM_MT48LC32M16A2TG_75
269 depends on (BFIN527_EZKIT)
272 source "arch/blackfin/mach-bf527/Kconfig"
273 source "arch/blackfin/mach-bf533/Kconfig"
274 source "arch/blackfin/mach-bf561/Kconfig"
275 source "arch/blackfin/mach-bf537/Kconfig"
276 source "arch/blackfin/mach-bf548/Kconfig"
278 menu "Board customizations"
281 bool "Default bootloader kernel arguments"
284 string "Initial kernel command string"
285 depends on CMDLINE_BOOL
286 default "console=ttyBF0,57600"
288 If you don't have a boot loader capable of passing a command line string
289 to the kernel, you may specify one here. As a minimum, you should specify
290 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
292 comment "Clock/PLL Setup"
295 int "Crystal Frequency in Hz"
296 default "11059200" if BFIN533_STAMP
297 default "27000000" if BFIN533_EZKIT
298 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
299 default "30000000" if BFIN561_EZKIT
300 default "24576000" if PNAV10
302 The frequency of CLKIN crystal oscillator on the board in Hz.
304 config BFIN_KERNEL_CLOCK
305 bool "Re-program Clocks while Kernel boots?"
308 This option decides if kernel clocks are re-programed from the
309 bootloader settings. If the clocks are not set, the SDRAM settings
310 are also not changed, and the Bootloader does 100% of the hardware
315 depends on BFIN_KERNEL_CLOCK
320 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
323 If this is set the clock will be divided by 2, before it goes to the PLL.
327 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
329 default "22" if BFIN533_EZKIT
330 default "45" if BFIN533_STAMP
331 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
332 default "22" if BFIN533_BLUETECHNIX_CM
333 default "20" if BFIN537_BLUETECHNIX_CM
334 default "20" if BFIN561_BLUETECHNIX_CM
335 default "20" if BFIN561_EZKIT
336 default "16" if H8606_HVSISTEMAS
338 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
339 PLL Frequency = (Crystal Frequency) * (this setting)
342 prompt "Core Clock Divider"
343 depends on BFIN_KERNEL_CLOCK
346 This sets the frequency of the core. It can be 1, 2, 4 or 8
347 Core Frequency = (PLL frequency) / (this setting)
363 int "System Clock Divider"
364 depends on BFIN_KERNEL_CLOCK
366 default 5 if BFIN533_EZKIT
367 default 5 if BFIN533_STAMP
368 default 4 if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT)
369 default 5 if BFIN533_BLUETECHNIX_CM
370 default 4 if BFIN537_BLUETECHNIX_CM
371 default 4 if BFIN561_BLUETECHNIX_CM
372 default 5 if BFIN561_EZKIT
373 default 3 if H8606_HVSISTEMAS
375 This sets the frequency of the system clock (including SDRAM or DDR).
376 This can be between 1 and 15
377 System Clock = (PLL frequency) / (this setting)
380 # Max & Min Speeds for various Chips
384 default 600000000 if BF522
385 default 400000000 if BF523
386 default 400000000 if BF524
387 default 600000000 if BF525
388 default 400000000 if BF526
389 default 600000000 if BF527
390 default 400000000 if BF531
391 default 400000000 if BF532
392 default 750000000 if BF533
393 default 500000000 if BF534
394 default 400000000 if BF536
395 default 600000000 if BF537
396 default 533333333 if BF538
397 default 533333333 if BF539
398 default 600000000 if BF542
399 default 533333333 if BF544
400 default 600000000 if BF547
401 default 600000000 if BF548
402 default 533333333 if BF549
403 default 600000000 if BF561
417 comment "Kernel Timer/Scheduler"
419 source kernel/Kconfig.hz
421 comment "Memory Setup"
424 int "SDRAM Memory Size in MBytes"
425 default 32 if BFIN533_EZKIT
426 default 64 if BFIN527_EZKIT
427 default 64 if BFIN537_STAMP
428 default 64 if BFIN548_EZKIT
429 default 64 if BFIN561_EZKIT
430 default 128 if BFIN533_STAMP
432 default 32 if H8606_HVSISTEMAS
435 int "SDRAM Memory Address Width"
437 default 9 if BFIN533_EZKIT
438 default 9 if BFIN561_EZKIT
439 default 9 if H8606_HVSISTEMAS
440 default 10 if BFIN527_EZKIT
441 default 10 if BFIN537_STAMP
442 default 11 if BFIN533_STAMP
447 prompt "DDR SDRAM Chip Type"
448 depends on BFIN548_EZKIT
449 default MEM_MT46V32M16_5B
451 config MEM_MT46V32M16_6T
454 config MEM_MT46V32M16_5B
458 config ENET_FLASH_PIN
459 int "PF port/pin used for flash and ethernet sharing"
460 depends on (BFIN533_STAMP)
463 PF port/pin used for flash and ethernet sharing to allow other PF
464 pins to be used on other platforms without having to touch common
466 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
469 hex "Kernel load address for booting"
471 range 0x1000 0x20000000
473 This option allows you to set the load address of the kernel.
474 This can be useful if you are on a board which has a small amount
475 of memory or you wish to reserve some memory at the beginning of
478 Note that you need to keep this value above 4k (0x1000) as this
479 memory region is used to capture NULL pointer references as well
480 as some core kernel functions.
483 prompt "Blackfin Exception Scratch Register"
484 default BFIN_SCRATCH_REG_RETN
486 Select the resource to reserve for the Exception handler:
487 - RETN: Non-Maskable Interrupt (NMI)
488 - RETE: Exception Return (JTAG/ICE)
489 - CYCLES: Performance counter
491 If you are unsure, please select "RETN".
493 config BFIN_SCRATCH_REG_RETN
496 Use the RETN register in the Blackfin exception handler
497 as a stack scratch register. This means you cannot
498 safely use NMI on the Blackfin while running Linux, but
499 you can debug the system with a JTAG ICE and use the
500 CYCLES performance registers.
502 If you are unsure, please select "RETN".
504 config BFIN_SCRATCH_REG_RETE
507 Use the RETE register in the Blackfin exception handler
508 as a stack scratch register. This means you cannot
509 safely use a JTAG ICE while debugging a Blackfin board,
510 but you can safely use the CYCLES performance registers
513 If you are unsure, please select "RETN".
515 config BFIN_SCRATCH_REG_CYCLES
518 Use the CYCLES register in the Blackfin exception handler
519 as a stack scratch register. This means you cannot
520 safely use the CYCLES performance registers on a Blackfin
521 board at anytime, but you can debug the system with a JTAG
524 If you are unsure, please select "RETN".
531 menu "Blackfin Kernel Optimizations"
533 comment "Memory Optimizations"
536 bool "Locate interrupt entry code in L1 Memory"
539 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
540 into L1 instruction memory. (less latency)
542 config EXCPT_IRQ_SYSC_L1
543 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
546 If enabled, the entire ASM lowlevel exception and interrupt entry code
547 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
551 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
554 If enabled, the frequently called do_irq dispatcher function is linked
555 into L1 instruction memory. (less latency)
557 config CORE_TIMER_IRQ_L1
558 bool "Locate frequently called timer_interrupt() function in L1 Memory"
561 If enabled, the frequently called timer_interrupt() function is linked
562 into L1 instruction memory. (less latency)
565 bool "Locate frequently idle function in L1 Memory"
568 If enabled, the frequently called idle function is linked
569 into L1 instruction memory. (less latency)
572 bool "Locate kernel schedule function in L1 Memory"
575 If enabled, the frequently called kernel schedule is linked
576 into L1 instruction memory. (less latency)
578 config ARITHMETIC_OPS_L1
579 bool "Locate kernel owned arithmetic functions in L1 Memory"
582 If enabled, arithmetic functions are linked
583 into L1 instruction memory. (less latency)
586 bool "Locate access_ok function in L1 Memory"
589 If enabled, the access_ok function is linked
590 into L1 instruction memory. (less latency)
593 bool "Locate memset function in L1 Memory"
596 If enabled, the memset function is linked
597 into L1 instruction memory. (less latency)
600 bool "Locate memcpy function in L1 Memory"
603 If enabled, the memcpy function is linked
604 into L1 instruction memory. (less latency)
606 config SYS_BFIN_SPINLOCK_L1
607 bool "Locate sys_bfin_spinlock function in L1 Memory"
610 If enabled, sys_bfin_spinlock function is linked
611 into L1 instruction memory. (less latency)
613 config IP_CHECKSUM_L1
614 bool "Locate IP Checksum function in L1 Memory"
617 If enabled, the IP Checksum function is linked
618 into L1 instruction memory. (less latency)
620 config CACHELINE_ALIGNED_L1
621 bool "Locate cacheline_aligned data to L1 Data Memory"
626 If enabled, cacheline_anligned data is linked
627 into L1 data memory. (less latency)
629 config SYSCALL_TAB_L1
630 bool "Locate Syscall Table L1 Data Memory"
634 If enabled, the Syscall LUT is linked
635 into L1 data memory. (less latency)
637 config CPLB_SWITCH_TAB_L1
638 bool "Locate CPLB Switch Tables L1 Data Memory"
642 If enabled, the CPLB Switch Tables are linked
643 into L1 data memory. (less latency)
649 prompt "Kernel executes from"
651 Choose the memory type that the kernel will be running in.
656 The kernel will be resident in RAM when running.
661 The kernel will be resident in FLASH/ROM when running.
668 bool "Allow allocating large blocks (> 1MB) of memory"
670 Allow the slab memory allocator to keep chains for very large
671 memory sizes - upto 32MB. You may need this if your system has
672 a lot of RAM, and you need to able to allocate very large
673 contiguous chunks. If unsure, say N.
676 tristate "Enable Blackfin General Purpose Timers API"
679 Enable support for the General Purpose Timers API. If you
682 To compile this driver as a module, choose M here: the module
683 will be called gptimers.ko.
686 bool "Enable DMA Support"
687 depends on (BF52x || BF53x || BF561 || BF54x)
690 DMA driver for BF5xx.
693 prompt "Uncached SDRAM region"
694 default DMA_UNCACHED_1M
695 depends on BFIN_DMA_5XX
696 config DMA_UNCACHED_2M
697 bool "Enable 2M DMA region"
698 config DMA_UNCACHED_1M
699 bool "Enable 1M DMA region"
700 config DMA_UNCACHED_NONE
701 bool "Disable DMA region"
705 comment "Cache Support"
710 config BFIN_DCACHE_BANKA
711 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
712 depends on BFIN_DCACHE && !BF531
714 config BFIN_ICACHE_LOCK
715 bool "Enable Instruction Cache Locking"
719 depends on BFIN_DCACHE
725 Cached data will be written back to SDRAM only when needed.
726 This can give a nice increase in performance, but beware of
727 broken drivers that do not properly invalidate/flush their
730 Write Through Policy:
731 Cached data will always be written back to SDRAM when the
732 cache is updated. This is a completely safe setting, but
733 performance is worse than Write Back.
735 If you are unsure of the options and you want to be safe,
736 then go with Write Through.
742 Cached data will be written back to SDRAM only when needed.
743 This can give a nice increase in performance, but beware of
744 broken drivers that do not properly invalidate/flush their
747 Write Through Policy:
748 Cached data will always be written back to SDRAM when the
749 cache is updated. This is a completely safe setting, but
750 performance is worse than Write Back.
752 If you are unsure of the options and you want to be safe,
753 then go with Write Through.
758 int "Set the max L1 SRAM pieces"
761 Set the max memory pieces for the L1 SRAM allocation algorithm.
762 Min value is 16. Max value is 1024.
766 bool "Enable the memory protection unit (EXPERIMENTAL)"
769 Use the processor's MPU to protect applications from accessing
770 memory they do not own. This comes at a performance penalty
771 and is recommended only for debugging.
773 comment "Asynchonous Memory Configuration"
775 menu "EBIU_AMGCTL Global Control"
781 bool "DMA has priority over core for ext. accesses"
786 bool "Bank 0 16 bit packing enable"
791 bool "Bank 1 16 bit packing enable"
796 bool "Bank 2 16 bit packing enable"
801 bool "Bank 3 16 bit packing enable"
805 prompt"Enable Asynchonous Memory Banks"
809 bool "Disable All Banks"
815 bool "Enable Bank 0 & 1"
817 config C_AMBEN_B0_B1_B2
818 bool "Enable Bank 0 & 1 & 2"
821 bool "Enable All Banks"
825 menu "EBIU_AMBCTL Control"
843 config EBIU_MBSCTLVAL
844 hex "EBIU Bank Select Control Register"
849 hex "Flash Memory Mode Control Register"
854 hex "Flash Memory Bank Control Register"
859 #############################################################################
860 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
867 source "drivers/pci/Kconfig"
870 bool "Support for hot-pluggable device"
872 Say Y here if you want to plug devices into your computer while
873 the system is running, and be able to use them quickly. In many
874 cases, the devices can likewise be unplugged at any time too.
876 One well known example of this is PCMCIA- or PC-cards, credit-card
877 size devices such as network cards, modems or hard drives which are
878 plugged into slots found on all modern laptop computers. Another
879 example, used on modern desktops as well as laptops, is USB.
881 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
882 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
883 Then your kernel will automatically call out to a user mode "policy
884 agent" (/sbin/hotplug) to load modules and set up software needed
885 to use devices as you hotplug them.
887 source "drivers/pcmcia/Kconfig"
889 source "drivers/pci/hotplug/Kconfig"
893 menu "Executable file formats"
895 source "fs/Kconfig.binfmt"
899 menu "Power management options"
900 source "kernel/power/Kconfig"
902 config ARCH_SUSPEND_POSSIBLE
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 0x8 if (BF537 || BF536 || BF534)
927 default 0x80 if (BF533 || BF532 || BF531)
928 default 0x80 if (BF54x)
929 default 0x80 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 "arch/blackfin/Kconfig.debug"
979 source "security/Kconfig"
981 source "crypto/Kconfig"