diff options
Diffstat (limited to 'extras/recipes-ti/c6accel')
4 files changed, 268 insertions, 0 deletions
diff --git a/extras/recipes-ti/c6accel/ti-c6accel.inc b/extras/recipes-ti/c6accel/ti-c6accel.inc new file mode 100644 index 00000000..638c9be3 --- /dev/null +++ b/extras/recipes-ti/c6accel/ti-c6accel.inc | |||
@@ -0,0 +1,89 @@ | |||
1 | DESCRIPTION = "TI C6Accel - DSP Software Libraries on ARM" | ||
2 | HOMEPAGE = "https://gforge01.dal.design.ti.com/gf/project/dsplib4arm/" | ||
3 | |||
4 | SECTION = "devel" | ||
5 | LICENSE = "TI TSPA" | ||
6 | |||
7 | require recipes-ti/includes/ti-paths.inc | ||
8 | require recipes-ti/includes/ti-staging.inc | ||
9 | require recipes-ti/includes/ti-eula-unpack.inc | ||
10 | |||
11 | PLATFORM_omapl138 = "omapl138" | ||
12 | PLATFORM_omap3 = "omap3530" | ||
13 | PLATFORM ?= "UNDEFINED_PLATFORM" | ||
14 | |||
15 | COMPATIBLE_MACHINE = "(omapl138|omap3)" | ||
16 | |||
17 | PROVIDES += "ti-c6accel-apps" | ||
18 | |||
19 | # This recipe links statically against kernel dependant stuff, use kernel PR as base and append a local version | ||
20 | PR = "${MACHINE_KERNEL_PR}" | ||
21 | PR_append = "a" | ||
22 | |||
23 | S = "${WORKDIR}/c6accel_${PV}" | ||
24 | |||
25 | # http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/index_FDS.html | ||
26 | SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/exports//c6accel_${PV}_Linux-x86_Setup.bin;name=c6accelbin " | ||
27 | |||
28 | BINFILE="c6accel_${PV}_Linux-x86_Setup.bin" | ||
29 | TI_BIN_UNPK_CMDS="Y:workdir" | ||
30 | |||
31 | DEPENDS = "ti-codec-engine ti-xdais ti-dsplink ti-dspbios" | ||
32 | DEPENDS += "ti-edma3lld ti-cgt6x ti-xdctools ti-framework-components" | ||
33 | DEPENDS += "ti-biosutils" | ||
34 | |||
35 | TIARGS = ' \ | ||
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}/${TARGET_PREFIX}" \ | ||
52 | LINUXLIBS_INSTALL_DIR="${STAGING_DIR_TARGET}" \ | ||
53 | CFLAGS=" ${TARGET_CC_ARCH} ${CFLAGS}" LDFLAGS="${LDFLAGS}" \ | ||
54 | ' | ||
55 | |||
56 | do_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 | |||
62 | do_compile() { | ||
63 | unset VERBOSE | ||
64 | make ${TIARGS} all | ||
65 | } | ||
66 | |||
67 | do_install() { | ||
68 | install -d ${D}${C6ACCEL_INSTALL_DIR_RECIPE} | ||
69 | cp -pPrf ${S}/* ${D}${C6ACCEL_INSTALL_DIR_RECIPE} | ||
70 | |||
71 | # update linker.cmd file to point to sysroot | ||
72 | sed -i ${i} -e s=${S}=${C6ACCEL_INSTALL_DIR}=g ${D}${C6ACCEL_INSTALL_DIR_RECIPE}/soc/app/c6accel_app_config/linker.cmd | ||
73 | |||
74 | cd ${S} | ||
75 | make \ | ||
76 | PLATFORM="${PLATFORM}" \ | ||
77 | CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ | ||
78 | LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ | ||
79 | LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ | ||
80 | C6ACCEL_INSTALL_DIR="${S}" \ | ||
81 | EXEC_DIR_C6ACCEL="${D}/${installdir}/c6accel-apps" \ | ||
82 | install | ||
83 | } | ||
84 | |||
85 | PACKAGES += "ti-c6accel-apps" | ||
86 | FILES_ti-c6accel-apps = "${installdir}/c6accel-apps/*" | ||
87 | INSANE_SKIP_ti-c6accel-apps = "1" | ||
88 | RDEPENDS_ti-c6accel-apps += "ti-cmem-module ti-dsplink-module" | ||
89 | |||
diff --git a/extras/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch b/extras/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch new file mode 100644 index 00000000..a108c6e0 --- /dev/null +++ b/extras/recipes-ti/c6accel/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch | |||
@@ -0,0 +1,82 @@ | |||
1 | From 192b19046a67263da44203bf50a5b51d0a655fec Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Fri, 31 Dec 2010 15:26:37 +0100 | ||
4 | Subject: [PATCH] soc: honour buildsystem CFLAGS and LDFLAGS when set | ||
5 | |||
6 | Signed-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 | |||
12 | diff --git a/soc/app/Makefile b/soc/app/Makefile | ||
13 | index 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 | ||
52 | diff --git a/soc/c6accelw/Makefile b/soc/c6accelw/Makefile | ||
53 | index 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 | -- | ||
81 | 1.6.6.1 | ||
82 | |||
diff --git a/extras/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch b/extras/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch new file mode 100644 index 00000000..9921f29e --- /dev/null +++ b/extras/recipes-ti/c6accel/ti-c6accel/fix-loadmodule.patch | |||
@@ -0,0 +1,81 @@ | |||
1 | diff -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 | - | ||
51 | diff -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/extras/recipes-ti/c6accel/ti-c6accel_1.01.00.06.bb b/extras/recipes-ti/c6accel/ti-c6accel_1.01.00.06.bb new file mode 100644 index 00000000..61263c53 --- /dev/null +++ b/extras/recipes-ti/c6accel/ti-c6accel_1.01.00.06.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | require ti-c6accel.inc | ||
2 | |||
3 | SRC_URI[c6accelbin.md5sum] = "4cfb9ae9d1b69954a22b454726d4d6cb" | ||
4 | SRC_URI[c6accelbin.sha256sum] = "9fac3295c5c8533535e18f96c9a31c446f5a275798ace8c145f9ed51fa3e3ece" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://docs/ReleaseNotes_C6Accel.txt;md5=28fbd64e0ba4a1af1a2f1179024f38a9" | ||
7 | |||
8 | SSRC_URI_append = " \ | ||
9 | file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \ | ||
10 | " | ||
11 | |||
12 | PV = "1_01_00_06" | ||
13 | |||
14 | |||
15 | CFLAGS += "-fPIC" | ||
16 | |||