summaryrefslogtreecommitdiffstats
path: root/recipes-ti/c6accel
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-ti/c6accel')
-rw-r--r--recipes-ti/c6accel/ti-c6accel.inc94
-rw-r--r--recipes-ti/c6accel/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch26
-rw-r--r--recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch82
-rw-r--r--recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch81
-rw-r--r--recipes-ti/c6accel/ti-c6accel_1.01.00.03.bb14
5 files changed, 297 insertions, 0 deletions
diff --git a/recipes-ti/c6accel/ti-c6accel.inc b/recipes-ti/c6accel/ti-c6accel.inc
new file mode 100644
index 00000000..f76df938
--- /dev/null
+++ b/recipes-ti/c6accel/ti-c6accel.inc
@@ -0,0 +1,94 @@
1DESCRIPTION = "TI C6Accel - DSP Software Libraries on ARM"
2HOMEPAGE = "https://gforge01.dal.design.ti.com/gf/project/dsplib4arm/"
3
4SECTION = "devel"
5LICENSE = "TI TSPA"
6
7require recipes-ti/includes/ti-paths.inc
8require recipes-ti/includes/ti-staging.inc
9require recipes-ti/includes/ti-eula-unpack.inc
10
11PLATFORM_omapl138 = "omapl138"
12PLATFORM_omap3 = "omap3530"
13PLATFORM ?= "<UNDEFINED_PLATFORM>"
14
15COMPATIBLE_MACHINE = "(omapl138|omap3)"
16
17PROVIDES += "ti-c6accel-apps"
18
19# This recipe links statically against kernel dependant stuff, use kernel PR as base and append a local version
20PR = "${MACHINE_KERNEL_PR}"
21PR_append = "c"
22
23S = "${WORKDIR}/c6accel_${PV}"
24
25# http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/index_FDS.html
26SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/exports//c6accel_${PV}_Linux-x86_Setup.bin;name=c6accelbin "
27
28BINFILE="c6accel_${PV}_Linux-x86_Setup.bin"
29TI_BIN_UNPK_CMDS="Y:workdir"
30
31DEPENDS = "ti-codec-engine ti-xdais ti-dsplink ti-dspbios"
32DEPENDS += "ti-edma3lld ti-cgt6x ti-xdctools ti-framework-components"
33DEPENDS += "ti-biosutils"
34
35TIARGS = ' \
36 PLATFORM="${PLATFORM}" \
37 CE_INSTALL_DIR="${CE_INSTALL_DIR}" \
38 XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
39 LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
40 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
41 EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \
42 CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
43 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
44 FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
45 BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \
46 BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \
47 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
48 SERVER_INSTALL_DIR="${CODEC_INSTALL_DIR}" \
49 C6ACCEL_INSTALL_DIR="${S}" \
50 CSTOOL_DIR="${TOOLCHAIN_PATH}" \
51 CSTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
52 LINUXLIBS_INSTALL_DIR="${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" \
53 CFLAGS=" ${TARGET_CC_ARCH} ${CFLAGS}" LDFLAGS="${LDFLAGS}" \
54'
55
56do_configure() {
57 unset VERBOSE
58 make ${TIARGS} clean
59 sed -i -e 's:-L$(LINUXLIBS_INSTALL_DIR)/lib:-L$(LINUXLIBS_INSTALL_DIR)/lib -L$(LINUXLIBS_INSTALL_DIR)/usr/lib ${LDFLAGS}:' ${S}/soc/app/Makefile
60
61 # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it
62 if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then
63 sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' ${S}/soc/app/Makefile
64 fi
65}
66
67do_compile() {
68 unset VERBOSE
69 make ${TIARGS} all
70}
71
72do_install() {
73 install -d ${D}${C6ACCEL_INSTALL_DIR_RECIPE}
74 cp -pPrf ${S}/* ${D}${C6ACCEL_INSTALL_DIR_RECIPE}
75
76 # update linker.cmd file to point to sysroot
77 sed -i ${i} -e s=${S}=${C6ACCEL_INSTALL_DIR}=g ${D}${C6ACCEL_INSTALL_DIR_RECIPE}/soc/app/c6accel_app_config/linker.cmd
78
79 cd ${S}
80 make \
81 PLATFORM="${PLATFORM}" \
82 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
83 LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
84 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
85 C6ACCEL_INSTALL_DIR="${S}" \
86 EXEC_DIR_C6ACCEL="${D}/${installdir}/c6accel-apps" \
87 install
88}
89
90PACKAGES += "ti-c6accel-apps"
91FILES_ti-c6accel-apps = "${installdir}/c6accel-apps/*"
92INSANE_SKIP_ti-c6accel-apps = True
93RDEPENDS_ti-c6accel-apps += "ti-cmem-module ti-dsplink-module"
94
diff --git a/recipes-ti/c6accel/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch b/recipes-ti/c6accel/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch
new file mode 100644
index 00000000..8e47ae21
--- /dev/null
+++ b/recipes-ti/c6accel/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch
@@ -0,0 +1,26 @@
1From 58c50064afdc2fd7093613e0ae3a9192ea189460 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 5 Jan 2011 10:10:33 +0100
4Subject: [PATCH] soc/app: fix makefile to pass -Wl,-T, before the linkerscript
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 soc/app/Makefile | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-)
10
11diff --git a/soc/app/Makefile b/soc/app/Makefile
12index 0bb7bdc..342e43a 100755
13--- a/soc/app/Makefile
14+++ b/soc/app/Makefile
15@@ -33,7 +33,7 @@ XDC_CFG = $(TARGET)_config
16 XDC_CFLAGS = $(XDC_CFG)/compiler.opt
17
18 # Output linker file
19-XDC_LFILE = $(XDC_CFG)/linker.cmd
20+XDC_LFILE = -Wl,-T,$(XDC_CFG)/linker.cmd
21
22 # Input configuration file
23 XDC_CFGFILE = $(PLATFORM)/$(TARGET).cfg
24--
251.6.6.1
26
diff --git a/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch b/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch
new file mode 100644
index 00000000..0480f74a
--- /dev/null
+++ b/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch
@@ -0,0 +1,82 @@
1From 192b19046a67263da44203bf50a5b51d0a655fec Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 31 Dec 2010 15:26:37 +0100
4Subject: [PATCH] soc: honour buildsystem CFLAGS and LDFLAGS when set
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 soc/app/Makefile | 13 ++++---------
9 soc/c6accelw/Makefile | 14 ++++----------
10 2 files changed, 8 insertions(+), 19 deletions(-)
11
12diff --git a/soc/app/Makefile b/soc/app/Makefile
13index 2647746..bed937e 100755
14--- a/soc/app/Makefile
15+++ b/soc/app/Makefile
16@@ -53,15 +53,10 @@ CONFIGURO = $(XDC_INSTALL_DIR)/xs xdc.tools.configuro
17 CONFIG_BLD = ../../config.bld
18
19 ifeq ($(BUILD_TYPE), release)
20-ifeq ($(ARM_ISA),armv7-a)
21- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp
22-endif
23-ifeq ($(ARM_ISA),armv5t)
24- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O
25-endif
26+C_FLAGS += $(CFLAGS)
27 else
28 CPP_FLAGS += -DNDEBUG
29- C_FLAGS += -Wall -g
30+ C_FLAGS += $(CFLAGS) -Wall -g
31 endif
32
33
34@@ -72,7 +67,7 @@ ifeq ($(PLATFORM),omapl138)
35 C_FLAGS += -DPLATFORM=138
36 endif
37
38-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread
39+LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread
40 C6ACCEL_LIB += ../c6accelw/lib/c6accelw_$(PLATFORM).a470MV
41
42 COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) $(CPP_FLAGS) -c
43@@ -102,7 +97,7 @@ $(TARGET): $(OBJFILES) $(C6ACCEL_LIB) $(XDC_LFILE)
44
45 $(OBJFILES): %.o: %.c $(HEADERS) $(XDC_CFLAGS)
46 @echo Compiling $@ from $<..
47- $(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $<
48+ $(COMPILE.c) $(shell cat $(XDC_CFLAGS) | sed 's:-march=armv5t::g') -o $@ $<
49
50 $(XDC_LFILE) $(XDC_CFLAGS): $(XDC_CFGFILE)
51 @echo
52diff --git a/soc/c6accelw/Makefile b/soc/c6accelw/Makefile
53index cc58acf..298ab3b 100755
54--- a/soc/c6accelw/Makefile
55+++ b/soc/c6accelw/Makefile
56@@ -21,19 +21,13 @@ BUILD_TYPE=release
57 CPP_FLAGS += -I../packages -I$(XDC_INSTALL_DIR)/packages -I$(CE_INSTALL_DIR)/packages -I$(XDAIS_INSTALL_DIR)/packages -Dxdc_target_name__=arm/GCArmv5T -Dxdc_target_types__=gnu/targets/std.h
58
59 ifeq ($(BUILD_TYPE), release)
60-ifeq ($(ARM_ISA),armv7-a)
61- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp
62- endif
63-ifeq ($(ARM_ISA),armv5t)
64- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O
65- endif
66-
67+C_FLAGS += $(CFLAGS)
68 else
69- CPP_FLAGS += -DNDEBUG
70- C_FLAGS += -Wall -g
71+ CPP_FLAGS += -DNDEBUG
72+ C_FLAGS += $(CFLAGS) -Wall -g
73 endif
74
75-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib
76+LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib
77 AR_FLAGS +=
78
79 COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) -c
80--
811.6.6.1
82
diff --git a/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch b/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch
new file mode 100644
index 00000000..9921f29e
--- /dev/null
+++ b/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch
@@ -0,0 +1,81 @@
1diff -uNr c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh
2--- c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-07-26 16:18:35.000000000 -0500
3+++ c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-09-12 11:50:46.129159981 -0500
4@@ -1,4 +1,4 @@
5-# loadmodules.sh
6+#!/bin/sh
7 #
8 # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
9 #
10@@ -11,34 +11,16 @@
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
13
14-#
15-# Default Memory Map
16-#
17-# Start Addr Size Description
18-# -------------------------------------------
19-# 0x80000000 88 MB Linux
20-# 0x85800000 08 MB CMEM
21-# 0x86800000 24 MB DDRALGHEAP
22-# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
23-# 0x87E00000 1 MB DSPLINK (MEM)
24-# 0x87F00000 4 KB DSPLINK (RESET)
25-# 0x87F01000 1020 KB unused
26-rmmod cmemk.ko
27-rmmod lpm_omap3530.ko
28-rmmod dsplinkk
29-# Allocate 15MB for CMEM
30-insmod cmemk.ko phys_start=0x86300000 phys_end=0x87200000 pools=20x4096
31+# remove previously loaded cmem to ensure that it configured to use our pool configuration
32+rmmod cmemk 2>/dev/null
33
34-# insert DSP/BIOS Link driver
35-#
36-insmod dsplinkk.ko
37+# Allocate 15MB for CMEM
38+modprobe cmemk phys_start=0x86300000 phys_end=0x87200000 pools=20x4096 allowOverlap=1
39+modprobe dsplinkk
40+modprobe lpm_omap3530
41
42 # make /dev/dsplink
43 rm -rf /dev/dsplink
44 mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
45
46
47-# insert Local Power Manager driver
48-#
49-insmod lpm_omap3530.ko
50-
51diff -uNr c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh
52--- c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-07-27 09:45:37.000000000 -0500
53+++ c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-09-12 11:52:07.193160179 -0500
54@@ -1,4 +1,4 @@
55-#
56+#!/bin/sh
57 # Copyright (c) 2008, Texas Instruments Incorporated
58 # All rights reserved.
59 #
60@@ -29,15 +29,14 @@
61 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
62 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
63 #
64-rmmod dsplinkk.ko
65-rmmod cmemk.ko
66+
67+# remove previously loaded cmem to ensure that its configured to use our pool configuration.
68+rmmod cmemk 2>/dev/null
69+
70 # insert cmemk, tell it to occupy physical 120MB-128MB, create
71 # 20 4K buffers, 10 128K buffers and two 1MB buffers
72-insmod cmemk.ko phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096
73-
74-# insert DSP/BIOS Link driver
75-#
76-insmod dsplinkk.ko
77+modprobe cmemk phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096 allowOverlap=1
78+modprobe dsplinkk
79
80 # make /dev/dsplink
81 rm -f /dev/dsplink
diff --git a/recipes-ti/c6accel/ti-c6accel_1.01.00.03.bb b/recipes-ti/c6accel/ti-c6accel_1.01.00.03.bb
new file mode 100644
index 00000000..bf5f1cf3
--- /dev/null
+++ b/recipes-ti/c6accel/ti-c6accel_1.01.00.03.bb
@@ -0,0 +1,14 @@
1require ti-c6accel.inc
2
3SRC_URI[c6accelbin.md5sum] = "0ddf37fd9dad91fa3a914e549da933b9"
4SRC_URI[c6accelbin.sha256sum] = "453399a84bf117bd7a91393242c7c005e2829692db5ede18e4be166c61e4354c"
5
6SRC_URI_append = "file://fix-loadmodule.patch \
7 file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \
8 "
9
10PV = "1_01_00_03"
11
12
13CFLAGS += "-fPIC"
14