Blackfin support:
authorKoen Kooi <koen@openembedded.org>
Mon, 11 Jun 2007 12:51:28 +0000 (12:51 +0000)
committerKoen Kooi <koen@openembedded.org>
Mon, 11 Jun 2007 12:51:28 +0000 (12:51 +0000)
* siteinfo.bbclass, bfin-common: autofoo support
* kernel-arch.bbclass, linux-libc-headers_2.6.20.bb: bfin -> blackfin mapping for the kernel
* insane.bbclass: stubs for bfin arch, needs proper number, but that will get reported when it encounters the first binary
* uclibc: config for adsp-bf537-stamp machine
* adsp-bf537-stamp.conf: machine description for adsp-bf537-stamp board (http://www.analog.com/en/prod/0%2C2877%2CBF537%25252DSTAMP%2C00.html)
The build currently stops in binutils cross with the "ld not supported on this archicture" message

classes/insane.bbclass
classes/kernel-arch.bbclass
classes/siteinfo.bbclass
conf/machine/adsp-bf537-stamp.conf [new file with mode: 0644]
packages/linux-libc-headers/linux-libc-headers_2.6.20.bb
packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty [new file with mode: 0644]
packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine [new file with mode: 0644]
site/bfin-common [new file with mode: 0644]

index e6f4f14..d983af3 100644 (file)
@@ -58,7 +58,8 @@ def package_qa_get_machine_dict():
                         "armeb":      (  40,    97,    0,          False,         True),
                         "powerpc":    (  20,     0,    0,          False,         True),
                         "mipsel":     (   8,     0,    0,          True,          True),
-                       "avr32":      (6317,     0,    0,          False,         True), 
+                       "avr32":      (6317,     0,    0,          False,         True),
+                        "bfin":       (   0,     0,    0,          True,         True), 
                       },
             "linux-gnueabi" : {
                         "arm" :       (40,     0,    0,          True,          True),
index 3804cd7..9208c35 100644 (file)
@@ -12,7 +12,7 @@ valid_archs = "alpha cris ia64 \
                m32r mips \
               sh sh64 um h8300   \
               parisc s390  v850 \
-              avr32"
+              avr32 blackfin"
 
 def map_kernel_arch(a, d):
        import bb, re
@@ -24,7 +24,8 @@ def map_kernel_arch(a, d):
        elif re.match('armeb$', a):             return 'arm'
        elif re.match('mipsel$', a):            return 'mips'
        elif re.match('sh(3|4)$', a):           return 'sh'
-       elif a in valid_archs:                  return a
+       elif re.match('bfin', a):               return 'blackfin'
+        elif a in valid_archs:                 return a
        else:
                bb.error("cannot map '%s' to a linux kernel architecture" % a)
 
index 43a9b55..db1dbf1 100644 (file)
@@ -29,8 +29,9 @@ def get_siteinfo_list(d):
                "arm-linux-gnueabi":       "endian-little bit-32 common-glibc arm-common arm-linux",\
                "arm-linux-uclibc":        "endian-little bit-32 common-uclibc arm-common",\
                "arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
-               "avr32-linux":             "endian-big bit-32 common-glibc",\ 
-               "avr32-linux-uclibc":      "endian-big bit-32 common-uclibc",\
+               "avr32-linux":             "endian-big bit-32 common-glibc avr32-common",\ 
+               "avr32-linux-uclibc":      "endian-big bit-32 common-uclibc avr32-common",\
+               "bfin-linux-uclibc":       "endian-little bit-32 common-uclibc bfin-common",\
                "i386-linux":              "endian-little bit-32 common-glibc ix86-common",\
                "i486-linux":              "endian-little bit-32 common-glibc ix86-common",\
                "i586-linux":              "endian-little bit-32 common-glibc ix86-common",\
diff --git a/conf/machine/adsp-bf537-stamp.conf b/conf/machine/adsp-bf537-stamp.conf
new file mode 100644 (file)
index 0000000..2a8fd64
--- /dev/null
@@ -0,0 +1,18 @@
+#@TYPE: Machine
+#@Name: Analog Devices blackfin platfrom
+#@DESCRIPTION: ADSP-BF537 STAMP Board
+
+
+TARGET_ARCH = "bfin"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
+#don't try to access tty1
+USE_VT = "0"
+
+MACHINE_FEATURES = "kernel26 alsa ext2 usbhost usbgadget screen"
+
+# used by sysvinit_2
+SERIAL_CONSOLE = "115200"
+
index 5bad9fe..8145a80 100644 (file)
@@ -26,6 +26,7 @@ set_arch() {
                sparc*)   ARCH=sparc ;;
                x86_64*)  ARCH=x86_64 ;;
                avr32*)   ARCH=avr32 ;;
+                bfin*)    ARCH=blackfin ;;
        esac
 }
 
diff --git a/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty b/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine b/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine
new file mode 100644 (file)
index 0000000..ed5e1bf
--- /dev/null
@@ -0,0 +1,57 @@
+#
+# Automatically generated make config: don't edit
+# Mon Jun 11 14:03:30 2007
+#
+# TARGET_alpha is not set
+# TARGET_arm is not set
+TARGET_bfin=y
+# TARGET_cris is not set
+# TARGET_e1 is not set
+# TARGET_frv is not set
+# TARGET_h8300 is not set
+# TARGET_hppa is not set
+# TARGET_i386 is not set
+# TARGET_i960 is not set
+# TARGET_ia64 is not set
+# TARGET_m68k is not set
+# TARGET_microblaze is not set
+# TARGET_mips is not set
+# TARGET_nios is not set
+# TARGET_nios2 is not set
+# TARGET_powerpc is not set
+# TARGET_sh is not set
+# TARGET_sh64 is not set
+# TARGET_sparc is not set
+# TARGET_v850 is not set
+# TARGET_vax is not set
+# TARGET_x86_64 is not set
+
+#
+# Target Architecture Features and Options
+#
+TARGET_ARCH="bfin"
+FORCE_OPTIONS_FOR_ARCH=y
+TARGET_SUBARCH=""
+# UCLIBC_FORMAT_ELF is not set
+UCLIBC_FORMAT_FDPIC_ELF=y
+# UCLIBC_FORMAT_FLAT is not set
+# UCLIBC_FORMAT_FLAT_SEP_DATA is not set
+# UCLIBC_FORMAT_SHARED_FLAT is not set
+ARCH_LITTLE_ENDIAN=y
+
+#
+# Using Little Endian
+#
+ARCH_HAS_NO_MMU=y
+
+#
+# Target CPU lacks a memory management unit (MMU)
+#
+UCLIBC_HAS_FLOATS=y
+UCLIBC_HAS_FPU=y
+DO_C99_MATH=y
+KERNEL_HEADERS="/usr/include"
+UCLIBC_UCLINUX_BROKEN_MUNMAP=y
+EXCLUDE_BRK=y
+HAVE_DOT_CONFIG=y
+
diff --git a/site/bfin-common b/site/bfin-common
new file mode 100644 (file)
index 0000000..e69de29