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 GENERIC_FIND_NEXT_BIT
38 config GENERIC_HWEIGHT
42 config GENERIC_HARDIRQS
46 config GENERIC_IRQ_PROBE
54 config FORCE_MAX_ZONEORDER
58 config GENERIC_CALIBRATE_DELAY
67 source "kernel/Kconfig.preempt"
69 menu "Blackfin Processor Options"
71 comment "Processor and Board Settings"
80 BF522 Processor Support.
85 BF523 Processor Support.
90 BF524 Processor Support.
95 BF525 Processor Support.
100 BF526 Processor Support.
105 BF527 Processor Support.
110 BF531 Processor Support.
115 BF532 Processor Support.
120 BF533 Processor Support.
125 BF534 Processor Support.
130 BF536 Processor Support.
135 BF537 Processor Support.
140 BF542 Processor Support.
145 BF544 Processor Support.
150 BF547 Processor Support.
155 BF548 Processor Support.
160 BF549 Processor Support.
165 Not Supported Yet - Work in progress - BF561 Processor Support.
171 default BF_REV_0_1 if BF527
172 default BF_REV_0_2 if BF537
173 default BF_REV_0_3 if BF533
174 default BF_REV_0_0 if BF549
178 depends on (BF52x || BF54x)
182 depends on (BF52x || BF54x)
186 depends on (BF537 || BF536 || BF534)
190 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
194 depends on (BF561 || BF533 || BF532 || BF531)
198 depends on (BF561 || BF533 || BF532 || BF531)
210 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
215 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
220 depends on (BF542 || BF544 || BF547 || BF548 || BF549)
223 config MEM_GENERIC_BOARD
225 depends on GENERIC_BOARD
228 config MEM_MT48LC64M4A2FB_7E
230 depends on (BFIN533_STAMP)
233 config MEM_MT48LC16M16A2TG_75
235 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
236 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
237 || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
240 config MEM_MT48LC32M8A2_75
242 depends on (BFIN537_STAMP || PNAV10)
245 config MEM_MT48LC8M32B2B5_7
247 depends on (BFIN561_BLUETECHNIX_CM)
250 config MEM_MT48LC32M16A2TG_75
252 depends on (BFIN527_EZKIT || BFIN532_IP0X)
255 source "arch/blackfin/mach-bf527/Kconfig"
256 source "arch/blackfin/mach-bf533/Kconfig"
257 source "arch/blackfin/mach-bf561/Kconfig"
258 source "arch/blackfin/mach-bf537/Kconfig"
259 source "arch/blackfin/mach-bf548/Kconfig"
261 menu "Board customizations"
264 bool "Default bootloader kernel arguments"
267 string "Initial kernel command string"
268 depends on CMDLINE_BOOL
269 default "console=ttyBF0,57600"
271 If you don't have a boot loader capable of passing a command line string
272 to the kernel, you may specify one here. As a minimum, you should specify
273 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
276 hex "Kernel load address for booting"
278 range 0x1000 0x20000000
280 This option allows you to set the load address of the kernel.
281 This can be useful if you are on a board which has a small amount
282 of memory or you wish to reserve some memory at the beginning of
285 Note that you need to keep this value above 4k (0x1000) as this
286 memory region is used to capture NULL pointer references as well
287 as some core kernel functions.
289 comment "Clock/PLL Setup"
292 int "Frequency of the crystal on the board in Hz"
293 default "11059200" if BFIN533_STAMP
294 default "27000000" if BFIN533_EZKIT
295 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS)
296 default "30000000" if BFIN561_EZKIT
297 default "24576000" if PNAV10
298 default "10000000" if BFIN532_IP0X
300 The frequency of CLKIN crystal oscillator on the board in Hz.
301 Warning: This value should match the crystal on the board. Otherwise,
302 peripherals won't work properly.
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 || BFIN548_BLUETECHNIX_CM)
332 default "22" if BFIN533_BLUETECHNIX_CM
333 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || 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
367 This sets the frequency of the system clock (including SDRAM or DDR).
368 This can be between 1 and 15
369 System Clock = (PLL frequency) / (this setting)
372 int "Max SDRAM Memory Size in MBytes"
376 This is the max memory size that the kernel will create CPLB
377 tables for. Your system will not be able to handle any more.
380 prompt "DDR SDRAM Chip Type"
381 depends on BFIN_KERNEL_CLOCK
383 default MEM_MT46V32M16_5B
385 config MEM_MT46V32M16_6T
388 config MEM_MT46V32M16_5B
393 # Max & Min Speeds for various Chips
397 default 600000000 if BF522
398 default 400000000 if BF523
399 default 400000000 if BF524
400 default 600000000 if BF525
401 default 400000000 if BF526
402 default 600000000 if BF527
403 default 400000000 if BF531
404 default 400000000 if BF532
405 default 750000000 if BF533
406 default 500000000 if BF534
407 default 400000000 if BF536
408 default 600000000 if BF537
409 default 533333333 if BF538
410 default 533333333 if BF539
411 default 600000000 if BF542
412 default 533333333 if BF544
413 default 600000000 if BF547
414 default 600000000 if BF548
415 default 533333333 if BF549
416 default 600000000 if BF561
430 comment "Kernel Timer/Scheduler"
432 source kernel/Kconfig.hz
438 config GENERIC_CLOCKEVENTS
439 bool "Generic clock events"
440 depends on GENERIC_TIME
443 config CYCLES_CLOCKSOURCE
444 bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
445 depends on EXPERIMENTAL
446 depends on GENERIC_CLOCKEVENTS
447 depends on !BFIN_SCRATCH_REG_CYCLES
450 If you say Y here, you will enable support for using the 'cycles'
451 registers as a clock source. Doing so means you will be unable to
452 safely write to the 'cycles' register during runtime. You will
453 still be able to read it (such as for performance monitoring), but
454 writing the registers will most likely crash the kernel.
456 source kernel/time/Kconfig
458 comment "Memory Setup"
463 prompt "Blackfin Exception Scratch Register"
464 default BFIN_SCRATCH_REG_RETN
466 Select the resource to reserve for the Exception handler:
467 - RETN: Non-Maskable Interrupt (NMI)
468 - RETE: Exception Return (JTAG/ICE)
469 - CYCLES: Performance counter
471 If you are unsure, please select "RETN".
473 config BFIN_SCRATCH_REG_RETN
476 Use the RETN register in the Blackfin exception handler
477 as a stack scratch register. This means you cannot
478 safely use NMI on the Blackfin while running Linux, but
479 you can debug the system with a JTAG ICE and use the
480 CYCLES performance registers.
482 If you are unsure, please select "RETN".
484 config BFIN_SCRATCH_REG_RETE
487 Use the RETE register in the Blackfin exception handler
488 as a stack scratch register. This means you cannot
489 safely use a JTAG ICE while debugging a Blackfin board,
490 but you can safely use the CYCLES performance registers
493 If you are unsure, please select "RETN".
495 config BFIN_SCRATCH_REG_CYCLES
498 Use the CYCLES register in the Blackfin exception handler
499 as a stack scratch register. This means you cannot
500 safely use the CYCLES performance registers on a Blackfin
501 board at anytime, but you can debug the system with a JTAG
504 If you are unsure, please select "RETN".
511 menu "Blackfin Kernel Optimizations"
513 comment "Memory Optimizations"
516 bool "Locate interrupt entry code in L1 Memory"
519 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
520 into L1 instruction memory. (less latency)
522 config EXCPT_IRQ_SYSC_L1
523 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
526 If enabled, the entire ASM lowlevel exception and interrupt entry code
527 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
531 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
534 If enabled, the frequently called do_irq dispatcher function is linked
535 into L1 instruction memory. (less latency)
537 config CORE_TIMER_IRQ_L1
538 bool "Locate frequently called timer_interrupt() function in L1 Memory"
541 If enabled, the frequently called timer_interrupt() function is linked
542 into L1 instruction memory. (less latency)
545 bool "Locate frequently idle function in L1 Memory"
548 If enabled, the frequently called idle function is linked
549 into L1 instruction memory. (less latency)
552 bool "Locate kernel schedule function in L1 Memory"
555 If enabled, the frequently called kernel schedule is linked
556 into L1 instruction memory. (less latency)
558 config ARITHMETIC_OPS_L1
559 bool "Locate kernel owned arithmetic functions in L1 Memory"
562 If enabled, arithmetic functions are linked
563 into L1 instruction memory. (less latency)
566 bool "Locate access_ok function in L1 Memory"
569 If enabled, the access_ok function is linked
570 into L1 instruction memory. (less latency)
573 bool "Locate memset function in L1 Memory"
576 If enabled, the memset function is linked
577 into L1 instruction memory. (less latency)
580 bool "Locate memcpy function in L1 Memory"
583 If enabled, the memcpy function is linked
584 into L1 instruction memory. (less latency)
586 config SYS_BFIN_SPINLOCK_L1
587 bool "Locate sys_bfin_spinlock function in L1 Memory"
590 If enabled, sys_bfin_spinlock function is linked
591 into L1 instruction memory. (less latency)
593 config IP_CHECKSUM_L1
594 bool "Locate IP Checksum function in L1 Memory"
597 If enabled, the IP Checksum function is linked
598 into L1 instruction memory. (less latency)
600 config CACHELINE_ALIGNED_L1
601 bool "Locate cacheline_aligned data to L1 Data Memory"
606 If enabled, cacheline_anligned data is linked
607 into L1 data memory. (less latency)
609 config SYSCALL_TAB_L1
610 bool "Locate Syscall Table L1 Data Memory"
614 If enabled, the Syscall LUT is linked
615 into L1 data memory. (less latency)
617 config CPLB_SWITCH_TAB_L1
618 bool "Locate CPLB Switch Tables L1 Data Memory"
622 If enabled, the CPLB Switch Tables are linked
623 into L1 data memory. (less latency)
629 prompt "Kernel executes from"
631 Choose the memory type that the kernel will be running in.
636 The kernel will be resident in RAM when running.
641 The kernel will be resident in FLASH/ROM when running.
648 tristate "Enable Blackfin General Purpose Timers API"
651 Enable support for the General Purpose Timers API. If you
654 To compile this driver as a module, choose M here: the module
655 will be called gptimers.ko.
658 bool "Enable DMA Support"
659 depends on (BF52x || BF53x || BF561 || BF54x)
662 DMA driver for BF5xx.
665 prompt "Uncached SDRAM region"
666 default DMA_UNCACHED_1M
667 depends on BFIN_DMA_5XX
668 config DMA_UNCACHED_4M
669 bool "Enable 4M DMA region"
670 config DMA_UNCACHED_2M
671 bool "Enable 2M DMA region"
672 config DMA_UNCACHED_1M
673 bool "Enable 1M DMA region"
674 config DMA_UNCACHED_NONE
675 bool "Disable DMA region"
679 comment "Cache Support"
684 config BFIN_DCACHE_BANKA
685 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
686 depends on BFIN_DCACHE && !BF531
688 config BFIN_ICACHE_LOCK
689 bool "Enable Instruction Cache Locking"
693 depends on BFIN_DCACHE
699 Cached data will be written back to SDRAM only when needed.
700 This can give a nice increase in performance, but beware of
701 broken drivers that do not properly invalidate/flush their
704 Write Through Policy:
705 Cached data will always be written back to SDRAM when the
706 cache is updated. This is a completely safe setting, but
707 performance is worse than Write Back.
709 If you are unsure of the options and you want to be safe,
710 then go with Write Through.
716 Cached data will be written back to SDRAM only when needed.
717 This can give a nice increase in performance, but beware of
718 broken drivers that do not properly invalidate/flush their
721 Write Through Policy:
722 Cached data will always be written back to SDRAM when the
723 cache is updated. This is a completely safe setting, but
724 performance is worse than Write Back.
726 If you are unsure of the options and you want to be safe,
727 then go with Write Through.
732 bool "Enable the memory protection unit (EXPERIMENTAL)"
735 Use the processor's MPU to protect applications from accessing
736 memory they do not own. This comes at a performance penalty
737 and is recommended only for debugging.
739 comment "Asynchonous Memory Configuration"
741 menu "EBIU_AMGCTL Global Control"
747 bool "DMA has priority over core for ext. accesses"
752 bool "Bank 0 16 bit packing enable"
757 bool "Bank 1 16 bit packing enable"
762 bool "Bank 2 16 bit packing enable"
767 bool "Bank 3 16 bit packing enable"
771 prompt"Enable Asynchonous Memory Banks"
775 bool "Disable All Banks"
781 bool "Enable Bank 0 & 1"
783 config C_AMBEN_B0_B1_B2
784 bool "Enable Bank 0 & 1 & 2"
787 bool "Enable All Banks"
791 menu "EBIU_AMBCTL Control"
799 default 0x5558 if BF54x
810 config EBIU_MBSCTLVAL
811 hex "EBIU Bank Select Control Register"
816 hex "Flash Memory Mode Control Register"
821 hex "Flash Memory Bank Control Register"
826 #############################################################################
827 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
834 source "drivers/pci/Kconfig"
837 bool "Support for hot-pluggable device"
839 Say Y here if you want to plug devices into your computer while
840 the system is running, and be able to use them quickly. In many
841 cases, the devices can likewise be unplugged at any time too.
843 One well known example of this is PCMCIA- or PC-cards, credit-card
844 size devices such as network cards, modems or hard drives which are
845 plugged into slots found on all modern laptop computers. Another
846 example, used on modern desktops as well as laptops, is USB.
848 Enable HOTPLUG and build a modular kernel. Get agent software
849 (from <http://linux-hotplug.sourceforge.net/>) and install it.
850 Then your kernel will automatically call out to a user mode "policy
851 agent" (/sbin/hotplug) to load modules and set up software needed
852 to use devices as you hotplug them.
854 source "drivers/pcmcia/Kconfig"
856 source "drivers/pci/hotplug/Kconfig"
860 menu "Executable file formats"
862 source "fs/Kconfig.binfmt"
866 menu "Power management options"
867 source "kernel/power/Kconfig"
869 config ARCH_SUSPEND_POSSIBLE
874 prompt "Standby Power Saving Mode"
876 default PM_BFIN_SLEEP_DEEPER
877 config PM_BFIN_SLEEP_DEEPER
880 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
881 power dissipation by disabling the clock to the processor core (CCLK).
882 Furthermore, Standby sets the internal power supply voltage (VDDINT)
883 to 0.85 V to provide the greatest power savings, while preserving the
885 The PLL and system clock (SCLK) continue to operate at a very low
886 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
887 the SDRAM is put into Self Refresh Mode. Typically an external event
888 such as GPIO interrupt or RTC activity wakes up the processor.
889 Various Peripherals such as UART, SPORT, PPI may not function as
890 normal during Sleep Deeper, due to the reduced SCLK frequency.
891 When in the sleep mode, system DMA access to L1 memory is not supported.
893 If unsure, select "Sleep Deeper".
898 Sleep Mode (High Power Savings) - The sleep mode reduces power
899 dissipation by disabling the clock to the processor core (CCLK).
900 The PLL and system clock (SCLK), however, continue to operate in
901 this mode. Typically an external event or RTC activity will wake
902 up the processor. When in the sleep mode, system DMA access to L1
903 memory is not supported.
905 If unsure, select "Sleep Deeper".
908 config PM_WAKEUP_BY_GPIO
909 bool "Allow Wakeup from Standby by GPIO"
911 config PM_WAKEUP_GPIO_NUMBER
914 depends on PM_WAKEUP_BY_GPIO
915 default 2 if BFIN537_STAMP
918 prompt "GPIO Polarity"
919 depends on PM_WAKEUP_BY_GPIO
920 default PM_WAKEUP_GPIO_POLAR_H
921 config PM_WAKEUP_GPIO_POLAR_H
923 config PM_WAKEUP_GPIO_POLAR_L
925 config PM_WAKEUP_GPIO_POLAR_EDGE_F
927 config PM_WAKEUP_GPIO_POLAR_EDGE_R
929 config PM_WAKEUP_GPIO_POLAR_EDGE_B
933 comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
936 config PM_BFIN_WAKE_RTC
937 bool "Allow Wake-Up from RESET and on-chip RTC"
941 Enable RTC Wake-Up (Voltage Regulator Power-Up)
943 config PM_BFIN_WAKE_PH6
944 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
945 depends on PM && (BF52x || BF534 || BF536 || BF537)
948 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
950 config PM_BFIN_WAKE_CAN
951 bool "Allow Wake-Up from on-chip CAN0/1"
952 depends on PM && (BF54x || BF534 || BF536 || BF537)
955 Enable CAN0/1 Wake-Up (Voltage Regulator Power-Up)
957 config PM_BFIN_WAKE_GP
958 bool "Allow Wake-Up from GPIOs"
959 depends on PM && BF54x
962 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
964 config PM_BFIN_WAKE_USB
965 bool "Allow Wake-Up from on-chip USB"
966 depends on PM && (BF54x || BF52x)
969 Enable USB Wake-Up (Voltage Regulator Power-Up)
971 config PM_BFIN_WAKE_KEYPAD
972 bool "Allow Wake-Up from on-chip Keypad"
973 depends on PM && BF54x
976 Enable Keypad Wake-Up (Voltage Regulator Power-Up)
978 config PM_BFIN_WAKE_ROTARY
979 bool "Allow Wake-Up from on-chip Rotary"
980 depends on PM && BF54x
983 Enable Rotary Wake-Up (Voltage Regulator Power-Up)
987 menu "CPU Frequency scaling"
989 source "drivers/cpufreq/Kconfig"
992 bool "CPU Voltage scaling"
993 depends on EXPERIMENTAL
997 Say Y here if you want CPU voltage scaling according to the CPU frequency.
998 This option violates the PLL BYPASS recommendation in the Blackfin Processor
999 manuals. There is a theoretical risk that during VDDINT transitions
1004 source "net/Kconfig"
1006 source "drivers/Kconfig"
1010 source "arch/blackfin/Kconfig.debug"
1012 source "security/Kconfig"
1014 source "crypto/Kconfig"
1016 source "lib/Kconfig"