diff options
author | Koen Kooi <koen@openembedded.org> | 2007-06-11 12:51:28 +0000 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2007-06-11 12:51:28 +0000 |
commit | ef828c09c96cdc47f0b6901f2ee83cdb4bbcc8ec (patch) | |
tree | 4951178ef7a32bd5fbf984230aef2fd5cd22f5e7 | |
parent | 55c9ddab073ec7a7e404053861dd479f260688db (diff) |
Blackfin support:
* 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
-rw-r--r-- | classes/insane.bbclass | 3 | ||||
-rw-r--r-- | classes/kernel-arch.bbclass | 5 | ||||
-rw-r--r-- | classes/siteinfo.bbclass | 5 | ||||
-rw-r--r-- | conf/machine/adsp-bf537-stamp.conf | 18 | ||||
-rw-r--r-- | packages/linux-libc-headers/linux-libc-headers_2.6.20.bb | 1 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine | 57 | ||||
-rw-r--r-- | site/bfin-common | 0 |
8 files changed, 84 insertions, 5 deletions
diff --git a/classes/insane.bbclass b/classes/insane.bbclass index e6f4f1440d..d983af3f9f 100644 --- a/classes/insane.bbclass +++ b/classes/insane.bbclass @@ -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), diff --git a/classes/kernel-arch.bbclass b/classes/kernel-arch.bbclass index 3804cd71b8..9208c3507a 100644 --- a/classes/kernel-arch.bbclass +++ b/classes/kernel-arch.bbclass @@ -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) diff --git a/classes/siteinfo.bbclass b/classes/siteinfo.bbclass index 43a9b55b28..db1dbf19b4 100644 --- a/classes/siteinfo.bbclass +++ b/classes/siteinfo.bbclass @@ -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 index 0000000000..2a8fd640e7 --- /dev/null +++ b/conf/machine/adsp-bf537-stamp.conf @@ -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" + diff --git a/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb b/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb index 5bad9fedae..8145a80f8d 100644 --- a/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb +++ b/packages/linux-libc-headers/linux-libc-headers_2.6.20.bb @@ -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 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty 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 index 0000000000..ed5e1bf047 --- /dev/null +++ b/packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine @@ -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 index 0000000000..e69de29bb2 --- /dev/null +++ b/site/bfin-common |