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
77 source "kernel/Kconfig.preempt"
79 menu "Blackfin Processor Options"
81 comment "Processor and Board Settings"
90 BF531 Processor Support.
95 BF532 Processor Support.
100 BF533 Processor Support.
105 BF534 Processor Support.
110 BF536 Processor Support.
115 BF537 Processor Support.
120 Not Supported Yet - Work in progress - BF561 Processor Support.
126 default BF_REV_0_2 if BF537
127 default BF_REV_0_3 if BF533
131 depends on (BF537 || BF536 || BF534)
135 depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
139 depends on (BF561 || BF533 || BF532 || BF531)
143 depends on (BF561 || BF533 || BF532 || BF531)
147 config BFIN_DUAL_CORE
152 config BFIN_SINGLE_CORE
154 depends on !BFIN_DUAL_CORE
159 default BFIN533_STAMP
161 Do NOT change the board here. Please use the top level
162 configuration to ensure that all the other settings are
167 depends on (BF533 || BF532 || BF531)
169 BF533-EZKIT-LITE board Support.
173 depends on (BF533 || BF532 || BF531)
175 BF533-STAMP board Support.
179 depends on (BF537 || BF536 || BF534)
181 BF537-STAMP board Support.
183 config BFIN533_BLUETECHNIX_CM
184 bool "Bluetechnix CM-BF533"
187 CM-BF533 support for EVAL- and DEV-Board.
189 config BFIN537_BLUETECHNIX_CM
190 bool "Bluetechnix CM-BF537"
193 CM-BF537 support for EVAL- and DEV-Board.
195 config BFIN561_BLUETECHNIX_CM
196 bool "Bluetechnix CM-BF561"
199 CM-BF561 support for EVAL- and DEV-Board.
205 BF561-EZKIT-LITE board Support.
211 BF561-TEPLA board Support.
214 bool "PNAV 1.0 board"
217 PNAV 1.0 board Support.
221 depends on (BF537 || BF536 \
222 || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
224 GENERIC or Custom board Support.
228 config MEM_GENERIC_BOARD
230 depends on GENERIC_BOARD
233 config MEM_MT48LC64M4A2FB_7E
235 depends on (BFIN533_STAMP)
238 config MEM_MT48LC16M16A2TG_75
240 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
241 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
244 config MEM_MT48LC32M8A2_75
246 depends on (BFIN537_STAMP || PNAV10)
249 config MEM_MT48LC8M32B2B5_7
251 depends on (BFIN561_BLUETECHNIX_CM)
254 config BFIN_SHARED_FLASH_ENET
256 depends on (BFIN533_STAMP)
259 source "arch/blackfin/mach-bf533/Kconfig"
260 source "arch/blackfin/mach-bf561/Kconfig"
261 source "arch/blackfin/mach-bf537/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 "Board 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
284 default "30000000" if BFIN561_EZKIT
285 default "24576000" if PNAV10
287 The frequency of CLKIN crystal oscillator on the board in Hz.
290 int "SDRAM Memory Size in MBytes"
291 default 32 if BFIN533_EZKIT
292 default 64 if BFIN537_STAMP
293 default 64 if BFIN561_EZKIT
294 default 128 if BFIN533_STAMP
298 int "SDRAM Memory Address Width"
299 default 9 if BFIN533_EZKIT
300 default 9 if BFIN561_EZKIT
301 default 10 if BFIN537_STAMP
302 default 11 if BFIN533_STAMP
305 config ENET_FLASH_PIN
306 int "PF port/pin used for flash and ethernet sharing"
307 depends on (BFIN533_STAMP)
310 PF port/pin used for flash and ethernet sharing to allow other PF
311 pins to be used on other platforms without having to touch common
313 For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
316 hex "Kernel load address for booting"
319 This option allows you to set the load address of the kernel.
320 This can be useful if you are on a board which has a small amount
321 of memory or you wish to reserve some memory at the beginning of
324 Note that you generally want to keep this value at or above 4k
325 (0x1000) as this will allow the kernel to capture NULL pointer
328 comment "LED Status Indicators"
329 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
331 config BFIN_ALIVE_LED
332 bool "Enable Board Alive"
333 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
336 Blink the LEDs you select when the kernel is running. Helps detect
339 config BFIN_ALIVE_LED_NUM
341 depends on BFIN_ALIVE_LED
342 range 1 3 if BFIN533_STAMP
343 default "3" if BFIN533_STAMP
345 Select the LED (marked on the board) for you to blink.
348 bool "Enable System Load/Idle LED"
349 depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
352 Blinks the LED you select when to determine kernel load.
354 config BFIN_IDLE_LED_NUM
356 depends on BFIN_IDLE_LED
357 range 1 3 if BFIN533_STAMP
358 default "2" if BFIN533_STAMP
360 Select the LED (marked on the board) for you to blink.
363 # Sorry - but you need to put the hex address here -
367 config BFIN_ALIVE_LED_PORT
369 default 0xFFC00700 if (BFIN533_STAMP)
371 # Peripheral Flag Direction Register
372 config BFIN_ALIVE_LED_DPORT
374 default 0xFFC00730 if (BFIN533_STAMP)
376 config BFIN_ALIVE_LED_PIN
378 default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
379 default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
380 default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
382 config BFIN_IDLE_LED_PORT
384 default 0xFFC00700 if (BFIN533_STAMP)
386 # Peripheral Flag Direction Register
387 config BFIN_IDLE_LED_DPORT
389 default 0xFFC00730 if (BFIN533_STAMP)
391 config BFIN_IDLE_LED_PIN
393 default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
394 default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
395 default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
397 comment "Console UART Setup"
416 default BAUD_NO_PARITY
417 config BAUD_NO_PARITY
425 default BAUD_1_STOPBIT
426 config BAUD_1_STOPBIT
428 config BAUD_2_STOPBIT
435 menu "Blackfin Kernel Optimizations"
439 source kernel/Kconfig.hz
441 comment "Memory Optimizations"
444 bool "Locate interrupt entry code in L1 Memory"
447 If enabled interrupt entry code (STORE/RESTORE CONTEXT) is linked
448 into L1 instruction memory.(less latency)
450 config EXCPT_IRQ_SYSC_L1
451 bool "Locate entire ASM lowlevel excepetion / interrupt - Syscall and CPLB handler code in L1 Memory"
454 If enabled entire ASM lowlevel exception and interrupt entry code (STORE/RESTORE CONTEXT) is linked
455 into L1 instruction memory.(less latency)
458 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
461 If enabled frequently called do_irq dispatcher function is linked
462 into L1 instruction memory.(less latency)
464 config CORE_TIMER_IRQ_L1
465 bool "Locate frequently called timer_interrupt() function in L1 Memory"
468 If enabled frequently called timer_interrupt() function is linked
469 into L1 instruction memory.(less latency)
472 bool "Locate frequently idle function in L1 Memory"
475 If enabled frequently called idle function is linked
476 into L1 instruction memory.(less latency)
479 bool "Locate kernel schedule function in L1 Memory"
482 If enabled frequently called kernel schedule is linked
483 into L1 instruction memory.(less latency)
485 config ARITHMETIC_OPS_L1
486 bool "Locate kernel owned arithmetic functions in L1 Memory"
489 If enabled arithmetic functions are linked
490 into L1 instruction memory.(less latency)
493 bool "Locate access_ok function in L1 Memory"
496 If enabled access_ok function is linked
497 into L1 instruction memory.(less latency)
500 bool "Locate memset function in L1 Memory"
503 If enabled memset function is linked
504 into L1 instruction memory.(less latency)
507 bool "Locate memcpy function in L1 Memory"
510 If enabled memcpy function is linked
511 into L1 instruction memory.(less latency)
513 config SYS_BFIN_SPINLOCK_L1
514 bool "Locate sys_bfin_spinlock function in L1 Memory"
517 If enabled sys_bfin_spinlock function is linked
518 into L1 instruction memory.(less latency)
520 config IP_CHECKSUM_L1
521 bool "Locate IP Checksum function in L1 Memory"
524 If enabled IP Checksum function is linked
525 into L1 instruction memory.(less latency)
527 config CACHELINE_ALIGNED_L1
528 bool "Locate cacheline_aligned data to L1 Data Memory"
532 If enabled cacheline_anligned data is linked
533 into L1 data memory.(less latency)
535 config SYSCALL_TAB_L1
536 bool "Locate Syscall Table L1 Data Memory"
540 If enabled the Syscall LUT is linked
541 into L1 data memory.(less latency)
543 config CPLB_SWITCH_TAB_L1
544 bool "Locate CPLB Switch Tables L1 Data Memory"
548 If enabled the CPLB Switch Tables are linked
549 into L1 data memory.(less latency)
555 prompt "Kernel executes from"
557 Choose the memory type that the kernel will be running in.
562 The kernel will be resident in RAM when running.
567 The kernel will be resident in FLASH/ROM when running.
574 bool "Enable DMA Support"
575 depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561)
578 DMA driver for BF5xx.
581 prompt "Uncached SDRAM region"
582 default DMA_UNCACHED_1M
584 config DMA_UNCACHED_2M
585 bool "Enable 2M DMA region"
586 config DMA_UNCACHED_1M
587 bool "Enable 1M DMA region"
588 config DMA_UNCACHED_NONE
589 bool "Disable DMA region"
593 comment "Cache Support"
598 config BLKFIN_DCACHE_BANKA
599 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
600 depends on BLKFIN_DCACHE && !BF531
602 config BLKFIN_CACHE_LOCK
603 bool "Enable Cache Locking"
607 depends on BLKFIN_DCACHE
613 Cached data will be written back to SDRAM only when needed.
614 This can give a nice increase in performance, but beware of
615 broken drivers that do not properly invalidate/flush their
618 Write Through Policy:
619 Cached data will always be written back to SDRAM when the
620 cache is updated. This is a completely safe setting, but
621 performance is worse than Write Back.
623 If you are unsure of the options and you want to be safe,
624 then go with Write Through.
630 Cached data will be written back to SDRAM only when needed.
631 This can give a nice increase in performance, but beware of
632 broken drivers that do not properly invalidate/flush their
635 Write Through Policy:
636 Cached data will always be written back to SDRAM when the
637 cache is updated. This is a completely safe setting, but
638 performance is worse than Write Back.
640 If you are unsure of the options and you want to be safe,
641 then go with Write Through.
646 int "Set the max L1 SRAM pieces"
649 Set the max memory pieces for the L1 SRAM allocation algorithm.
650 Min value is 16. Max value is 1024.
652 menu "Clock Settings"
655 config BFIN_KERNEL_CLOCK
656 bool "Re-program Clocks while Kernel boots?"
659 This option decides if kernel clocks are re-programed from the
660 bootloader settings. If the clocks are not set, the SDRAM settings
661 are also not changed, and the Bootloader does 100% of the hardware
666 depends on BFIN_KERNEL_CLOCK
667 default "22" if BFIN533_EZKIT
668 default "45" if BFIN533_STAMP
669 default "20" if BFIN537_STAMP
670 default "22" if BFIN533_BLUETECHNIX_CM
671 default "20" if BFIN537_BLUETECHNIX_CM
672 default "20" if BFIN561_BLUETECHNIX_CM
673 default "20" if BFIN561_EZKIT
676 int "Core Clock Divider"
677 depends on BFIN_KERNEL_CLOCK
678 default 1 if BFIN533_EZKIT
679 default 1 if BFIN533_STAMP
680 default 1 if BFIN537_STAMP
681 default 1 if BFIN533_BLUETECHNIX_CM
682 default 1 if BFIN537_BLUETECHNIX_CM
683 default 1 if BFIN561_BLUETECHNIX_CM
684 default 1 if BFIN561_EZKIT
687 int "System Clock Divider"
688 depends on BFIN_KERNEL_CLOCK
689 default 5 if BFIN533_EZKIT
690 default 5 if BFIN533_STAMP
691 default 4 if BFIN537_STAMP
692 default 5 if BFIN533_BLUETECHNIX_CM
693 default 4 if BFIN537_BLUETECHNIX_CM
694 default 4 if BFIN561_BLUETECHNIX_CM
695 default 5 if BFIN561_EZKIT
699 depends on BFIN_KERNEL_CLOCK
704 depends on BFIN_KERNEL_CLOCK
709 comment "Asynchonous Memory Configuration"
711 menu "EBIU_AMBCTL Global Control"
717 bool "DMA has priority over core for ext. accesses"
722 bool "Bank 0 16 bit packing enable"
727 bool "Bank 1 16 bit packing enable"
732 bool "Bank 2 16 bit packing enable"
737 bool "Bank 3 16 bit packing enable"
741 prompt"Enable Asynchonous Memory Banks"
745 bool "Disable All Banks"
751 bool "Enable Bank 0 & 1"
753 config C_AMBEN_B0_B1_B2
754 bool "Enable Bank 0 & 1 & 2"
757 bool "Enable All Banks"
761 menu "EBIU_AMBCTL Control"
781 #############################################################################
782 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
789 source "drivers/pci/Kconfig"
792 bool "Support for hot-pluggable device"
794 Say Y here if you want to plug devices into your computer while
795 the system is running, and be able to use them quickly. In many
796 cases, the devices can likewise be unplugged at any time too.
798 One well known example of this is PCMCIA- or PC-cards, credit-card
799 size devices such as network cards, modems or hard drives which are
800 plugged into slots found on all modern laptop computers. Another
801 example, used on modern desktops as well as laptops, is USB.
803 Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
804 software (at <http://linux-hotplug.sourceforge.net/>) and install it.
805 Then your kernel will automatically call out to a user mode "policy
806 agent" (/sbin/hotplug) to load modules and set up software needed
807 to use devices as you hotplug them.
809 source "drivers/pcmcia/Kconfig"
811 source "drivers/pci/hotplug/Kconfig"
815 menu "Executable file formats"
817 source "fs/Kconfig.binfmt"
821 menu "Power management options"
822 source "kernel/power/Kconfig"
825 prompt "Select PM Wakeup Event Source"
826 default PM_WAKEUP_GPIO_BY_SIC_IWR
829 If you have a GPIO already configured as input with the corresponding PORTx_MASK
830 bit set - "Specify Wakeup Event by SIC_IWR value"
832 config PM_WAKEUP_GPIO_BY_SIC_IWR
833 bool "Specify Wakeup Event by SIC_IWR value"
834 config PM_WAKEUP_BY_GPIO
835 bool "Cause Wakeup Event by GPIO"
836 config PM_WAKEUP_GPIO_API
837 bool "Configure Wakeup Event by PM GPIO API"
841 config PM_WAKEUP_SIC_IWR
842 hex "Wakeup Events (SIC_IWR)"
843 depends on PM_WAKEUP_GPIO_BY_SIC_IWR
844 default 0x80000000 if (BF537 || BF536 || BF534)
845 default 0x100000 if (BF533 || BF532 || BF531)
847 config PM_WAKEUP_GPIO_NUMBER
848 int "Wakeup GPIO number"
850 depends on PM_WAKEUP_BY_GPIO
851 default 2 if BFIN537_STAMP
854 prompt "GPIO Polarity"
855 depends on PM_WAKEUP_BY_GPIO
856 default PM_WAKEUP_GPIO_POLAR_H
857 config PM_WAKEUP_GPIO_POLAR_H
859 config PM_WAKEUP_GPIO_POLAR_L
861 config PM_WAKEUP_GPIO_POLAR_EDGE_F
863 config PM_WAKEUP_GPIO_POLAR_EDGE_R
865 config PM_WAKEUP_GPIO_POLAR_EDGE_B
873 menu "CPU Frequency scaling"
875 source "drivers/cpufreq/Kconfig"
881 If you want to enable this option, you should select the
882 DPMC driver from Character Devices.
889 source "drivers/Kconfig"
893 source "arch/blackfin/oprofile/Kconfig"
895 menu "Kernel hacking"
897 source "lib/Kconfig.debug"
900 bool "Hardware error interrupt debugging"
901 depends on DEBUG_KERNEL
903 When enabled, the hardware error interrupt is never disabled, and
904 will happen immediately when an error condition occurs. This comes
905 at a slight cost in code size, but is necessary if you are getting
906 hardware error interrupts and need to know where they are coming
909 config DEBUG_ICACHE_CHECK
910 bool "Check Instruction cache coherancy"
911 depends on DEBUG_KERNEL
912 depends on DEBUG_HWERR
914 Say Y here if you are getting wierd unexplained errors. This will
915 ensure that icache is what SDRAM says it should be, by doing a
916 byte wise comparision between SDRAM and instruction cache. This
917 also relocates the irq_panic() function to L1 memory, (which is
920 config DEBUG_KERNEL_START
921 bool "Debug Kernel Startup"
922 depends on DEBUG_KERNEL
924 Say Y here to put in an mini-execption handler before the kernel
925 replaces the bootloader exception handler. This will stop kernels
926 from dieing at startup with no visible error messages.
928 config DEBUG_SERIAL_EARLY_INIT
929 bool "Initialize serial driver early"
931 depends on SERIAL_BFIN
933 Say Y here if you want to get kernel output early when kernel
934 crashes before the normal console initialization. If this option
935 is enable, console output will always go to the ttyBF0, no matter
936 what kernel boot paramters you set.
938 config DEBUG_HUNT_FOR_ZERO
939 bool "Catch NULL pointer reads/writes"
942 Say Y here to catch reads/writes to anywhere in the memory range
943 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
944 catching common programming errors such as NULL pointer dereferences.
946 Misbehaving applications will be killed (generate a SEGV) while the
947 kernel will trigger a panic.
949 Enabling this option will take up an extra entry in CPLB table.
950 Otherwise, there is no extra overhead.
952 config DEBUG_BFIN_NO_KERN_HWTRACE
953 bool "Trace user apps (turn off hwtrace in kernel)"
956 Some pieces of the kernel contain a lot of flow changes which can
957 quickly fill up the hardware trace buffer. When debugging crashes,
958 the hardware trace may indicate that the problem lies in kernel
959 space when in reality an application is buggy.
961 Say Y here to disable hardware tracing in some known "jumpy" pieces
962 of code so that the trace buffer will extend further back.
964 config DUAL_CORE_TEST_MODULE
965 tristate "Dual Core Test Module"
969 Say Y here to build-in dual core test module for dual core test.
972 bool "Display the CPLB information"
974 Display the CPLB information.
977 bool "Check the user pointer address"
980 Usually the pointer transfer from user space is checked to see if its
981 address is in the kernel space.
983 Say N here to disable that check to improve the performance.
987 source "security/Kconfig"
989 source "crypto/Kconfig"