summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2007-06-11 12:51:28 +0000
committerKoen Kooi <koen@openembedded.org>2007-06-11 12:51:28 +0000
commitef828c09c96cdc47f0b6901f2ee83cdb4bbcc8ec (patch)
tree4951178ef7a32bd5fbf984230aef2fd5cd22f5e7
parent55c9ddab073ec7a7e404053861dd479f260688db (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.bbclass3
-rw-r--r--classes/kernel-arch.bbclass5
-rw-r--r--classes/siteinfo.bbclass5
-rw-r--r--conf/machine/adsp-bf537-stamp.conf18
-rw-r--r--packages/linux-libc-headers/linux-libc-headers_2.6.20.bb1
-rw-r--r--packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/.mtn2git_empty0
-rw-r--r--packages/uclibc/uclibc-0.9.29/adsp-bf537-stamp/uClibc.machine57
-rw-r--r--site/bfin-common0
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