initial support for Blackfin processors
authorMike Frysinger <vapier@gentoo.org>
Mon, 7 Feb 2011 05:49:11 +0000 (00:49 -0500)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 7 Feb 2011 13:29:19 +0000 (14:29 +0100)
[Peter: don't allow MMU on bfin]
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Makefile
boot/u-boot/Config.in
boot/u-boot/u-boot.mk
linux/Config.in
linux/linux.mk
target/Config.in.arch
toolchain/toolchain-common.in

index 914d2ed3672b4134390782d5b6339ffabc4f43ac..be4c0789e93de03ff166d528ff2202b68694c694 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -263,6 +263,7 @@ endif
 KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
        -e s/i.86/i386/ -e s/sun4u/sparc64/ \
        -e s/arm.*/arm/ -e s/sa110/arm/ \
+       -e s/bfin/blackfin/ \
        -e s/parisc64/parisc/ \
        -e s/powerpc64/powerpc/ \
        -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
index 60aeb1a91213f88fd1ee30e9c6bd89a842ed32c7..78c03ffb8d14d9293c9f6468fa7baec2af235881 100644 (file)
@@ -75,6 +75,10 @@ config BR2_TARGET_UBOOT_FORMAT_KWB
        depends on BR2_arm
        bool "u-boot.kwb (Marvell)"
 
+config BR2_TARGET_UBOOT_FORMAT_LDR
+       depends on BR2_bfin
+       bool "u-boot.ldr"
+
 endchoice
 
 config BR2_TARGET_UBOOT_TOOL_MKIMAGE
index 2f890fa33f7bb9c956cced95c66d466fda211f87..bd26f52f8aa3bb3011519bcf9b5f82342526f590 100644 (file)
@@ -31,6 +31,8 @@ U_BOOT_CAT:=$(BZCAT)
 ifeq ($(BR2_TARGET_UBOOT_FORMAT_KWB),y)
 U_BOOT_BIN:=u-boot.kwb
 U_BOOT_MAKE_OPT:=$(U_BOOT_BIN)
+else ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y)
+U_BOOT_BIN:=u-boot.ldr
 else
 U_BOOT_BIN:=u-boot.bin
 endif
index 17aa29aa751e77ebe385acafb354a1a977bb6f53..bdb1abe94f992e59ccfc1c5b783044f11aacd6ce 100644 (file)
@@ -115,7 +115,7 @@ choice
 
 config BR2_LINUX_KERNEL_UIMAGE
        bool "uImage"
-       depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
+       depends on BR2_arm || BR2_armeb || BR2_bfin || BR2_powerpc || BR2_avr32 || BR2_sh || BR2_sh64
 
 config BR2_LINUX_KERNEL_BZIMAGE
        bool "bzImage"
index 2bc2efe1631d9051a7ab6dcd505bcf242b420911..9076fb917d16cefec91eaaca001061ae9e6c71e0 100644 (file)
@@ -31,7 +31,12 @@ LINUX26_MAKE_FLAGS = \
 LINUX26_VERSION_PROBED = $(shell $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) --no-print-directory -s kernelrelease)
 
 ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y)
+ifeq ($(KERNEL_ARCH),blackfin)
+# a uImage, but with a different file name
+LINUX26_IMAGE_NAME=vmImage
+else
 LINUX26_IMAGE_NAME=uImage
+endif
 LINUX26_DEPENDENCIES+=$(MKIMAGE)
 else ifeq ($(BR2_LINUX_KERNEL_BZIMAGE),y)
 LINUX26_IMAGE_NAME=bzImage
index 0774d559c110cb35b49ed3d72aae0c4b10572cf5..7c80945f5cbcb570a4ccbbb7b200ace98339c1b0 100644 (file)
@@ -14,6 +14,8 @@ config BR2_armeb
 config BR2_avr32
        bool "avr32"
        select BR2_SOFT_FLOAT
+config BR2_bfin
+       bool "bfin"
 config BR2_i386
        bool "i386"
 config BR2_m68k
@@ -127,6 +129,20 @@ config BR2_ARM_OABI
        bool "OABI"
 endchoice
 
+choice
+       prompt "Target ABI"
+       depends on BR2_bfin
+       default BR2_BFIN_FLAT
+config BR2_BFIN_FDPIC
+       bool "FDPIC"
+config BR2_BFIN_FLAT
+       bool "FLAT"
+config BR2_BFIN_FLAT_SEP_DATA
+       bool "FLAT (Separate data)"
+config BR2_BFIN_SHARED_FLAT
+       bool "Shared FLAT"
+endchoice
+
 choice
        prompt "Target Architecture Variant"
        depends on BR2_mips || BR2_mipsel
@@ -444,6 +460,7 @@ config BR2_ARCH
        default "arm"           if BR2_arm
        default "armeb"         if BR2_armeb
        default "avr32"         if BR2_avr32
+       default "bfin"          if BR2_bfin
        default "i386"          if BR2_x86_i386
        default "i486"          if BR2_x86_i486
        default "i586"          if BR2_x86_i586
@@ -485,7 +502,7 @@ config BR2_ARCH
 
 config BR2_ENDIAN
        string
-       default "LITTLE" if BR2_arm || BR2_i386 || BR2_mipsel || \
+       default "LITTLE" if BR2_arm || BR2_bfin || BR2_i386 || BR2_mipsel || \
                            BR2_sh3 || BR2_sh4 || BR2_x86_64 || BR2_sh64
        default "BIG"    if BR2_armeb || BR2_avr32 || BR2_m68k || BR2_mips || \
                            BR2_powerpc || BR2_sh2a_nofpueb || BR2_sh2eb || \
index eb3628ac1dcdb90565a8085b3ffbc9279316e168..a641785e64f63899d7732a37714dcec2de8b7ef1 100644 (file)
@@ -68,7 +68,7 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
 
 config BR2_USE_MMU
        bool "Enable MMU support" if BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_sh || BR2_xtensa
-       default y
+       default y if !BR2_bfin
        help
          If your target has a MMU, you should say Y here.  If you
          are unsure, just say Y.