2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "uClinux/Blackfin (w/o MMU) Kernel Configuration"
16 config RWSEM_GENERIC_SPINLOCK
20 config RWSEM_XCHGADD_ALGORITHM
36 config SEMAPHORE_SLEEPERS
40 config GENERIC_FIND_NEXT_BIT
44 config GENERIC_HWEIGHT
48 config GENERIC_HARDIRQS
52 config GENERIC_IRQ_PROBE
60 config GENERIC_CALIBRATE_DELAY
64 config FORCE_MAX_ZONEORDER
68 config GENERIC_CALIBRATE_DELAY
72 config IRQCHIP_DEMUX_GPIO
74 depends on (BF53x || BF561 || BF54x)
78 source "kernel/Kconfig.preempt"
80 menu "Blackfin Processor Options"
82 comment "Processor and Board Settings"
91 BF531 Processor Support.
96 BF532 Processor Support.
101 BF533 Processor Support.
106 BF534 Processor Support.
111 BF536 Processor Support.
116 BF537 Processor Support.
121 BF542 Processor Support.
126 BF544 Processor Support.
131 BF548 Processor Support.
136 BF549 Processor Support.
141 Not Supported Yet - Work in progress - BF561 Processor Support.
147 default BF_REV_0_2 if BF537
148 default BF_REV_0_3 if BF533
149 default BF_REV_0_0 if BF549
157 depends on (BF537 || BF536 || BF534)
161 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
165 depends on (BF561 || BF533 || BF532 || BF531)
169 depends on (BF561 || BF533 || BF532 || BF531)
181 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
186 depends on (BF542 || BF544 || BF548 || BF549)
189 config BFIN_DUAL_CORE
194 config BFIN_SINGLE_CORE
196 depends on !BFIN_DUAL_CORE
201 default BFIN533_STAMP
203 Do NOT change the board here. Please use the top level
204 configuration to ensure that all the other settings are
209 depends on (BF533 || BF532 || BF531)
211 BF533-EZKIT-LITE board Support.
215 depends on (BF533 || BF532 || BF531)
217 BF533-STAMP board Support.
221 depends on (BF537 || BF536 || BF534)
223 BF537-STAMP board Support.
225 config BFIN533_BLUETECHNIX_CM
226 bool "Bluetechnix CM-BF533"
229 CM-BF533 support for EVAL- and DEV-Board.
231 config BFIN537_BLUETECHNIX_CM
232 bool "Bluetechnix CM-BF537"
235 CM-BF537 support for EVAL- and DEV-Board.
239 depends on (BF548 || BF549)
241 BFIN548-EZKIT board Support.
243 config BFIN561_BLUETECHNIX_CM
244 bool "Bluetechnix CM-BF561"
247 CM-BF561 support for EVAL- and DEV-Board.
253 BF561-EZKIT-LITE board Support.
259 BF561-TEPLA board Support.
262 bool "PNAV 1.0 board"
265 PNAV 1.0 board Support.
269 depends on (BF537 || BF536 \
270 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
272 GENERIC or Custom board Support.
276 config MEM_GENERIC_BOARD
278 depends on GENERIC_BOARD
281 config MEM_MT48LC64M4A2FB_7E
283 depends on (BFIN533_STAMP)
286 config MEM_MT48LC16M16A2TG_75
288 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
289 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
292 config MEM_MT48LC32M8A2_75
294 depends on (BFIN537_STAMP || PNAV10)
297 config MEM_MT48LC8M32B2B5_7
299 depends on (BFIN561_BLUETECHNIX_CM)
302 config BFIN_SHARED_FLASH_ENET
304 depends on (BFIN533_STAMP)
307 source "arch/blackfin/mach-bf533/Kconfig"
308 source "arch/blackfin/mach-bf561/Kconfig"
309 source "arch/blackfin/mach-bf537/Kconfig"
310 source "arch/blackfin/mach-bf548/Kconfig"
312 menu "Board customizations"
315 bool "Default bootloader kernel arguments"
318 string "Initial kernel command string"
319 depends on CMDLINE_BOOL
320 default "console=ttyBF0,57600"
322 If you don't have a boot loader capable of passing a command line string
323 to the kernel, you may specify one here. As a minimum, you should specify
324 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
326 comment "Board Setup"
329 int "Crystal Frequency in Hz"
330 default "11059200" if BFIN533_STAMP
331 default "27000000" if BFIN533_EZKIT
332 default "25000000" if BFIN537_STAMP
333 default "30000000" if BFIN561_EZKIT
334 default "24576000" if PNAV10
336 The frequency of CLKIN crystal oscillator on the board in Hz.
339 int "SDRAM Memory Size in MBytes"
340 default 32 if BFIN533_EZKIT
341 default 64 if BFIN537_STAMP
342 default 64 if BFIN561_EZKIT
343 default 128 if BFIN533_STAMP
347 int "SDRAM Memory Address Width"
348 default 9 if BFIN533_EZKIT
349 default 9 if BFIN561_EZKIT
350 default 10 if BFIN537_STAMP
351 default 11 if BFIN533_STAMP
354 config ENET_FLASH_PIN
355 int "PF port/pin used for flash and ethernet sharing"
356 depends on (BFIN533_STAMP)
359 PF port/pin used for flash and ethernet sharing to allow other PF
360 pins to be used on other platforms without having to touch common
362 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
365 hex "Kernel load address for booting"
368 This option allows you to set the load address of the kernel.
369 This can be useful if you are on a board which has a small amount
370 of memory or you wish to reserve some memory at the beginning of
373 Note that you generally want to keep this value at or above 4k
374 (0x1000) as this will allow the kernel to capture NULL pointer
377 comment "LED Status Indicators"
378 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
380 config BFIN_ALIVE_LED
381 bool "Enable Board Alive"
382 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
385 Blink the LEDs you select when the kernel is running. Helps detect
388 config BFIN_ALIVE_LED_NUM
390 depends on BFIN_ALIVE_LED
391 range 1 3 if BFIN533_STAMP
392 default "3" if BFIN533_STAMP
394 Select the LED (marked on the board) for you to blink.
397 bool "Enable System Load/Idle LED"
398 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
401 Blinks the LED you select when to determine kernel load.
403 config BFIN_IDLE_LED_NUM
405 depends on BFIN_IDLE_LED
406 range 1 3 if BFIN533_STAMP
407 default "2" if BFIN533_STAMP
409 Select the LED (marked on the board) for you to blink.
412 # Sorry - but you need to put the hex address here -
416 config BFIN_ALIVE_LED_PORT
418 default 0xFFC00700 if (BFIN533_STAMP)
420 # Peripheral Flag Direction Register
421 config BFIN_ALIVE_LED_DPORT
423 default 0xFFC00730 if (BFIN533_STAMP)
425 config BFIN_ALIVE_LED_PIN
427 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
428 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
429 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
431 config BFIN_IDLE_LED_PORT
433 default 0xFFC00700 if (BFIN533_STAMP)
435 # Peripheral Flag Direction Register
436 config BFIN_IDLE_LED_DPORT
438 default 0xFFC00730 if (BFIN533_STAMP)
440 config BFIN_IDLE_LED_PIN
442 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
443 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
444 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
449 menu "Blackfin Kernel Optimizations"
453 source kernel/Kconfig.hz
455 comment "Memory Optimizations"
458 bool "Locate interrupt entry code in L1 Memory"
461 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
462 into L1 instruction memory.(less latency)
464 config EXCPT_IRQ_SYSC_L1
465 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
468 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
469 into L1 instruction memory.(less latency)
472 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
475 If enabled frequently called do_irq dispatcher function is linked
476 into L1 instruction memory.(less latency)
478 config CORE_TIMER_IRQ_L1
479 bool "Locate frequently called timer_interrupt() function in L1 Memory"
482 If enabled frequently called timer_interrupt() function is linked
483 into L1 instruction memory.(less latency)
486 bool "Locate frequently idle function in L1 Memory"
489 If enabled frequently called idle function is linked
490 into L1 instruction memory.(less latency)
493 bool "Locate kernel schedule function in L1 Memory"
496 If enabled frequently called kernel schedule is linked
497 into L1 instruction memory.(less latency)
499 config ARITHMETIC_OPS_L1
500 bool "Locate kernel owned arithmetic functions in L1 Memory"
503 If enabled arithmetic functions are linked
504 into L1 instruction memory.(less latency)
507 bool "Locate access_ok function in L1 Memory"
510 If enabled access_ok function is linked
511 into L1 instruction memory.(less latency)
514 bool "Locate memset function in L1 Memory"
517 If enabled memset function is linked
518 into L1 instruction memory.(less latency)
521 bool "Locate memcpy function in L1 Memory"
524 If enabled memcpy function is linked
525 into L1 instruction memory.(less latency)
527 config SYS_BFIN_SPINLOCK_L1
528 bool "Locate sys_bfin_spinlock function in L1 Memory"
531 If enabled sys_bfin_spinlock function is linked
532 into L1 instruction memory.(less latency)
534 config IP_CHECKSUM_L1
535 bool "Locate IP Checksum function in L1 Memory"
538 If enabled IP Checksum function is linked
539 into L1 instruction memory.(less latency)
541 config CACHELINE_ALIGNED_L1
542 bool "Locate cacheline_aligned data to L1 Data Memory"
547 If enabled cacheline_anligned data is linked
548 into L1 data memory.(less latency)
550 config SYSCALL_TAB_L1
551 bool "Locate Syscall Table L1 Data Memory"
555 If enabled the Syscall LUT is linked
556 into L1 data memory.(less latency)
558 config CPLB_SWITCH_TAB_L1
559 bool "Locate CPLB Switch Tables L1 Data Memory"
563 If enabled the CPLB Switch Tables are linked
564 into L1 data memory.(less latency)
570 prompt "Kernel executes from"
572 Choose the memory type that the kernel will be running in.
577 The kernel will be resident in RAM when running.
582 The kernel will be resident in FLASH/ROM when running.
589 bool "Enable DMA Support"
590 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561 || BF54x)
593 DMA driver for BF5xx.
596 prompt "Uncached SDRAM region"
597 default DMA_UNCACHED_1M
599 config DMA_UNCACHED_2M
600 bool "Enable 2M DMA region"
601 config DMA_UNCACHED_1M
602 bool "Enable 1M DMA region"
603 config DMA_UNCACHED_NONE
604 bool "Disable DMA region"
608 comment "Cache Support"
613 config BLKFIN_DCACHE_BANKA
614 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
615 depends on BLKFIN_DCACHE && !BF531
617 config BLKFIN_CACHE_LOCK
618 bool "Enable Cache Locking"
622 depends on BLKFIN_DCACHE
628 Cached data will be written back to SDRAM only when needed.
629 This can give a nice increase in performance, but beware of
630 broken drivers that do not properly invalidate/flush their
633 Write Through Policy:
634 Cached data will always be written back to SDRAM when the
635 cache is updated. This is a completely safe setting, but
636 performance is worse than Write Back.
638 If you are unsure of the options and you want to be safe,
639 then go with Write Through.
645 Cached data will be written back to SDRAM only when needed.
646 This can give a nice increase in performance, but beware of
647 broken drivers that do not properly invalidate/flush their
650 Write Through Policy:
651 Cached data will always be written back to SDRAM when the
652 cache is updated. This is a completely safe setting, but
653 performance is worse than Write Back.
655 If you are unsure of the options and you want to be safe,
656 then go with Write Through.
661 int "Set the max L1 SRAM pieces"
664 Set the max memory pieces for the L1 SRAM allocation algorithm.
665 Min value is 16. Max value is 1024.
667 menu "Clock Settings"
670 config BFIN_KERNEL_CLOCK
671 bool "Re-program Clocks while Kernel boots?"
674 This option decides if kernel clocks are re-programed from the
675 bootloader settings. If the clocks are not set, the SDRAM settings
676 are also not changed, and the Bootloader does 100% of the hardware
681 depends on BFIN_KERNEL_CLOCK
682 default "22" if BFIN533_EZKIT
683 default "45" if BFIN533_STAMP
684 default "20" if BFIN537_STAMP
685 default "22" if BFIN533_BLUETECHNIX_CM
686 default "20" if BFIN537_BLUETECHNIX_CM
687 default "20" if BFIN561_BLUETECHNIX_CM
688 default "20" if BFIN561_EZKIT
691 int "Core Clock Divider"
692 depends on BFIN_KERNEL_CLOCK
693 default 1 if BFIN533_EZKIT
694 default 1 if BFIN533_STAMP
695 default 1 if BFIN537_STAMP
696 default 1 if BFIN533_BLUETECHNIX_CM
697 default 1 if BFIN537_BLUETECHNIX_CM
698 default 1 if BFIN561_BLUETECHNIX_CM
699 default 1 if BFIN561_EZKIT
702 int "System Clock Divider"
703 depends on BFIN_KERNEL_CLOCK
704 default 5 if BFIN533_EZKIT
705 default 5 if BFIN533_STAMP
706 default 4 if BFIN537_STAMP
707 default 5 if BFIN533_BLUETECHNIX_CM
708 default 4 if BFIN537_BLUETECHNIX_CM
709 default 4 if BFIN561_BLUETECHNIX_CM
710 default 5 if BFIN561_EZKIT
714 depends on BFIN_KERNEL_CLOCK
719 depends on BFIN_KERNEL_CLOCK
724 comment "Asynchonous Memory Configuration"
726 menu "EBIU_AMBCTL Global Control"
732 bool "DMA has priority over core for ext. accesses"
738 bool "Bank 0 16 bit packing enable"
743 bool "Bank 1 16 bit packing enable"
748 bool "Bank 2 16 bit packing enable"
753 bool "Bank 3 16 bit packing enable"
757 prompt"Enable Asynchonous Memory Banks"
761 bool "Disable All Banks"
767 bool "Enable Bank 0 & 1"
769 config C_AMBEN_B0_B1_B2
770 bool "Enable Bank 0 & 1 & 2"
773 bool "Enable All Banks"
777 menu "EBIU_AMBCTL Control"
797 #############################################################################
798 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
805 source "drivers/pci/Kconfig"
808 bool "Support for hot-pluggable device"
810 Say Y here if you want to plug devices into your computer while
811 the system is running, and be able to use them quickly. In many
812 cases, the devices can likewise be unplugged at any time too.
814 One well known example of this is PCMCIA- or PC-cards, credit-card
815 size devices such as network cards, modems or hard drives which are
816 plugged into slots found on all modern laptop computers. Another
817 example, used on modern desktops as well as laptops, is USB.
819 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
820 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
821 Then your kernel will automatically call out to a user mode "policy
822 agent" (/sbin/hotplug) to load modules and set up software needed
823 to use devices as you hotplug them.
825 source "drivers/pcmcia/Kconfig"
827 source "drivers/pci/hotplug/Kconfig"
831 menu "Executable file formats"
833 source "fs/Kconfig.binfmt"
837 menu "Power management options"
838 source "kernel/power/Kconfig"
841 prompt "Select PM Wakeup Event Source"
842 default PM_WAKEUP_GPIO_BY_SIC_IWR
845 If you have a GPIO already configured as input with the corresponding PORTx_MASK
846 bit set - "Specify Wakeup Event by SIC_IWR value"
848 config PM_WAKEUP_GPIO_BY_SIC_IWR
849 bool "Specify Wakeup Event by SIC_IWR value"
850 config PM_WAKEUP_BY_GPIO
851 bool "Cause Wakeup Event by GPIO"
852 config PM_WAKEUP_GPIO_API
853 bool "Configure Wakeup Event by PM GPIO API"
857 config PM_WAKEUP_SIC_IWR
858 hex "Wakeup Events (SIC_IWR)"
859 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
860 default 0x80000000 if (BF537 || BF536 || BF534)
861 default 0x100000 if (BF533 || BF532 || BF531)
863 config PM_WAKEUP_GPIO_NUMBER
864 int "Wakeup GPIO number"
866 depends on PM_WAKEUP_BY_GPIO
867 default 2 if BFIN537_STAMP
870 prompt "GPIO Polarity"
871 depends on PM_WAKEUP_BY_GPIO
872 default PM_WAKEUP_GPIO_POLAR_H
873 config PM_WAKEUP_GPIO_POLAR_H
875 config PM_WAKEUP_GPIO_POLAR_L
877 config PM_WAKEUP_GPIO_POLAR_EDGE_F
879 config PM_WAKEUP_GPIO_POLAR_EDGE_R
881 config PM_WAKEUP_GPIO_POLAR_EDGE_B
887 if (BF537 || BF533 || BF54x)
889 menu "CPU Frequency scaling"
891 source "drivers/cpufreq/Kconfig"
897 If you want to enable this option, you should select the
898 DPMC driver from Character Devices.
905 source "drivers/Kconfig"
909 source "arch/blackfin/oprofile/Kconfig"
911 menu "Kernel hacking"
913 source "lib/Kconfig.debug"
916 bool "Hardware error interrupt debugging"
917 depends on DEBUG_KERNEL
919 When enabled, the hardware error interrupt is never disabled, and
920 will happen immediately when an error condition occurs. This comes
921 at a slight cost in code size, but is necessary if you are getting
922 hardware error interrupts and need to know where they are coming
925 config DEBUG_ICACHE_CHECK
926 bool "Check Instruction cache coherancy"
927 depends on DEBUG_KERNEL
928 depends on DEBUG_HWERR
930 Say Y here if you are getting wierd unexplained errors. This will
931 ensure that icache is what SDRAM says it should be, by doing a
932 byte wise comparision between SDRAM and instruction cache. This
933 also relocates the irq_panic() function to L1 memory, (which is
936 config DEBUG_KERNEL_START
937 bool "Debug Kernel Startup"
938 depends on DEBUG_KERNEL
940 Say Y here to put in an mini-execption handler before the kernel
941 replaces the bootloader exception handler. This will stop kernels
942 from dieing at startup with no visible error messages.
944 config DEBUG_SERIAL_EARLY_INIT
945 bool "Initialize serial driver early"
947 depends on SERIAL_BFIN
949 Say Y here if you want to get kernel output early when kernel
950 crashes before the normal console initialization. If this option
951 is enable, console output will always go to the ttyBF0, no matter
952 what kernel boot paramters you set.
954 config DEBUG_HUNT_FOR_ZERO
955 bool "Catch NULL pointer reads/writes"
958 Say Y here to catch reads/writes to anywhere in the memory range
959 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
960 catching common programming errors such as NULL pointer dereferences.
962 Misbehaving applications will be killed (generate a SEGV) while the
963 kernel will trigger a panic.
965 Enabling this option will take up an extra entry in CPLB table.
966 Otherwise, there is no extra overhead.
968 config DEBUG_BFIN_NO_KERN_HWTRACE
969 bool "Trace user apps (turn off hwtrace in kernel)"
972 Some pieces of the kernel contain a lot of flow changes which can
973 quickly fill up the hardware trace buffer. When debugging crashes,
974 the hardware trace may indicate that the problem lies in kernel
975 space when in reality an application is buggy.
977 Say Y here to disable hardware tracing in some known "jumpy" pieces
978 of code so that the trace buffer will extend further back.
980 config DUAL_CORE_TEST_MODULE
981 tristate "Dual Core Test Module"
985 Say Y here to build-in dual core test module for dual core test.
988 bool "Display the CPLB information"
990 Display the CPLB information.
993 bool "Check the user pointer address"
996 Usually the pointer transfer from user space is checked to see if its
997 address is in the kernel space.
999 Say N here to disable that check to improve the performance.
1003 source "security/Kconfig"
1005 source "crypto/Kconfig"
1007 source "lib/Kconfig"