diff options
Diffstat (limited to 'recipes-ti/codec-engine')
34 files changed, 1881 insertions, 0 deletions
diff --git a/recipes-ti/codec-engine/ti-c6accel.inc b/recipes-ti/codec-engine/ti-c6accel.inc new file mode 100644 index 00000000..f76df938 --- /dev/null +++ b/recipes-ti/codec-engine/ti-c6accel.inc | |||
@@ -0,0 +1,94 @@ | |||
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 = "c" | ||
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}/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 | |||
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 | # 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 | |||
67 | do_compile() { | ||
68 | unset VERBOSE | ||
69 | make ${TIARGS} all | ||
70 | } | ||
71 | |||
72 | do_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 | |||
90 | PACKAGES += "ti-c6accel-apps" | ||
91 | FILES_ti-c6accel-apps = "${installdir}/c6accel-apps/*" | ||
92 | INSANE_SKIP_ti-c6accel-apps = True | ||
93 | RDEPENDS_ti-c6accel-apps += "ti-cmem-module ti-dsplink-module" | ||
94 | |||
diff --git a/recipes-ti/codec-engine/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch b/recipes-ti/codec-engine/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/codec-engine/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | From 58c50064afdc2fd7093613e0ae3a9192ea189460 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Wed, 5 Jan 2011 10:10:33 +0100 | ||
4 | Subject: [PATCH] soc/app: fix makefile to pass -Wl,-T, before the linkerscript | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
7 | --- | ||
8 | soc/app/Makefile | 2 +- | ||
9 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
10 | |||
11 | diff --git a/soc/app/Makefile b/soc/app/Makefile | ||
12 | index 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 | -- | ||
25 | 1.6.6.1 | ||
26 | |||
diff --git a/recipes-ti/codec-engine/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch b/recipes-ti/codec-engine/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch new file mode 100644 index 00000000..0480f74a --- /dev/null +++ b/recipes-ti/codec-engine/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/recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch b/recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch new file mode 100644 index 00000000..9921f29e --- /dev/null +++ b/recipes-ti/codec-engine/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/recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb b/recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb new file mode 100644 index 00000000..bf5f1cf3 --- /dev/null +++ b/recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | require ti-c6accel.inc | ||
2 | |||
3 | SRC_URI[c6accelbin.md5sum] = "0ddf37fd9dad91fa3a914e549da933b9" | ||
4 | SRC_URI[c6accelbin.sha256sum] = "453399a84bf117bd7a91393242c7c005e2829692db5ede18e4be166c61e4354c" | ||
5 | |||
6 | SRC_URI_append = "file://fix-loadmodule.patch \ | ||
7 | file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \ | ||
8 | " | ||
9 | |||
10 | PV = "1_01_00_03" | ||
11 | |||
12 | |||
13 | CFLAGS += "-fPIC" | ||
14 | |||
diff --git a/recipes-ti/codec-engine/ti-codec-engine.inc b/recipes-ti/codec-engine/ti-codec-engine.inc new file mode 100644 index 00000000..38326d62 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine.inc | |||
@@ -0,0 +1,199 @@ | |||
1 | DESCRIPTION = "Codec Engine for TI ARM/DSP processors" | ||
2 | HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce" | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "BSD" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://codec_engine_2_26_02_11_manifest.html;md5=912535f1b02ecf329a3979bf313f91e0" | ||
7 | |||
8 | # TODO :: Add Codec Engine Library Rebuild | ||
9 | # TODO :: Add Examples APP_LOCAL build as well? | ||
10 | # TODO :: Check DEPENDS - are the DSP side packages required for ARM-only products? | ||
11 | |||
12 | require recipes-ti/includes/ti-paths.inc | ||
13 | require recipes-ti/includes/ti-staging.inc | ||
14 | |||
15 | PROVIDES += "ti-codec-engine-examples" | ||
16 | |||
17 | PR = "${MACHINE_KERNEL_PR}" | ||
18 | PR_append = "a" | ||
19 | |||
20 | S = "${WORKDIR}/codec_engine_${PV}" | ||
21 | |||
22 | SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce/${PV}/exports/codec_engine_${PV},lite.tar.gz;name=cetarball " | ||
23 | |||
24 | DEPENDS = "ti-framework-components ti-xdais ti-xdctools ti-linuxutils" | ||
25 | DEPENDS_append_dm6446 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld" | ||
26 | DEPENDS_append_dm6467 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" | ||
27 | DEPENDS_append_omap3 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld" | ||
28 | DEPENDS_append_omapl137 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" | ||
29 | DEPENDS_append_omapl138 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" | ||
30 | |||
31 | # SOC_FAMILY configuration | ||
32 | |||
33 | # Define DEVICES variable | ||
34 | CEEXAMPLESDEVICES_dm6446 = "DM6446" | ||
35 | CEEXAMPLESDEVICES_dm6467 = "DM6467" | ||
36 | CEEXAMPLESDEVICES_omap3 = "OMAP3530" | ||
37 | CEEXAMPLESDEVICES_dm355 = "DM355" | ||
38 | CEEXAMPLESDEVICES_dm365 = "DM365" | ||
39 | CEEXAMPLESDEVICES_omapl137 = "OMAPL137" | ||
40 | CEEXAMPLESDEVICES_omapl138 = "OMAPL138" | ||
41 | CEEXAMPLESDEVICES ?= "<UNDEFINED_CEEXAMPLESDEVICES>" | ||
42 | |||
43 | # Define GPPOS variable | ||
44 | CEEXAMPLESGPPOS_dm6446 = "LINUX_GCC" | ||
45 | CEEXAMPLESGPPOS_dm6467 = "LINUX_GCC" | ||
46 | CEEXAMPLESGPPOS_omap3 = "LINUX_GCC" | ||
47 | CEEXAMPLESGPPOS_dm355 = "LINUX_GCC" | ||
48 | CEEXAMPLESGPPOS_dm365 = "LINUX_GCC" | ||
49 | CEEXAMPLESGPPOS_omapl137 = "LINUX_GCC" | ||
50 | CEEXAMPLESGPPOS_omapl138 = "LINUX_GCC" | ||
51 | CEEXAMPLESGPPOS ?= "<UNDEFINED_CEEXAMPLESGPPOS>" | ||
52 | |||
53 | # Define PROGRAM variable | ||
54 | CEEXAMPLESPROGRAMS_dm6446 = "APP_CLIENT DSP_SERVER" | ||
55 | CEEXAMPLESPROGRAMS_dm6467 = "APP_CLIENT DSP_SERVER" | ||
56 | CEEXAMPLESPROGRAMS_omap3 = "APP_CLIENT DSP_SERVER" | ||
57 | CEEXAMPLESPROGRAMS_dm355 = "APP_LOCAL" | ||
58 | CEEXAMPLESPROGRAMS_dm365 = "APP_LOCAL" | ||
59 | CEEXAMPLESPROGRAMS_omapl137 = "APP_CLIENT DSP_SERVER" | ||
60 | CEEXAMPLESPROGRAMS_omapl138 = "APP_CLIENT DSP_SERVER" | ||
61 | CEEXAMPLESPROGRAMS ?= "<UNDEFINED_CEEXAMPLESPROGRAMS>" | ||
62 | |||
63 | do_configure() { | ||
64 | |||
65 | # No way to pass this via ENV? | ||
66 | sed -i \ | ||
67 | -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \ | ||
68 | ${S}/examples/xdcpaths.mak | ||
69 | |||
70 | # compiler is not under ${TOOLCHAIN_PATH}/bin anymore... | ||
71 | sed -i \ | ||
72 | -e s:bin/${TARGET_PREFIX}gcc:${TARGET_PREFIX}gcc:g \ | ||
73 | ${S}/examples/xdcpaths.mak | ||
74 | |||
75 | # ... and ar is not there too | ||
76 | # sed -i \ | ||
77 | # -e s:/arm-angstrom-linux-gnueabi/bin/ar:/arm-angstrom-linux-gnueabi-ar:g \ | ||
78 | # ${S}/examples/ti/xdais/dm/examples/viddec1_copy/package.mak | ||
79 | } | ||
80 | |||
81 | do_prepsources() { | ||
82 | |||
83 | for i in codecs extensions servers apps ; do | ||
84 | cd ${S}/examples/ti/sdo/ce/examples/$i | ||
85 | make DEVICES="${CEEXAMPLESDEVICES}" \ | ||
86 | GPPOS="${CEEXAMPLESGPPOS}" \ | ||
87 | PROGRAMS="${CEEXAMPLESPROGRAMS}" \ | ||
88 | CE_INSTALL_DIR="${S}" \ | ||
89 | XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ | ||
90 | BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \ | ||
91 | BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \ | ||
92 | DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ | ||
93 | XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ | ||
94 | FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ | ||
95 | CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ | ||
96 | LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ | ||
97 | EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \ | ||
98 | CGTOOLS_V5T="${TOOLCHAIN_PATH}" \ | ||
99 | CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \ | ||
100 | CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \ | ||
101 | clean | ||
102 | # '.make' target was used in CE < 2.26, but its no longer | ||
103 | # supported in CE >= 2.26. Now we are moved to >=2.26 | ||
104 | # hence commenting out the .make target. | ||
105 | # .make clean | ||
106 | done | ||
107 | } | ||
108 | |||
109 | addtask prepsources after do_configure before do_compile | ||
110 | |||
111 | do_compile () { | ||
112 | |||
113 | for i in codecs extensions servers apps ; do | ||
114 | cd ${S}/examples/ti/sdo/ce/examples/$i | ||
115 | make DEVICES="${CEEXAMPLESDEVICES}" \ | ||
116 | GPPOS="${CEEXAMPLESGPPOS}" \ | ||
117 | PROGRAMS="${CEEXAMPLESPROGRAMS}" \ | ||
118 | CE_INSTALL_DIR="${S}" \ | ||
119 | XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ | ||
120 | BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \ | ||
121 | BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \ | ||
122 | DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ | ||
123 | XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ | ||
124 | FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ | ||
125 | CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ | ||
126 | LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ | ||
127 | EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \ | ||
128 | CGTOOLS_V5T="${TOOLCHAIN_PATH}" \ | ||
129 | CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \ | ||
130 | CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \ | ||
131 | all | ||
132 | done | ||
133 | } | ||
134 | |||
135 | do_install() { | ||
136 | |||
137 | install -d ${D}/${installdir}/ti-codec-engine-examples | ||
138 | if [ -e ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ]; then | ||
139 | cp ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples | ||
140 | elif [ -e ${WORKDIR}/loadmodules.sh ]; then | ||
141 | cp ${WORKDIR}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples | ||
142 | fi | ||
143 | |||
144 | cd ${S}/examples/ti/sdo/ce/examples | ||
145 | |||
146 | # Install the apps, servers and test data, mirroring the source directory structure | ||
147 | # - Put the servers inside the same folder as the executable | ||
148 | # - TODO - Check nested dirs (e.g. dualcpu_separateconfig) | ||
149 | |||
150 | # Put all servers in separate tree. | ||
151 | for i in $(find . -name "*.${DSPSUFFIX}"); do | ||
152 | install -d ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /` | ||
153 | install ${i} ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /` | ||
154 | done | ||
155 | |||
156 | for i in $(find . -name "*.xv5T"); do | ||
157 | install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` | ||
158 | install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` | ||
159 | done | ||
160 | |||
161 | for i in $(find . -name "*.dat"); do | ||
162 | install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` | ||
163 | install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` | ||
164 | done | ||
165 | |||
166 | # For each directory, softlink to the app server, except special cases | ||
167 | cd ${D}/${installdir}/ti-codec-engine-examples | ||
168 | for i in $(find . -type d | grep -v servers); do | ||
169 | { | ||
170 | pwd | ||
171 | cd ${D}/${installdir}/ti-codec-engine-examples/$i | ||
172 | if [ $(basename $i) = "audio1_ires" ] ; then | ||
173 | ln -s ../servers/audio1_ires/audio1_ires.${DSPSUFFIX} | ||
174 | elif [ $(basename $i) = "server_api_example" ] ; then | ||
175 | ln -s ../servers/server_api_example/audio_copy.${DSPSUFFIX} | ||
176 | elif [ $(basename $i) != "." ] ; then | ||
177 | ln -s ../servers/all_codecs/all.${DSPSUFFIX} | ||
178 | else | ||
179 | echo Skipping $i | ||
180 | fi | ||
181 | } | ||
182 | done | ||
183 | |||
184 | # Install/Stage the Source Tree | ||
185 | install -d ${D}${CE_INSTALL_DIR_RECIPE} | ||
186 | cp -pPrf ${S}/* ${D}${CE_INSTALL_DIR_RECIPE} | ||
187 | } | ||
188 | |||
189 | PACKAGES += "ti-codec-engine-examples" | ||
190 | |||
191 | RDEPENDS_ti-codec-engine-examples = " ti-cmem-module" | ||
192 | RDEPENDS_ti-codec-engine-examples_append_dm6446 = " ti-dsplink-module ti-lpm-module" | ||
193 | RDEPENDS_ti-codec-engine-examples_append_dm6467 = " ti-dsplink-module" | ||
194 | RDEPENDS_ti-codec-engine-examples_append_omap3 = " ti-dsplink-module ti-lpm-module" | ||
195 | RDEPENDS_ti-codec-engine-examples_append_omapl137 = " ti-dsplink-module" | ||
196 | RDEPENDS_ti-codec-engine-examples_append_omapl138 = " ti-dsplink-module" | ||
197 | FILES_ti-codec-engine-examples = "${installdir}/ti-codec-engine-examples/*" | ||
198 | INSANE_SKIP_ti-codec-engine-examples = True | ||
199 | |||
diff --git a/recipes-ti/codec-engine/ti-codec-engine/ce-2-26-00-08-Examples-Add-LPM_INSTALL_DIR-packages.patch b/recipes-ti/codec-engine/ti-codec-engine/ce-2-26-00-08-Examples-Add-LPM_INSTALL_DIR-packages.patch new file mode 100644 index 00000000..1eb81086 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine/ce-2-26-00-08-Examples-Add-LPM_INSTALL_DIR-packages.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | diff --git a/examples/ti/sdo/ce/examples/apps/audio1_ires/rtcfg_local_evm3530_linux/makefile b/examples/ti/sdo/ce/examples/apps/audio1_ires/rtcfg_local_evm3530_linux/makefile | ||
2 | index 2bbfb72..2a00d0d 100644 | ||
3 | --- a/examples/ti/sdo/ce/examples/apps/audio1_ires/rtcfg_local_evm3530_linux/makefile | ||
4 | +++ b/examples/ti/sdo/ce/examples/apps/audio1_ires/rtcfg_local_evm3530_linux/makefile | ||
5 | @@ -80,6 +80,7 @@ REPO_PATH = \ | ||
6 | $(FC_INSTALL_DIR)/packages \ | ||
7 | $(FC_INSTALL_DIR)/examples \ | ||
8 | $(CMEM_INSTALL_DIR)/packages \ | ||
9 | + $(LPM_INSTALL_DIR)/packages \ | ||
10 | $(BIOSUTILS_INSTALL_DIR)/packages \ | ||
11 | $(EXAMPLES_ROOTDIR) | ||
12 | |||
13 | diff --git a/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_local_evm3530_linux/makefile b/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_local_evm3530_linux/makefile | ||
14 | index f2b187a..827f6bc 100644 | ||
15 | --- a/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_local_evm3530_linux/makefile | ||
16 | +++ b/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_local_evm3530_linux/makefile | ||
17 | @@ -74,6 +74,7 @@ REPO_PATH = \ | ||
18 | $(XDAIS_INSTALL_DIR)/packages \ | ||
19 | $(FC_INSTALL_DIR)/packages \ | ||
20 | $(CMEM_INSTALL_DIR)/packages \ | ||
21 | + $(LPM_INSTALL_DIR)/packages \ | ||
22 | $(BIOSUTILS_INSTALL_DIR)/packages \ | ||
23 | $(EXAMPLES_ROOTDIR) | ||
24 | |||
25 | diff --git a/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_remote_evm3530_linux/makefile b/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_remote_evm3530_linux/makefile | ||
26 | index a4fe4dc..a23f991 100644 | ||
27 | --- a/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_remote_evm3530_linux/makefile | ||
28 | +++ b/examples/ti/sdo/ce/examples/apps/speech1_copy/rtcfg_remote_evm3530_linux/makefile | ||
29 | @@ -76,6 +76,7 @@ REPO_PATH = \ | ||
30 | $(XDAIS_INSTALL_DIR)/packages \ | ||
31 | $(FC_INSTALL_DIR)/packages \ | ||
32 | $(CMEM_INSTALL_DIR)/packages \ | ||
33 | + $(LPM_INSTALL_DIR)/packages \ | ||
34 | $(BIOSUTILS_INSTALL_DIR)/packages \ | ||
35 | $(EXAMPLES_ROOTDIR) | ||
36 | |||
37 | diff --git a/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_local_evm3530_linux/makefile b/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_local_evm3530_linux/makefile | ||
38 | index 8baa9dd..3c01c04 100644 | ||
39 | --- a/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_local_evm3530_linux/makefile | ||
40 | +++ b/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_local_evm3530_linux/makefile | ||
41 | @@ -74,6 +74,7 @@ REPO_PATH = \ | ||
42 | $(XDAIS_INSTALL_DIR)/packages \ | ||
43 | $(FC_INSTALL_DIR)/packages \ | ||
44 | $(CMEM_INSTALL_DIR)/packages \ | ||
45 | + $(LPM_INSTALL_DIR)/packages \ | ||
46 | $(BIOSUTILS_INSTALL_DIR)/packages \ | ||
47 | $(EXAMPLES_ROOTDIR) | ||
48 | |||
49 | diff --git a/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_remote_evm3530_linux/makefile b/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_remote_evm3530_linux/makefile | ||
50 | index 3319c06..09a6357 100644 | ||
51 | --- a/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_remote_evm3530_linux/makefile | ||
52 | +++ b/examples/ti/sdo/ce/examples/apps/video1_copy/rtcfg_remote_evm3530_linux/makefile | ||
53 | @@ -75,6 +75,7 @@ REPO_PATH = \ | ||
54 | $(XDAIS_INSTALL_DIR)/packages \ | ||
55 | $(FC_INSTALL_DIR)/packages \ | ||
56 | $(CMEM_INSTALL_DIR)/packages \ | ||
57 | + $(LPM_INSTALL_DIR)/packages \ | ||
58 | $(BIOSUTILS_INSTALL_DIR)/packages \ | ||
59 | $(EXAMPLES_ROOTDIR) | ||
60 | |||
diff --git a/recipes-ti/codec-engine/ti-codec-engine/dm365-evm/loadmodules.sh b/recipes-ti/codec-engine/ti-codec-engine/dm365-evm/loadmodules.sh new file mode 100644 index 00000000..60a40f0c --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine/dm365-evm/loadmodules.sh | |||
@@ -0,0 +1,49 @@ | |||
1 | # | ||
2 | # Copyright (c) 2008, Texas Instruments Incorporated | ||
3 | # All rights reserved. | ||
4 | # | ||
5 | # Redistribution and use in source and binary forms, with or without | ||
6 | # modification, are permitted provided that the following conditions | ||
7 | # are met: | ||
8 | # | ||
9 | # * Redistributions of source code must retain the above copyright | ||
10 | # notice, this list of conditions and the following disclaimer. | ||
11 | # | ||
12 | # * Redistributions in binary form must reproduce the above copyright | ||
13 | # notice, this list of conditions and the following disclaimer in the | ||
14 | # documentation and/or other materials provided with the distribution. | ||
15 | # | ||
16 | # * Neither the name of Texas Instruments Incorporated nor the names of | ||
17 | # its contributors may be used to endorse or promote products derived | ||
18 | # from this software without specific prior written permission. | ||
19 | # | ||
20 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
21 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | ||
22 | # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
23 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | ||
24 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
25 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||
26 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | ||
27 | # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
28 | # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | ||
29 | # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
30 | # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
31 | # | ||
32 | |||
33 | # insert cmemk, tell it to occupy physical 120MB-128MB, create | ||
34 | # 20 4K buffers, 10 128K buffers and two 1MB buffers | ||
35 | CMEM_MODPARAMS="phys_start=0x87800000 phys_end=0x88000000 pools=20x4096,10x131072,2x1048576" | ||
36 | |||
37 | if [ -e cmemk.ko ] | ||
38 | then | ||
39 | insmod cmemk.ko $CMEM_MODPARAMS | ||
40 | else | ||
41 | modprobe cmemk $CMEM_MODPARAMS | ||
42 | fi | ||
43 | |||
44 | # Allow cmem driver to be used by all users | ||
45 | if [ -e /dev/cmem ] | ||
46 | then | ||
47 | chmod 666 /dev/cmem | ||
48 | fi | ||
49 | |||
diff --git a/recipes-ti/codec-engine/ti-codec-engine/loadmodules-ti-codec-engine-apps.sh b/recipes-ti/codec-engine/ti-codec-engine/loadmodules-ti-codec-engine-apps.sh new file mode 100644 index 00000000..9f9233d1 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine/loadmodules-ti-codec-engine-apps.sh | |||
@@ -0,0 +1,37 @@ | |||
1 | # | ||
2 | # Default Memory Map - for OMAP3530 CE 2.21 examples | ||
3 | # | ||
4 | # Start Addr Size Description | ||
5 | # ------------------------------------------- | ||
6 | # 0x80000000 80 MB Linux | ||
7 | # 0x85000000 08 MB CMEM | ||
8 | # 0x86000000 24 MB DDRALGHEAP | ||
9 | # 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications) | ||
10 | # 0x87E00000 1 MB DSPLINK (MEM) | ||
11 | # 0x87F00000 4 KB DSPLINK (RESET) | ||
12 | # 0x87F01000 1020 KB unused | ||
13 | |||
14 | # sanity check to verify that we're using the right mem=xxM (80M in this case) | ||
15 | awk '/MemTotal:/ { | ||
16 | mem=$2 | ||
17 | |||
18 | if (mem > 80 * 1024) | ||
19 | print "Warning! You need to use mem=80M or less on the kernel cmdline" | ||
20 | |||
21 | printf "You have %dkB total memory for Linux\n", mem | ||
22 | }' /proc/meminfo | ||
23 | |||
24 | # Select cmemk parameters for best fit, i.e. starting at 0x85000000 | ||
25 | modprobe cmemk phys_start=0x85000000 phys_end=0x86000000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440 | ||
26 | |||
27 | # insert DSP/BIOS Link driver | ||
28 | # | ||
29 | modprobe dsplinkk | ||
30 | |||
31 | # make /dev/dsplink | ||
32 | #rm -f /dev/dsplink | ||
33 | #mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
34 | |||
35 | # insert Local Power Manager driver | ||
36 | # | ||
37 | modprobe lpm_omap3530 | ||
diff --git a/recipes-ti/codec-engine/ti-codec-engine/unloadmodules-ti-codec-engine-apps.sh b/recipes-ti/codec-engine/ti-codec-engine/unloadmodules-ti-codec-engine-apps.sh new file mode 100644 index 00000000..f990d997 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine/unloadmodules-ti-codec-engine-apps.sh | |||
@@ -0,0 +1,12 @@ | |||
1 | # Unload modules - CODEC ENGINE - OMAP3530 | ||
2 | |||
3 | # remove lpm module | ||
4 | rmmod lpm_omap3530 | ||
5 | |||
6 | # remove DSP/BIOS Link driver | ||
7 | rmmod dsplinkk | ||
8 | #rm -f /dev/dsplink | ||
9 | |||
10 | # remove cmem module | ||
11 | rmmod cmemk | ||
12 | |||
diff --git a/recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb b/recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb new file mode 100644 index 00000000..ad064294 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require ti-codec-engine.inc | ||
2 | |||
3 | PV = "2_26_02_11" | ||
4 | |||
5 | SRC_URI[cetarball.md5sum] = "4f755f77119e4da19ab5cc7ae7ccfdb4" | ||
6 | SRC_URI[cetarball.sha256sum] = "17fa053719265e0901fe3c3f90c9204957c6d0f5351d6b3ba4900df58cb7300f" | ||
diff --git a/recipes-ti/codec-engine/ti-codecs-omap3530/mp3dec_cs1omap3530.patch b/recipes-ti/codec-engine/ti-codecs-omap3530/mp3dec_cs1omap3530.patch new file mode 100644 index 00000000..4ed9267e --- /dev/null +++ b/recipes-ti/codec-engine/ti-codecs-omap3530/mp3dec_cs1omap3530.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | diff -uNr -x .xdcenv.mak -x mp3dec cs1omap3530_1_00_01/packages/ti/sdo/server/cs/codec.cfg cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/codec.cfg | ||
2 | --- cs1omap3530_1_00_01/packages/ti/sdo/server/cs/codec.cfg 2009-10-26 14:19:21.000000000 -0500 | ||
3 | +++ cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/codec.cfg 2009-10-26 14:36:03.000000000 -0500 | ||
4 | @@ -92,6 +92,14 @@ | ||
5 | MPEG4ENC.alg.udataSection = "DDR2"; | ||
6 | MPEG4ENC.alg.dataSection = "DDR2"; | ||
7 | |||
8 | + var MP3DEC = xdc.useModule('ti.sdo.codecs.mp3dec.ce.MP3DEC'); | ||
9 | + | ||
10 | + // Module Config | ||
11 | + MP3DEC.alg.watermark = false; | ||
12 | + MP3DEC.alg.codeSection = "DDR2"; | ||
13 | + MP3DEC.alg.udataSection = "DDR2"; | ||
14 | + MP3DEC.alg.dataSection = "DDR2"; | ||
15 | + | ||
16 | /* | ||
17 | * The array of algorithms this server can serve up. This array also | ||
18 | * configures details about the threads which will be created to run the | ||
19 | @@ -103,6 +111,11 @@ | ||
20 | groupId : 1, | ||
21 | }, | ||
22 | |||
23 | + {name: "mp3dec", mod: MP3DEC , threadAttrs: { | ||
24 | + stackMemId: 0, priority: Server.MINPRI + 3}, | ||
25 | + groupId : 1, | ||
26 | + }, | ||
27 | + | ||
28 | {name: "g711dec", mod: G711DEC , threadAttrs: { | ||
29 | stackMemId: 0, priority: Server.MINPRI + 3}, | ||
30 | groupId : 1, | ||
31 | diff -uNr -x .xdcenv.mak -x mp3dec cs1omap3530_1_00_01/packages/ti/sdo/server/cs/package.xs cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/package.xs | ||
32 | --- cs1omap3530_1_00_01/packages/ti/sdo/server/cs/package.xs 2009-10-26 14:19:20.000000000 -0500 | ||
33 | +++ cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/package.xs 2009-10-26 14:53:40.000000000 -0500 | ||
34 | @@ -17,6 +17,7 @@ | ||
35 | validate_one_codec( "ti.sdo.codecs.mpeg2dec", "MPEG2DEC" ); | ||
36 | validate_one_codec( "ti.sdo.codecs.mpeg4dec", "MPEG4DEC" ); | ||
37 | validate_one_codec( "ti.sdo.codecs.mpeg4enc", "MPEG4ENC" ); | ||
38 | + validate_one_codec( "ti.sdo.codecs.mp3dec", "MP3DEC" ); | ||
39 | } | ||
40 | |||
41 | function validate_one_codec( packageName, moduleName ) { | ||
diff --git a/recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb b/recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb new file mode 100644 index 00000000..f0079794 --- /dev/null +++ b/recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb | |||
@@ -0,0 +1,204 @@ | |||
1 | DESCRIPTION = "TI Codecs and Server Combo for OMAP3530" | ||
2 | SECTION = "multimedia" | ||
3 | LICENSE = "TI" | ||
4 | |||
5 | require recipes-ti/includes/ti-paths.inc | ||
6 | require recipes-ti/includes/ti-staging.inc | ||
7 | |||
8 | PR="${MACHINE_KERNEL_PR}" | ||
9 | PR_append = "a" | ||
10 | |||
11 | PV="4_00_00_00" | ||
12 | |||
13 | CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}" | ||
14 | |||
15 | SRCREV = "8393c892b09e0ac42b19ff1531e232478c3b1a6c" | ||
16 | |||
17 | require recipes-ti/includes/ti-eula-unpack.inc | ||
18 | |||
19 | SRC_URI="http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264enc_2_01_013_production.bin;name=h264enc \ | ||
20 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264dec_2_01_007_production.bin;name=h264dec \ | ||
21 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_jpegenc_02_01_01_00_production.bin;name=jpegenc \ | ||
22 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_jpegdec_02_00_01_01_production.bin;name=jpegdec \ | ||
23 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_mpeg2dec_02_00_02_00_production.bin;name=mpeg2dec \ | ||
24 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_mpeg4enc_02_04_00_00_production.bin;name=mpeg4enc \ | ||
25 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Video//C64XPlus_Video_latest/c64xplus_mpeg4dec_02_01_00_00_production.bin;name=mpeg4dec \ | ||
26 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Audio//C64XPlus_Audio_latest/c64xplus_aachedec_01_30_03_00_production.bin;name=aachedec \ | ||
27 | http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C64XPlus_Speech//C64XPlus_Speech_latest/c64xplus_g711_1_12_00_000_production.bin;name=g711 \ | ||
28 | http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/OMAP35xx_DM37xx_C64xPLUS_Algorithms/01_00_00_07//exports/c64xplus_deinterlacer_01_00_00_07_production.bin;name=i2p \ | ||
29 | git://arago-project.org/git/projects/codec-servers.git;protocol=git \ | ||
30 | |||
31 | " | ||
32 | |||
33 | SRC_URI[h264enc.md5sum] = "4a7a4698b1db360fe103aae76127a4ec" | ||
34 | SRC_URI[h264enc.sha256sum] = "8fd970d83004bb099f51420b0eecd660b4ba9dccc87b2759d0b5a0be46f8f1a0" | ||
35 | |||
36 | SRC_URI[h264dec.md5sum] = "81980df2d9dbedc5b64789c4e5575819" | ||
37 | SRC_URI[h264dec.sha256sum] = "19d65e71ba0342670cb217e0fa6617263ff68a513e8444a8dfd5f34bd641b24f" | ||
38 | |||
39 | SRC_URI[jpegenc.md5sum] = "c2e8ad88e90c04d2de7b199517019ac8" | ||
40 | SRC_URI[jpegenc.sha256sum] = "6525e067cb5dd00cfc0b38045c44dcbed05866f8ad20188ceac630812502d473" | ||
41 | |||
42 | SRC_URI[jpegdec.md5sum] = "cf2886c3406ab41409a586e5d550918d" | ||
43 | SRC_URI[jpegdec.sha256sum] = "6b0c9f1b8f023070c6a59af690f015f84f2c7f3143235f788ddd1a4a7b229089" | ||
44 | |||
45 | SRC_URI[mpeg2dec.md5sum] = "da3d0561f3073352be43dce96ce1ea62" | ||
46 | SRC_URI[mpeg2dec.sha256sum] = "06cdb31242b8649bdd46bc07b9276de0ccd5f4e1c137d3cb79e0866c1ed04264" | ||
47 | |||
48 | SRC_URI[mpeg4enc.md5sum] = "07c36e5d03368e1326df75a1f0c4934d" | ||
49 | SRC_URI[mpeg4enc.sha256sum] = "a9566c8978f7230936053de9b1f3bfe8820ae555262ceba87243abdf60e5193f" | ||
50 | |||
51 | SRC_URI[mpeg4dec.md5sum] = "4a27cda2d5a859e6322680a4855b6b88" | ||
52 | SRC_URI[mpeg4dec.sha256sum] = "ca35db6841586fc2c22dd9c07a7f5b8557f480fa907e8a3471b660d4ada76e40" | ||
53 | |||
54 | SRC_URI[aachedec.md5sum] = "649f2e79b4950719295cfecbff2ea82b" | ||
55 | SRC_URI[aachedec.sha256sum] = "34d19e40d624ccdc1b371f9a5d6594b4793bdf3b7223ac65912d15d75320e020" | ||
56 | |||
57 | SRC_URI[g711.md5sum] = "fd8e9f939cc505dc5761705ed17a726c" | ||
58 | SRC_URI[g711.sha256sum] = "c87021e8df2a3f494f47e5bdce8a5fad04d667aa1b792fd9b3ecff634867b48d" | ||
59 | |||
60 | SRC_URI[i2p.md5sum] = "f67c04eec9ee49c7a686eecf5d54be33" | ||
61 | SRC_URI[i2p.sha256sum] = "3fbf8801f3ce2aabb6d31eb18e1e24e41ca861696b3140536f1d66adc76f0323" | ||
62 | |||
63 | |||
64 | TI_BIN_UNPK_CMDS = "Y:workdir" | ||
65 | |||
66 | S = "${CODEC_SUITE_NAME}" | ||
67 | |||
68 | DEPENDS = "ti-cgt6x ti-xdctools ti-dspbios ti-codec-engine ti-linuxutils ti-c6accel" | ||
69 | |||
70 | #generic codec | ||
71 | DSPSUFFIX_omap3530 = "x64P" | ||
72 | |||
73 | python do_unpack () { | ||
74 | bb.build.exec_func('base_do_unpack', d) | ||
75 | |||
76 | bb.data.setVar("BINFILE", "omap3530_h264enc_2_01_013_production.bin", d) | ||
77 | bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/omap3530_h264enc_2_01_013_production.tar", d) | ||
78 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
79 | |||
80 | bb.data.setVar("BINFILE", "omap3530_h264dec_2_01_007_production.bin", d) | ||
81 | bb.data.setVar("TARFILE", "omap3530_h264dec_2_01_007_production/omap3530_h264dec_2_01_007_production.tar", d) | ||
82 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
83 | |||
84 | bb.data.setVar("BINFILE", "omap3530_jpegenc_02_01_01_00_production.bin", d) | ||
85 | bb.data.setVar("TARFILE", "omap3530_jpegenc_02_01_01_00_production/omap3530_jpegenc_02_01_01_00_production.tar", d) | ||
86 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
87 | |||
88 | bb.data.setVar("BINFILE", "c64xplus_jpegdec_02_00_01_01_production.bin", d) | ||
89 | bb.data.setVar("TARFILE", "c64xplus_jpegdec_02_00_01_01_production/c64xplus_jpegdec_02_00_01_01_production.tar", d) | ||
90 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
91 | |||
92 | bb.data.setVar("BINFILE", "c64xplus_mpeg2dec_02_00_02_00_production.bin", d) | ||
93 | bb.data.setVar("TARFILE", "c64xplus_mpeg2dec_02_00_02_00_production/c64xplus_mpeg2dec_02_00_02_00_production.tar", d) | ||
94 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
95 | |||
96 | bb.data.setVar("BINFILE", "omap3530_mpeg4enc_02_04_00_00_production.bin", d) | ||
97 | bb.data.setVar("TARFILE", "omap3530_mpeg4enc_02_04_00_00_production/omap3530_mpeg4enc_02_04_00_00_production.tar", d) | ||
98 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
99 | |||
100 | bb.data.setVar("BINFILE", "c64xplus_mpeg4dec_02_01_00_00_production.bin", d) | ||
101 | bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/c64xplus_mpeg4dec_02_01_00_00_production.tar", d) | ||
102 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
103 | |||
104 | bb.data.setVar("BINFILE", "c64xplus_aachedec_01_30_03_00_production.bin", d) | ||
105 | bb.data.setVar("TARFILE", "c64xplus_aachedec_01_30_03_00_production/dm6446_aachedec_01_30_03_00_production.tar", d) | ||
106 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
107 | |||
108 | bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d) | ||
109 | bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711enc_1_12_00_000_production.tar", d) | ||
110 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
111 | |||
112 | bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d) | ||
113 | bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711dec_1_12_00_000_production.tar", d) | ||
114 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
115 | |||
116 | bb.data.setVar("BINFILE", "c64xplus_deinterlacer_01_00_00_07_production.bin", d) | ||
117 | bb.data.setVar("TARFILE", "c64xplus_deinterlacer_01_00_00_07/c64xplus_deinterlacer_01_00_00_07_production.tar", d) | ||
118 | bb.data.setVar("TI_BIN_UNPK_CMDS", "y: :q: ", d) | ||
119 | bb.build.exec_func('ti_bin_do_unpack', d) | ||
120 | |||
121 | } | ||
122 | |||
123 | addtask prepsources after do_unpack before do_patch | ||
124 | |||
125 | do_prepsources () { | ||
126 | |||
127 | mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs | ||
128 | cp ${WORKDIR}/git/omap3530/cs1omap3530/rel-files/* ${CODEC_SUITE_NAME}/ | ||
129 | cp ${WORKDIR}/git/omap3530/cs1omap3530/source/* ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs | ||
130 | cp -a "${WORKDIR}/git/omap3530/cs1omap3530/docs" ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs | ||
131 | |||
132 | mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/codecs | ||
133 | cp -a "${WORKDIR}/omap3530_h264enc_2_01_013_production/packages/ti/sdo/codecs/h264enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
134 | cp -a "${WORKDIR}/omap3530_h264dec_2_01_007_production/packages/ti/sdo/codecs/h264dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
135 | cp -a "${WORKDIR}/omap3530_jpegenc_02_01_01_00_production/packages/ti/sdo/codecs/jpegenc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
136 | cp -a "${WORKDIR}/c64xplus_jpegdec_02_00_01_01_production/packages/ti/sdo/codecs/jpegdec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
137 | cp -a "${WORKDIR}/c64xplus_mpeg2dec_02_00_02_00_production/packages/ti/sdo/codecs/mpeg2dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
138 | cp -a "${WORKDIR}/omap3530_mpeg4enc_02_04_00_00_production/packages/ti/sdo/codecs/mpeg4enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
139 | cp -a "${WORKDIR}/c64xplus_mpeg4dec_02_01_00_00_production/packages/ti/sdo/codecs/mpeg4dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
140 | chmod -R +w "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec/docs" | ||
141 | cp -a "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
142 | cp -a "${WORKDIR}/dm6446_g711enc_1_12_00_000_production/packages/ti/sdo/codecs/g711enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
143 | cp -a "${WORKDIR}/dm6446_g711dec_1_12_00_000_production/packages/ti/sdo/codecs/g711dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
144 | cp -a "${WORKDIR}/c64xplus_deinterlacer_01_00_00_07_production/packages/ti/sdo/codecs/deinterlacer" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" | ||
145 | chmod 755 -R ${CODEC_SUITE_NAME} | ||
146 | } | ||
147 | |||
148 | do_compile() { | ||
149 | |||
150 | cd "${S}" | ||
151 | |||
152 | make \ | ||
153 | CE_INSTALL_DIR=${CE_INSTALL_DIR} \ | ||
154 | FC_INSTALL_DIR=${FC_INSTALL_DIR} \ | ||
155 | LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ | ||
156 | CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ | ||
157 | LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ | ||
158 | BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ | ||
159 | CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ | ||
160 | XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \ | ||
161 | CODEC_INSTALL_DIR="${S}" \ | ||
162 | XDCARGS="prod" \ | ||
163 | C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ | ||
164 | clean | ||
165 | |||
166 | make \ | ||
167 | CE_INSTALL_DIR=${CE_INSTALL_DIR} \ | ||
168 | FC_INSTALL_DIR=${FC_INSTALL_DIR} \ | ||
169 | LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ | ||
170 | CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ | ||
171 | LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ | ||
172 | BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ | ||
173 | CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ | ||
174 | XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \ | ||
175 | CODEC_INSTALL_DIR="${S}" \ | ||
176 | XDCARGS="prod" \ | ||
177 | C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ | ||
178 | all | ||
179 | } | ||
180 | |||
181 | do_install() { | ||
182 | |||
183 | install -d ${D}/${installdir}/ti-codecs-server | ||
184 | cd ${S} | ||
185 | |||
186 | # Install the DSP Server Binary | ||
187 | for file in `find . -name *.${DSPSUFFIX}`; do | ||
188 | cp ${file} ${D}/${installdir}/ti-codecs-server | ||
189 | done | ||
190 | |||
191 | # Install docs (codec qualiTI test reports, server config datasheet, etc) | ||
192 | for file in `find . -name *.html`; do | ||
193 | cp ${file} ${D}/${installdir}/ti-codecs-server | ||
194 | done | ||
195 | |||
196 | install -d ${D}${CODEC_INSTALL_DIR_RECIPE} | ||
197 | cp -pPrf ${CODEC_SUITE_NAME}/* ${D}${CODEC_INSTALL_DIR_RECIPE} | ||
198 | } | ||
199 | |||
200 | |||
201 | PACKAGES += "ti-codecs-omap3530-server" | ||
202 | FILES_ti-codecs-omap3530-server = "${installdir}/ti-codecs-server/*" | ||
203 | |||
204 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai.inc b/recipes-ti/codec-engine/ti-dmai.inc new file mode 100644 index 00000000..d072ecd1 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai.inc | |||
@@ -0,0 +1,158 @@ | |||
1 | DESCRIPTION = "Davinci Multimedia Application Interface (DMAI) for TI ARM/DSP processors" | ||
2 | HOMEPAGE = "https://gforge.ti.com/gf/project/dmai/" | ||
3 | SECTION = "multimedia" | ||
4 | LICENSE = "BSD" | ||
5 | |||
6 | # TODO :: | ||
7 | |||
8 | require recipes-ti/includes/ti-paths.inc | ||
9 | require recipes-ti/includes/ti-staging.inc | ||
10 | |||
11 | PROVIDES += "ti-dmai-apps" | ||
12 | |||
13 | PE = "1" | ||
14 | |||
15 | SRCREV ?= "<UNDEFINED_SRCREV>" | ||
16 | DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>" | ||
17 | |||
18 | S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}" | ||
19 | |||
20 | SRC_URI = "svn://gforge.ti.com/svn/dmai/;module=${DMAIBRANCH};proto=https;user=anonymous;pswd='' \ | ||
21 | file://loadmodules-ti-dmai-dm6446_al.sh \ | ||
22 | file://loadmodules-ti-dmai-dm6467_al.sh \ | ||
23 | file://loadmodules-ti-dmai-o3530_al.sh \ | ||
24 | file://loadmodules-ti-dmai-dm355_al.sh \ | ||
25 | file://loadmodules-ti-dmai-dm365_al.sh \ | ||
26 | file://loadmodules-ti-dmai-ol137_al.sh \ | ||
27 | file://loadmodules-ti-dmai-ol138_al.sh \ | ||
28 | file://doxygen_templates.tar.gz \ | ||
29 | file://arago-tdox \ | ||
30 | " | ||
31 | |||
32 | DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools" | ||
33 | |||
34 | DEPENDS_append_dm6446 = " ti-codecs-dm6446 ti-dspbios ti-cgt6x ti-linuxutils" | ||
35 | DEPENDS_append_dm6467 = " ti-codecs-dm6467 ti-dspbios ti-cgt6x ti-linuxutils" | ||
36 | DEPENDS_append_omap3 = " ti-codecs-omap3530 ti-dspbios ti-cgt6x ti-linuxutils" | ||
37 | DEPENDS_append_dm355 = " ti-codecs-dm355" | ||
38 | DEPENDS_append_dm365 = " ti-codecs-dm365" | ||
39 | DEPENDS_append_omapl137 = " ti-codecs-omapl137 ti-dspbios ti-cgt6x ti-linuxutils" | ||
40 | DEPENDS_append_omapl138 = " ti-codecs-omapl138 ti-dspbios ti-cgt6x ti-linuxutils" | ||
41 | |||
42 | # Define DMAI build time variables | ||
43 | DMAIPLATFORM_dm6446 = "dm6446_al" | ||
44 | DMAIPLATFORM_dm6467 = "dm6467_al" | ||
45 | DMAIPLATFORM_omap3 = "o3530_al" | ||
46 | DMAIPLATFORM_dm355 = "dm355_al" | ||
47 | DMAIPLATFORM_dm365 = "dm365_al" | ||
48 | DMAIPLATFORM_omapl137 = "ol137_al" | ||
49 | DMAIPLATFORM_omapl138 = "ol138_al" | ||
50 | DMAIPLATFORM ?= "<UNDEFINED_DMAIPLATFORM>" | ||
51 | |||
52 | # Need to set this for other platforms as well | ||
53 | #GPPOS_dm355 = "LINUX_GCC" | ||
54 | #GPPOS_dm365 = "LINUX_GCC" | ||
55 | #GPPOS ?= "<UNDEFINEDGPPOS>" | ||
56 | |||
57 | # Need to re-define this for OMAP-L137/L138 | ||
58 | DSPSUFFIX_omapl137 = "x64P" | ||
59 | DSPSUFFIX_omapl138 = "x64P" | ||
60 | DSPSUFFIX ?= "x64p" | ||
61 | |||
62 | # This is needed for dm355/dm365 targets in order to find ti.sdo.codecs.g711 | ||
63 | # TODO :: review - should we just pass this in do_compile? | ||
64 | USER_XDC_PATH = "${CE_INSTALL_DIR}/examples" | ||
65 | |||
66 | PARALLEL_MAKE = "" | ||
67 | |||
68 | do_prepsources() { | ||
69 | # run the release steps - this will delete .svn file and run doxygen to | ||
70 | # generate proper documentation of the source etc. | ||
71 | find ${WORKDIR}/${DMAIBRANCH} -name .svn -type d | xargs rm -rf | ||
72 | cp -pPrf ${WORKDIR}/doxygen_templates ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface | ||
73 | cp -pPrf ${WORKDIR}/arago-tdox ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox | ||
74 | chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh | ||
75 | chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox | ||
76 | sed -i 's|tdox|./tdox|g' ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh | ||
77 | (cd ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface; ./release.sh ${PV}) | ||
78 | } | ||
79 | |||
80 | # run prepare sources before do_patch to ensure that sourceipk picks the right sources. | ||
81 | addtask prepsources after do_unpack before do_patch | ||
82 | |||
83 | do_compile () { | ||
84 | # Recent kernel headers warn against inclusion from userspace | ||
85 | for makefile in $(find ${S} -name "Makefile") ; do | ||
86 | sed -i -e s:-Werror::g $makefile | ||
87 | done | ||
88 | |||
89 | # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it | ||
90 | if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then | ||
91 | # Fix up linkerscripts, recent toolchains need -T to prepend the default script to the custom one | ||
92 | for appmakefile in $(find ${S} -name "Makefile.app") ; do | ||
93 | sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' $appmakefile | ||
94 | done | ||
95 | fi | ||
96 | |||
97 | # TODO :: Why do we do this? | ||
98 | unset DMAI_INSTALL_DIR | ||
99 | cd ${S} | ||
100 | |||
101 | make XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" PLATFORM="${DMAIPLATFORM}" clean | ||
102 | |||
103 | for dir in ${S}; do | ||
104 | cd $dir | ||
105 | # TODO: Figure out how to pass the alsa require location, currently | ||
106 | # LINUXLIBS_INSTALL_DIR is hard-coded for armv5te | ||
107 | make \ | ||
108 | CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ | ||
109 | CODEC_INSTALL_DIR="${CODEC_INSTALL_DIR}" \ | ||
110 | FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ | ||
111 | LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ | ||
112 | XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ | ||
113 | CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \ | ||
114 | BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\ | ||
115 | LINUXLIBS_INSTALL_DIR="${STAGING_DIR_TARGET}/usr" \ | ||
116 | USER_XDC_PATH="${USER_XDC_PATH}" \ | ||
117 | CROSS_COMPILE="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \ | ||
118 | VERBOSE="true" \ | ||
119 | XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ | ||
120 | LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ | ||
121 | CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ | ||
122 | LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ | ||
123 | C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ | ||
124 | MVTOOL_PREFIX="${TARGET_PREFIX}" \ | ||
125 | PLATFORM="${DMAIPLATFORM}" | ||
126 | done | ||
127 | } | ||
128 | |||
129 | do_install () { | ||
130 | |||
131 | # TODO :: Why do we do this? | ||
132 | unset DMAI_INSTALL_DIR | ||
133 | |||
134 | install -d ${D}/${installdir}/ti-dmai-apps | ||
135 | cd ${S} | ||
136 | make PLATFORM="${DMAIPLATFORM}" EXEC_DIR=${D}/${installdir}/ti-dmai-apps install | ||
137 | install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${DMAIPLATFORM}.sh ${D}/${installdir}/ti-dmai-apps/loadmodules.sh | ||
138 | |||
139 | install -d ${D}${DMAI_INSTALL_DIR_RECIPE} | ||
140 | cp -pPrf ${S}/* ${D}${DMAI_INSTALL_DIR_RECIPE} | ||
141 | } | ||
142 | |||
143 | PACKAGES += "ti-dmai-apps" | ||
144 | FILES_ti-dmai-apps = "${installdir}/ti-dmai-apps/*" | ||
145 | INSANE_SKIP_ti-dmai-apps = True | ||
146 | |||
147 | RDEPENDS_ti-dmai-apps_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module" | ||
148 | RDEPENDS_ti-dmai-apps_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module" | ||
149 | RDEPENDS_ti-dmai-apps_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module" | ||
150 | RDEPENDS_ti-dmai-apps_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module" | ||
151 | RDEPENDS_ti-dmai-apps_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module" | ||
152 | RDEPENDS_ti-dmai-apps_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module" | ||
153 | RDEPENDS_ti-dmai-apps_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module" | ||
154 | |||
155 | pkg_postinst_ti-dmai-apps () { | ||
156 | ln -sf ${installdir}/ti-codecs-server/*.${DSPSUFFIX} ${installdir}/ti-dmai-apps/ | ||
157 | } | ||
158 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch b/recipes-ti/codec-engine/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch new file mode 100644 index 00000000..21e71dec --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 9d9326c26ea990fa49842e0c57d520a5acb4d887 Mon Sep 17 00:00:00 2001 | ||
2 | From: Don Darling <ddarling@ti.com> | ||
3 | Date: Fri, 16 Apr 2010 17:40:40 -0500 | ||
4 | Subject: [PATCH] Correct DMAI's Resize module for DM365. | ||
5 | |||
6 | The PSP requires virtual addresses to be given for the resize buffers. This | ||
7 | differs from previous releases, which required physical addresses. This | ||
8 | change updates the Resize module to use virtual addresses. | ||
9 | --- | ||
10 | .../packages/ti/sdo/dmai/linux/dm365/Resize.c | 4 ++-- | ||
11 | 1 files changed, 2 insertions(+), 2 deletions(-) | ||
12 | |||
13 | diff --git a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c | ||
14 | index c1716c4..3e71e46 100644 | ||
15 | --- a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c | ||
16 | +++ b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c | ||
17 | @@ -313,12 +313,12 @@ Int Resize_execute(Resize_Handle hResize, | ||
18 | |||
19 | rsz.in_buff.index = -1; | ||
20 | rsz.in_buff.buf_type = IMP_BUF_IN; | ||
21 | - rsz.in_buff.offset = Buffer_getPhysicalPtr(hSrcBuf) + srcOffset; | ||
22 | + rsz.in_buff.offset = ((Int32)Buffer_getUserPtr(hSrcBuf)) + srcOffset; | ||
23 | rsz.in_buff.size = Buffer_getSize(hSrcBuf); | ||
24 | |||
25 | rsz.out_buff1.index = -1; | ||
26 | rsz.out_buff1.buf_type = IMP_BUF_OUT1; | ||
27 | - rsz.out_buff1.offset = Buffer_getPhysicalPtr(hDstBuf) + dstOffset; | ||
28 | + rsz.out_buff1.offset = ((Int32)Buffer_getUserPtr(hDstBuf)) + dstOffset; | ||
29 | rsz.out_buff1.size = Buffer_getSize(hDstBuf); | ||
30 | |||
31 | /* | ||
32 | -- | ||
33 | 1.6.3.3 | ||
34 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai/arago-tdox b/recipes-ti/codec-engine/ti-dmai/arago-tdox new file mode 100644 index 00000000..81538cf3 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/arago-tdox | |||
@@ -0,0 +1,210 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # | ||
4 | # This script sets a series of environment variable that are referenced | ||
5 | # in a doxygen configuration file. The values passed in here are simply | ||
6 | # plugged into the file locations and doxygen proceeds normaly. | ||
7 | # | ||
8 | # template location is ${VENDORS}/opensource/doxygen/templates/<version> | ||
9 | # | ||
10 | # | ||
11 | |||
12 | # Revision history | ||
13 | #! 02 Jul 2009 cring: Added cmd line args for doxygendir (-x) and template (-t) | ||
14 | #! 13 Jul 2006 ada: New template smaller pdf generation | ||
15 | #! 16 May 2006 ada: Added -p file to pdf for space in project names | ||
16 | #! 08 May 2006 ada: Added pdf generation to tdox (Solaris/Linux only). | ||
17 | #! 23 Jan 2006 ada: Overide file to change default doxyfile behaivior | ||
18 | #! 19 Jan 2006 ada: 1093, ENUM_VALUES_PER_LINE set to 1, ref doxyfile via vers | ||
19 | #! 05 Oct 2005 ada: 933, doxyfile in tools, removed win and unix vendors path | ||
20 | #! 24 Aug 2005 ada: Added 897 changes, optional css c or jave optimization | ||
21 | #! 18 Aug 2005 ada: inital version from AR 887 | ||
22 | |||
23 | # Set these defaults here as the usage statement uses them | ||
24 | TDOX_TEMPLATEDIR=${TOOLS}/default/doxygen_templates | ||
25 | DOXYGEN_EXECUTABLE=doxygen | ||
26 | |||
27 | function usage | ||
28 | { | ||
29 | OPTIONS="`basename $0` code_location out_doc_location [-x doxygen_exe ] [-t tdox_templatedir] [-n project_name] [-v version] [-f FILE_PATTERNS ] [-s strip_dir] [-c css location] [-e exclude dirs] [-b enabled sections] [-m generate chm] [-p pdf_file] [-o override doxyfile] [-j]" | ||
30 | echo "`basename $1` $OPTIONS" | ||
31 | echo "Where: " | ||
32 | echo "\tcode_location: Top of tree(s) to search for code (required as 1st param)" | ||
33 | echo "\tout_doc_location: Output location for generated files (required as 2nd param)" | ||
34 | echo "\t[-n project_name]: title of generated documentation (defaults to Project)" | ||
35 | echo "\t[-x doxygen_exe]: location of doxygen executable (defaults to $DOXYGEN_EXECUTABLE)" | ||
36 | echo "\t[-t tdox_templatedir]: location of tdox templates (defaults to $TDOX_TEMPLATEDIR)" | ||
37 | echo "\t[-v version]: version number or string (defaults to 1.0)" | ||
38 | echo "\t[-f FILE_PATTERNS]: Optional list of files to document (defaults to all)" | ||
39 | echo "\t[-s strip_dirs]: Remove directory prefix from generated files (defaults to not remove)" | ||
40 | echo "\t[-c path_to_css]: Path to a user suplied CSS style sheet" | ||
41 | echo "\t[-e exclude dirs]: List of directories to exclude" | ||
42 | echo "\t[-b enabled sections]: List of sections to enable" | ||
43 | echo "\t[-m generate chm]: chm file name (required)" | ||
44 | echo "\t[-p generate pdf <file>]: create <file>.pdf in html/pdf (Linux only)" | ||
45 | echo "\t[-o override doxyfile]: file (advanced) Overide any doxyfile default" | ||
46 | echo "\t[-j]: Optimize for Java (Generate class files) defaults to C" | ||
47 | echo "\t[-r]: Call rshd to windows for chm generation (defaults to wine)" | ||
48 | echo | ||
49 | exit | ||
50 | } | ||
51 | |||
52 | function optimizeForJava | ||
53 | { | ||
54 | DOX_OPTIMIZE_OUTPUT_JAVA="YES" | ||
55 | DOX_OPTIMIZE_OUTPUT_FOR_C="NO" | ||
56 | } | ||
57 | |||
58 | if [ "$#" -lt 2 ]; then | ||
59 | echo "Invalid number of parameters" | ||
60 | usage $0 | ||
61 | fi | ||
62 | |||
63 | # get the required parameters then shift for the getopts parameters | ||
64 | export DOX_INPUT="$1" | ||
65 | shift | ||
66 | export DOX_OUTPUT_DIRECTORY="$1" | ||
67 | shift | ||
68 | |||
69 | #set the global defaults | ||
70 | DOX_QUIET="YES" | ||
71 | DOX_OPTIMIZE_OUTPUT_JAVA="NO" | ||
72 | DOX_OPTIMIZE_OUTPUT_FOR_C="YES" | ||
73 | DOX_CHM_FILE= | ||
74 | DOX_GENERATE_HTMLHELP="NO" | ||
75 | OVERRIDE_FILE="" | ||
76 | PDF="" | ||
77 | |||
78 | # Process the rest of the arguments as getopts | ||
79 | # parameters | ||
80 | while getopts b:c:e:f:m:n:o:p:s:t:v:x:dhjr arg | ||
81 | do | ||
82 | case $arg in | ||
83 | b) DOX_ENABLED_SECTIONS=${OPTARG};; | ||
84 | c) DOX_HTML_STYLESHEET=${OPTARG};; | ||
85 | d) DEBUG=1;; | ||
86 | e) DOX_EXCLUDE=${OPTARG};; | ||
87 | f) DOX_FILE_PATTERNS=${OPTARG};; | ||
88 | h) usage;exit 0;; | ||
89 | j) optimizeForJava;; | ||
90 | r) USERSHD=1;; | ||
91 | m) DOX_CHM_FILE=${OPTARG};DOX_GENERATE_HTMLHELP="YES";; | ||
92 | n) DOX_PROJECT_NAME=${OPTARG};; | ||
93 | s) DOX_STRIP_FROM_PATH=${OPTARG};; | ||
94 | t) TDOX_TEMPLATEDIR=${OPTARG};; | ||
95 | v) DOX_PROJECT_NUMBER=${OPTARG};; | ||
96 | x) DOXYGEN_EXECUTABLE=${OPTARG};; | ||
97 | o) OVERRIDE_FILE=${OPTARG};; | ||
98 | p) PDF=${OPTARG};; | ||
99 | \?) usage | ||
100 | exit 2;; | ||
101 | esac | ||
102 | done | ||
103 | |||
104 | if [ "$DEBUG" = "1" ]; then | ||
105 | DOX_QUIET="NO" | ||
106 | set -x | ||
107 | fi | ||
108 | |||
109 | if [ "$DOX_PROJECT_NAME" = "" ]; then | ||
110 | DOX_PROJECT_NAME="Project" | ||
111 | fi | ||
112 | |||
113 | if [ "$DOX_PROJECT_NUMBER" = "" ]; then | ||
114 | DOX_PROJECT_NUMBER="1.0" | ||
115 | fi | ||
116 | |||
117 | if [ "$DOX_FILE_PATTERNS" = "" ]; then | ||
118 | DOX_FILE_PATTERNS="*.c \ | ||
119 | *.cc \ | ||
120 | *.cxx \ | ||
121 | *.cpp \ | ||
122 | *.c++ \ | ||
123 | *.d \ | ||
124 | *.java \ | ||
125 | *.ii \ | ||
126 | *.ixx \ | ||
127 | *.ipp \ | ||
128 | *.i++ \ | ||
129 | *.inl \ | ||
130 | *.h \ | ||
131 | *.hh \ | ||
132 | *.hxx \ | ||
133 | *.hpp \ | ||
134 | *.h++ \ | ||
135 | *.idl \ | ||
136 | *.odl \ | ||
137 | *.cs \ | ||
138 | *.php \ | ||
139 | *.php3 \ | ||
140 | *.inc \ | ||
141 | *.m \ | ||
142 | *.mm \ | ||
143 | *.dox" | ||
144 | fi | ||
145 | |||
146 | export DOX_INPUT | ||
147 | export DOX_OUTPUT_DIRECTORY | ||
148 | export DOX_PROJECT_NAME | ||
149 | export DOX_PROJECT_NUMBER | ||
150 | export DOX_FILE_PATTERNS | ||
151 | export DOX_STRIP_FROM_PATH | ||
152 | export DOX_QUIET | ||
153 | export DOX_HTML_STYLESHEET | ||
154 | export DOX_OPTIMIZE_OUTPUT_FOR_C | ||
155 | export DOX_OPTIMIZE_OUTPUT_JAVA | ||
156 | export DOX_EXCLUDE | ||
157 | export DOX_ENABLED_SECTIONS | ||
158 | export DOX_CHM_FILE | ||
159 | export DOX_GENERATE_HTMLHELP | ||
160 | export TDOX_TEMPLATEDIR | ||
161 | |||
162 | |||
163 | # Make sure the dir exists | ||
164 | mkdir -p $DOX_OUTPUT_DIRECTORY | ||
165 | |||
166 | # Create temp file copy of doxyfile and append overrides to the end of the file | ||
167 | cp ${TDOX_TEMPLATEDIR}/doxyfile /tmp/doxyfile$$ | ||
168 | |||
169 | chmod +w /tmp/doxyfile$$ | ||
170 | if [ "$OVERRIDE_FILE" != "" ]; then | ||
171 | cat $OVERRIDE_FILE >> /tmp/doxyfile$$ | ||
172 | fi | ||
173 | |||
174 | # Run doxygen and clean up temp file | ||
175 | ${DOXYGEN_EXECUTABLE} /tmp/doxyfile$$ | ||
176 | rm -f /tmp/doxyfile$$ | ||
177 | |||
178 | # Copy the TI banner gifs to the html directory. | ||
179 | cp -p ${TDOX_TEMPLATEDIR}/*gif $DOX_OUTPUT_DIRECTORY/html | ||
180 | |||
181 | # Generate PDF files | ||
182 | if [ "$PDF" != "" ]; then | ||
183 | if [ "$BUILD_HOST_OS" = "Linux" ]; then | ||
184 | rm -rf $DOX_OUTPUT_DIRECTORY/html/pdf | ||
185 | mkdir -p $DOX_OUTPUT_DIRECTORY/html/pdf | ||
186 | cwd=`pwd` | ||
187 | cd $DOX_OUTPUT_DIRECTORY/latex | ||
188 | latex refman.tex | ||
189 | makeindex refman.idx | ||
190 | latex refman.tex | ||
191 | latex_count=5 | ||
192 | while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] | ||
193 | do | ||
194 | latex refman.tex | ||
195 | latex_count=`expr $$latex_count - 1` | ||
196 | done | ||
197 | dvips -o refman.ps refman.dvi | ||
198 | ps2pdf refman.ps refman.pdf | ||
199 | cd $cwd | ||
200 | mv $DOX_OUTPUT_DIRECTORY/latex/refman.pdf $DOX_OUTPUT_DIRECTORY/html/pdf/${PDF}.pdf | ||
201 | else | ||
202 | echo "Sorry... pdf generation supported under Linux only" | ||
203 | fi | ||
204 | fi | ||
205 | |||
206 | # Generate Windows compressed help | ||
207 | if [ "$DOX_GENERATE_HTMLHELP" = "YES" ]; then | ||
208 | |||
209 | echo "chm generation is not supported" | ||
210 | fi | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-built-with-angstrom.patch b/recipes-ti/codec-engine/ti-dmai/dmai-built-with-angstrom.patch new file mode 100644 index 00000000..fc497897 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-built-with-angstrom.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | Index: dmai_1_20_00_06/packages/config.bld | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/config.bld 2009-02-11 19:38:51.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/config.bld 2009-02-11 19:39:23.000000000 -0600 | ||
5 | @@ -42,7 +42,7 @@ | ||
6 | |||
7 | /* location of the Codec Sourcery Arm9 tools */ | ||
8 | var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T'); | ||
9 | -GCArmv5T.LONGNAME = 'bin/arm-none-linux-gnueabi-gcc'; | ||
10 | +GCArmv5T.LONGNAME = 'bin/arm-angstrom-linux-gnueabi-gcc'; | ||
11 | GCArmv5T.platform = "ti.platforms.evm3530"; | ||
12 | GCArmv5T.rootDir = java.lang.System.getenv("CSTOOL_DIR"); | ||
13 | |||
14 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile | ||
15 | =================================================================== | ||
16 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/Makefile 2009-02-11 19:39:57.000000000 -0600 | ||
17 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile 2009-02-11 19:58:05.000000000 -0600 | ||
18 | @@ -33,7 +33,7 @@ | ||
19 | DMAI_INSTALL_DIR = ../../../.. | ||
20 | TARGET = dmai | ||
21 | |||
22 | -include $(DMAI_INSTALL_DIR)/Rules.make | ||
23 | +#include $(DMAI_INSTALL_DIR)/Rules.make | ||
24 | |||
25 | # Should the full command be echoed to the console during build? | ||
26 | VERBOSE=false | ||
27 | @@ -64,7 +64,7 @@ | ||
28 | MVL_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=MVArm9 | ||
29 | CS_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=codesourcery/GCArmv5T | ||
30 | |||
31 | -GNU_C_FLAGS = $(C_FLAGS) -Wall -Werror | ||
32 | +GNU_C_FLAGS = $(C_FLAGS) -Wall | ||
33 | C64P_C_FLAGS = $(C_FLAGS) | ||
34 | |||
35 | GNU_AR_FLAGS = $(AR_FLAGS) | ||
36 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app | ||
37 | =================================================================== | ||
38 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:58:44.000000000 -0600 | ||
39 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:59:01.000000000 -0600 | ||
40 | @@ -34,7 +34,7 @@ | ||
41 | ifndef DMAI_INSTALL_DIR | ||
42 | DMAI_INSTALL_DIR = ../../../../../.. | ||
43 | endif | ||
44 | -include $(DMAI_INSTALL_DIR)/Rules.make | ||
45 | +#include $(DMAI_INSTALL_DIR)/Rules.make | ||
46 | |||
47 | # Should the full command be echoed to the console during build? | ||
48 | VERBOSE=false | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch b/recipes-ti/codec-engine/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch new file mode 100644 index 00000000..20e1aece --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:23.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:25.000000000 -0600 | ||
5 | @@ -139,7 +139,7 @@ | ||
6 | |||
7 | snd_mixer_selem_id_free (sid); | ||
8 | snd_mixer_close (rcMixer); | ||
9 | - | ||
10 | + | ||
11 | return Dmai_EOK; | ||
12 | } | ||
13 | |||
14 | @@ -431,14 +431,13 @@ | ||
15 | Sound_alsa_delete(hSound); | ||
16 | return NULL; | ||
17 | } | ||
18 | - | ||
19 | + | ||
20 | if (setMixerVolume (attrs) <0) { | ||
21 | - Sound_alsa_delete (hSound); | ||
22 | - return NULL; | ||
23 | + Dmai_dbg2("Failed to set the mixer volume on %s (%s)\n", | ||
24 | + AUDIO_DEVICE, snd_strerror(status)); | ||
25 | } | ||
26 | } | ||
27 | |||
28 | - | ||
29 | return hSound; | ||
30 | } | ||
31 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-r423-add-omapl137-support.patch b/recipes-ti/codec-engine/ti-dmai/dmai-r423-add-omapl137-support.patch new file mode 100644 index 00000000..8f9e8b9f --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-r423-add-omapl137-support.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff -uNr davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c davinci_multimedia_application_interfaceb/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c | ||
2 | --- davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 22:43:20.000000000 +0000 | ||
3 | +++ davinci_multimedia_application_interfaceb/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 23:19:41.000000000 +0000 | ||
4 | @@ -43,7 +43,7 @@ | ||
5 | |||
6 | #ifdef Dmai_Device_omap3530 | ||
7 | #include <linux/omapfb.h> | ||
8 | -#elif defined Dmai_Device_omapl138 | ||
9 | +#elif defined (Dmai_Device_omapl137) || defined (Dmai_Device_omapl138) | ||
10 | #include <video/davincifb.h> | ||
11 | #else | ||
12 | #include <video/davincifb_ioctl.h> | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-support-32bit-align.patch b/recipes-ti/codec-engine/ti-dmai/dmai-support-32bit-align.patch new file mode 100644 index 00000000..0ee817d9 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-support-32bit-align.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:20:45.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:21:09.000000000 -0600 | ||
5 | @@ -557,9 +557,9 @@ | ||
6 | srcOffset = srcDim.y * srcDim.lineLength + srcDim.x * 2; | ||
7 | dstOffset = dstDim.y * dstDim.lineLength + dstDim.x * 2; | ||
8 | |||
9 | - /* Input and output buffers must be 4096 bytes aligned */ | ||
10 | - assert(((Buffer_getPhysicalPtr(hDstBuf) + srcOffset) & 0xFFF) == 0); | ||
11 | - assert(((Buffer_getPhysicalPtr(hSrcBuf) + dstOffset) & 0xFFF) == 0); | ||
12 | + /* Pointers must be a multiple of 32 bytes */ | ||
13 | + assert((Buffer_getPhysicalPtr(hDstBuf) & 0x1F) == 0); | ||
14 | + assert((Buffer_getPhysicalPtr(hSrcBuf) & 0x1F) == 0); | ||
15 | |||
16 | /* Queue the resizer buffers */ | ||
17 | for (i=0; i < 2; i++) { | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch b/recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch new file mode 100644 index 00000000..052a8e32 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:22.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:51.000000000 -0600 | ||
5 | @@ -103,7 +103,10 @@ | ||
6 | else if (strcmp(valBuf, "DM357 EVM") == 0) { | ||
7 | *device = Cpu_Device_DM6446; | ||
8 | } | ||
9 | - else if (strcmp(valBuf, "OMAP3EVM Board") == 0) { | ||
10 | + else if ((strcmp(valBuf, "OMAP3EVM Board") == 0) || | ||
11 | + (strcmp(valBuf, "OMAP3 EVM") == 0) || | ||
12 | + (strcmp(valBuf, "OMAP3 Beagle Board") == 0) | ||
13 | + ){ | ||
14 | *device = Cpu_Device_OMAP3530; | ||
15 | } | ||
16 | else { | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch b/recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch new file mode 100644 index 00000000..91c1dd15 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch | |||
@@ -0,0 +1,77 @@ | |||
1 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 19:59:57.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 20:02:46.000000000 -0600 | ||
5 | @@ -41,10 +41,7 @@ | ||
6 | #include <sys/ioctl.h> | ||
7 | #include <linux/fb.h> | ||
8 | |||
9 | -#ifdef Dmai_Device_omap3530 | ||
10 | -/* OMAP specific kernel headers */ | ||
11 | -#include <video/omapfbdev.h> | ||
12 | -#else | ||
13 | +#ifndef Dmai_Device_omap3530 | ||
14 | /* Davinci specific kernel headers */ | ||
15 | #include <video/davincifb_ioctl.h> | ||
16 | #endif | ||
17 | @@ -184,11 +181,13 @@ | ||
18 | } | ||
19 | #endif | ||
20 | |||
21 | +#if 0 | ||
22 | /* Set up the sysfs variables before opening the display device */ | ||
23 | if (_Display_sysfsSetup(attrs, channel) < 0) { | ||
24 | cleanup(hDisplay); | ||
25 | return NULL; | ||
26 | } | ||
27 | +#endif | ||
28 | |||
29 | /* Open video display device */ | ||
30 | hDisplay->fd = open(attrs->displayDevice, O_RDWR); | ||
31 | @@ -423,6 +422,7 @@ | ||
32 | ******************************************************************************/ | ||
33 | Int Display_fbdev_get(Display_Handle hDisplay, Buffer_Handle *hBufPtr) | ||
34 | { | ||
35 | +#if defined (FBIO_WAITFORVSYNC) | ||
36 | BufTab_Handle hBufTab = hDisplay->hBufTab; | ||
37 | int dummy; | ||
38 | |||
39 | @@ -436,7 +436,8 @@ | ||
40 | } | ||
41 | |||
42 | *hBufPtr = BufTab_getBuf(hBufTab, hDisplay->workingIdx); | ||
43 | - | ||
44 | + | ||
45 | +#endif | ||
46 | return Dmai_EOK; | ||
47 | } | ||
48 | |||
49 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c | ||
50 | =================================================================== | ||
51 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:00:10.000000000 -0600 | ||
52 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:02:07.000000000 -0600 | ||
53 | @@ -80,18 +80,18 @@ | ||
54 | |||
55 | const Display_Attrs Display_Attrs_O3530_VID_DEFAULT = { | ||
56 | 3, | ||
57 | - Display_Std_V4L2, | ||
58 | - VideoStd_VGA, | ||
59 | - Display_Output_LCD, | ||
60 | - "/dev/video1", | ||
61 | + Display_Std_FBDEV, | ||
62 | + VideoStd_D1_NTSC, | ||
63 | + Display_Output_DVI, | ||
64 | + "/dev/fb2", | ||
65 | 0 | ||
66 | }; | ||
67 | |||
68 | const Display_Attrs Display_Attrs_O3530_OSD_DEFAULT = { | ||
69 | 1, | ||
70 | Display_Std_FBDEV, | ||
71 | - VideoStd_VGA, | ||
72 | - Display_Output_LCD, | ||
73 | + VideoStd_D1_NTSC, | ||
74 | + Display_Output_DVI, | ||
75 | "/dev/fb0", | ||
76 | 0 | ||
77 | }; | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch b/recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch new file mode 100644 index 00000000..8bb77d84 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch | |||
@@ -0,0 +1,127 @@ | |||
1 | Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c | ||
2 | =================================================================== | ||
3 | --- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:22:51.000000000 -0600 | ||
4 | +++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:27:02.000000000 -0600 | ||
5 | @@ -120,7 +120,9 @@ | ||
6 | struct v4l2_format fmt; | ||
7 | enum v4l2_buf_type type; | ||
8 | Display_Handle hDisplay; | ||
9 | - Int channel; | ||
10 | +#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION) | ||
11 | + struct v4l2_control control; | ||
12 | +#endif | ||
13 | |||
14 | assert(attrs); | ||
15 | |||
16 | @@ -134,44 +136,6 @@ | ||
17 | |||
18 | hDisplay->userAlloc = TRUE; | ||
19 | |||
20 | -#ifdef Dmai_Device_omap3530 | ||
21 | - /* channel = 0 - digital video path | ||
22 | - * channel = 1 - analog video path | ||
23 | - */ | ||
24 | - switch (attrs->videoOutput) { | ||
25 | - case Display_Output_SVIDEO: | ||
26 | - case Display_Output_COMPOSITE: | ||
27 | - channel = 1; | ||
28 | - break; | ||
29 | - case Display_Output_DVI: | ||
30 | - case Display_Output_LCD: | ||
31 | - case Display_Output_SYSTEM: | ||
32 | - channel = 0; | ||
33 | - break; | ||
34 | - default: | ||
35 | - /* do nothing */ | ||
36 | - break; | ||
37 | - } | ||
38 | -#else | ||
39 | - if (strcmp(attrs->displayDevice, "/dev/video2") == 0) { | ||
40 | - channel = 0; | ||
41 | - } | ||
42 | - else if (strcmp(attrs->displayDevice, "/dev/video3") == 0) { | ||
43 | - channel = 1; | ||
44 | - } | ||
45 | - else { | ||
46 | - Dmai_err1("%s not a display device\n", attrs->displayDevice); | ||
47 | - cleanup(hDisplay); | ||
48 | - return NULL; | ||
49 | - } | ||
50 | -#endif | ||
51 | - | ||
52 | - /* Set up the sysfs variables before opening the display device */ | ||
53 | - if (_Display_sysfsSetup(attrs, channel) < 0) { | ||
54 | - cleanup(hDisplay); | ||
55 | - return NULL; | ||
56 | - } | ||
57 | - | ||
58 | /* Open video capture device */ | ||
59 | hDisplay->fd = open(attrs->displayDevice, O_RDWR, 0); | ||
60 | |||
61 | @@ -182,9 +146,8 @@ | ||
62 | return NULL; | ||
63 | } | ||
64 | |||
65 | -#ifdef Dmai_Device_omap3530 | ||
66 | -#define VIDIOC_S_OMAP2_ROTATION _IOW ('V', 3, int) | ||
67 | - | ||
68 | + | ||
69 | +#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION) | ||
70 | if (attrs->rotation != 0 && attrs->rotation != 90 && | ||
71 | attrs->rotation != 180 && attrs->rotation != 270) { | ||
72 | |||
73 | @@ -193,49 +156,16 @@ | ||
74 | return NULL; | ||
75 | } | ||
76 | |||
77 | - if (ioctl(hDisplay->fd, VIDIOC_S_OMAP2_ROTATION, &attrs->rotation) < 0) { | ||
78 | - Dmai_err2("Failed VIDIOC_S_OMAP2_ROTATION on %s (%s)\n", | ||
79 | + control.id = V4L2_CID_ROTATION; | ||
80 | + control.value = attrs->rotation; | ||
81 | + | ||
82 | + if (ioctl(hDisplay->fd, VIDIOC_S_CTRL, &control) < 0) { | ||
83 | + Dmai_err2("Failed VIDIOC_S_CTRL on %s (%s)\n", | ||
84 | attrs->displayDevice, strerror(errno)); | ||
85 | cleanup(hDisplay); | ||
86 | return NULL; | ||
87 | } | ||
88 | |||
89 | - switch (attrs->videoStd) { | ||
90 | - case VideoStd_D1_NTSC: | ||
91 | - fmt.fmt.pix.width = VideoStd_D1_WIDTH; | ||
92 | - fmt.fmt.pix.height = VideoStd_D1_NTSC_HEIGHT; | ||
93 | - break; | ||
94 | - case VideoStd_D1_PAL: | ||
95 | - fmt.fmt.pix.width = VideoStd_D1_WIDTH; | ||
96 | - fmt.fmt.pix.height = VideoStd_D1_PAL_HEIGHT; | ||
97 | - break; | ||
98 | - case VideoStd_VGA: | ||
99 | - fmt.fmt.pix.width = VideoStd_VGA_WIDTH; | ||
100 | - fmt.fmt.pix.height = VideoStd_VGA_HEIGHT; | ||
101 | - break; | ||
102 | - case VideoStd_480P: | ||
103 | - fmt.fmt.pix.width = VideoStd_480P_WIDTH; | ||
104 | - fmt.fmt.pix.height = VideoStd_480P_HEIGHT; | ||
105 | - break; | ||
106 | - case VideoStd_720P_60: | ||
107 | - fmt.fmt.pix.width = VideoStd_480P_WIDTH; | ||
108 | - fmt.fmt.pix.height = VideoStd_480P_HEIGHT; | ||
109 | - break; | ||
110 | - default: | ||
111 | - Dmai_err1("Unknown video standard %d\n", attrs->videoStd); | ||
112 | - cleanup(hDisplay); | ||
113 | - return NULL; | ||
114 | - } | ||
115 | - | ||
116 | - fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY; | ||
117 | - fmt.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; | ||
118 | - | ||
119 | - if (ioctl(hDisplay->fd, VIDIOC_S_FMT, &fmt) == -1) { | ||
120 | - Dmai_err2("Failed VIDIOC_S_FMT on %s (%s)\n", attrs->displayDevice, | ||
121 | - strerror(errno)); | ||
122 | - cleanup(hDisplay); | ||
123 | - return NULL; | ||
124 | - } | ||
125 | #endif /* Dmai_Device_omap3530 */ | ||
126 | |||
127 | /* Determine the video image dimensions */ | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz b/recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz new file mode 100644 index 00000000..6d613bf5 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz | |||
Binary files differ | |||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh new file mode 100755 index 00000000..7120b744 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh | |||
@@ -0,0 +1,37 @@ | |||
1 | # | ||
2 | # Default Memory Map - for OMAP3530 dvsdk examples from 3.00.00.29 - this memory map is used for DMAI apps | ||
3 | # | ||
4 | # Start Addr Size Description | ||
5 | # ------------------------------------------- | ||
6 | # 0x80000000 88 MB Linux | ||
7 | # 0x85800000 08 MB CMEM | ||
8 | # 0x86800000 16 MB DDRALGHEAP | ||
9 | # 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications) | ||
10 | # 0x87E00000 1 MB DSPLINK (MEM) | ||
11 | # 0x87F00000 4 KB DSPLINK (RESET) | ||
12 | # 0x87F01000 1020 KB unused | ||
13 | |||
14 | # sanity check to verify that we're using the right mem=xxM (88M in this case) | ||
15 | awk '/MemTotal:/ { | ||
16 | mem=$2 | ||
17 | |||
18 | if (mem > 88 * 1024) | ||
19 | print "Warning! You need to use mem=88M or less on the kernel cmdline" | ||
20 | |||
21 | printf "You have %dkB total memory for Linux\n", mem | ||
22 | }' /proc/meminfo | ||
23 | |||
24 | # Select cmemk parameters for best fit, i.e. starting at 0x85000000 | ||
25 | modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440 | ||
26 | |||
27 | # insert DSP/BIOS Link driver | ||
28 | # | ||
29 | modprobe dsplinkk | ||
30 | |||
31 | # make /dev/dsplink | ||
32 | #rm -f /dev/dsplink | ||
33 | #mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
34 | |||
35 | # insert Local Power Manager driver | ||
36 | # | ||
37 | modprobe lpm_omap3530 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh new file mode 100755 index 00000000..ca357e20 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh | |||
@@ -0,0 +1,23 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # loadmodules.sh | ||
4 | # | ||
5 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
6 | # | ||
7 | # This program is free software; you can redistribute it and/or modify | ||
8 | # it under the terms of the GNU Lesser General Public License as | ||
9 | # published by the Free Software Foundation version 2.1 of the License. | ||
10 | # | ||
11 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
12 | # whether express or implied; without even the implied warranty of | ||
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
14 | # Lesser General Public License for more details. | ||
15 | |||
16 | # 12MB | ||
17 | modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 pools=1x2903040,1x1529856,7x829440,1x524288,1x108680,1x81920,2x8192,6x4096 | ||
18 | |||
19 | ./mapdmaq | ||
20 | |||
21 | modprobe dm350mmap | ||
22 | rm -f /dev/dm350mmap | ||
23 | mknod /dev/dm350mmap c `awk "\\$2==\"dm350mmap\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm365_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm365_al.sh new file mode 100644 index 00000000..36dc78ec --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm365_al.sh | |||
@@ -0,0 +1,25 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # This loadmodules script is provided to support 1920x1080 resolution file based encode/decode DMAI unit test applications | ||
4 | |||
5 | # Sample bootargs is given below | ||
6 | # mem=60M console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=<nfsroot> ip=dhcp video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,2025K dm365_imp.oper_mode=0 | ||
7 | |||
8 | depmod -a | ||
9 | rmmod cmemk 2>/dev/null | ||
10 | rmmod irqk 2>/dev/null | ||
11 | rmmod edmak 2>/dev/null | ||
12 | rmmod dm365mmap 2>/dev/null | ||
13 | |||
14 | # Pools configuration | ||
15 | modprobe cmemk phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,2x5984,2x3133440,1x16384,1x48952,1x20480,1x60288,1x74,1x28,1x2048,1x6785280,1x146,1x896,1x65536,1x98,1x296,29x56,2x24,1x624,4x62,1x1456,1x18321120,1x65792,5x3523584,1x4194304,1x8355840 | ||
16 | |||
17 | #VC1 decode pool configuration | ||
18 | # insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,1x112665,3x7680,1x319264,2x1024,5x7208960,1x80,1x116,1x29184,1x2688,1x30720,1x551680,2x128,1x74,1x28,1x10240,1x47232,1x448,2x1152,1x8192,2x272896,18x56,2x24,1x86,4x62,2x7808,1x2097152 | ||
19 | |||
20 | modprobe irqk | ||
21 | modprobe edmak | ||
22 | modprobe dm365mmap | ||
23 | |||
24 | rm -f /dev/dm365mmap | ||
25 | mknod /dev/dm365mmap c `awk "\\$2==\"dm365mmap\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh new file mode 100755 index 00000000..b4a230d5 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh | |||
@@ -0,0 +1,19 @@ | |||
1 | # | ||
2 | # loadmodules.sh | ||
3 | # | ||
4 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | # | ||
6 | # This program is free software; you can redistribute it and/or modify | ||
7 | # it under the terms of the GNU Lesser General Public License as | ||
8 | # published by the Free Software Foundation version 2.1 of the License. | ||
9 | # | ||
10 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
11 | # whether express or implied; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | # Lesser General Public License for more details. | ||
14 | |||
15 | modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000 | ||
16 | modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000 | ||
17 | |||
18 | rm -rf /dev/dsplink | ||
19 | mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh new file mode 100755 index 00000000..b4a230d5 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh | |||
@@ -0,0 +1,19 @@ | |||
1 | # | ||
2 | # loadmodules.sh | ||
3 | # | ||
4 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | # | ||
6 | # This program is free software; you can redistribute it and/or modify | ||
7 | # it under the terms of the GNU Lesser General Public License as | ||
8 | # published by the Free Software Foundation version 2.1 of the License. | ||
9 | # | ||
10 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
11 | # whether express or implied; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | # Lesser General Public License for more details. | ||
14 | |||
15 | modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000 | ||
16 | modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000 | ||
17 | |||
18 | rm -rf /dev/dsplink | ||
19 | mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh new file mode 100755 index 00000000..076af072 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh | |||
@@ -0,0 +1,42 @@ | |||
1 | # loadmodules.sh | ||
2 | # | ||
3 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
4 | # | ||
5 | # This program is free software; you can redistribute it and/or modify | ||
6 | # it under the terms of the GNU Lesser General Public License as | ||
7 | # published by the Free Software Foundation version 2.1 of the License. | ||
8 | # | ||
9 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
10 | # whether express or implied; without even the implied warranty of | ||
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 | |||
27 | modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000 | ||
28 | |||
29 | |||
30 | # insert DSP/BIOS Link driver | ||
31 | # | ||
32 | modprobe dsplinkk | ||
33 | |||
34 | # make /dev/dsplink | ||
35 | rm -f /dev/dsplink | ||
36 | mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
37 | |||
38 | |||
39 | # insert Local Power Manager driver | ||
40 | # | ||
41 | modprobe lpm_omap3530 | ||
42 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh new file mode 100755 index 00000000..2c98c787 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh | |||
@@ -0,0 +1,19 @@ | |||
1 | # | ||
2 | # loadmodules.sh | ||
3 | # | ||
4 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | # | ||
6 | # This program is free software; you can redistribute it and/or modify | ||
7 | # it under the terms of the GNU Lesser General Public License as | ||
8 | # published by the Free Software Foundation version 2.1 of the License. | ||
9 | # | ||
10 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
11 | # whether express or implied; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | # Lesser General Public License for more details. | ||
14 | |||
15 | modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072 | ||
16 | modprobe dsplinkk | ||
17 | |||
18 | rm -rf /dev/dsplink | ||
19 | mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh new file mode 100755 index 00000000..2c98c787 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh | |||
@@ -0,0 +1,19 @@ | |||
1 | # | ||
2 | # loadmodules.sh | ||
3 | # | ||
4 | # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | # | ||
6 | # This program is free software; you can redistribute it and/or modify | ||
7 | # it under the terms of the GNU Lesser General Public License as | ||
8 | # published by the Free Software Foundation version 2.1 of the License. | ||
9 | # | ||
10 | # This program is distributed #as is# WITHOUT ANY WARRANTY of any kind, | ||
11 | # whether express or implied; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
13 | # Lesser General Public License for more details. | ||
14 | |||
15 | modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072 | ||
16 | modprobe dsplinkk | ||
17 | |||
18 | rm -rf /dev/dsplink | ||
19 | mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 | ||
diff --git a/recipes-ti/codec-engine/ti-dmai/unloadmodules-ti-dmai-apps.sh b/recipes-ti/codec-engine/ti-dmai/unloadmodules-ti-dmai-apps.sh new file mode 100644 index 00000000..793d727f --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai/unloadmodules-ti-dmai-apps.sh | |||
@@ -0,0 +1,12 @@ | |||
1 | # Unload modules - DMAI - OMAP3530 | ||
2 | |||
3 | # remove lpm module | ||
4 | rmmod lpm_omap3530 | ||
5 | |||
6 | # remove DSP/BIOS Link driver | ||
7 | rmmod dsplinkk | ||
8 | #rm -f /dev/dsplink | ||
9 | |||
10 | # remove cmem module | ||
11 | rmmod cmemk | ||
12 | |||
diff --git a/recipes-ti/codec-engine/ti-dmai_svn.bb b/recipes-ti/codec-engine/ti-dmai_svn.bb new file mode 100644 index 00000000..374acce7 --- /dev/null +++ b/recipes-ti/codec-engine/ti-dmai_svn.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | require ti-dmai.inc | ||
2 | |||
3 | # Hack to be able to use recent kernel headers from userspace | ||
4 | TARGET_CC_ARCH += " -D__EXPORTED_HEADERS__" | ||
5 | |||
6 | DEFAULT_PREFERENCE = "-1" | ||
7 | |||
8 | PV = "2_10_00_01+svnr${SRCPV}" | ||
9 | |||
10 | # This package has high dependence on kernel, use kernel PR as base and append a local version | ||
11 | PR = "${MACHINE_KERNEL_PR}" | ||
12 | PR_append = "n" | ||
13 | |||
14 | DMAIBRANCH_dm6446 = "trunk" | ||
15 | DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009" | ||
16 | DMAIBRANCH_omap3 = "trunk" | ||
17 | DMAIBRANCH_dm355 = "branches/GITPSP_INT_101009" | ||
18 | DMAIBRANCH_dm365 = "trunk" | ||
19 | DMAIBRANCH_omapl137 = "trunk" | ||
20 | DMAIBRANCH_omapl138 = "trunk" | ||
21 | DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>" | ||
22 | |||
23 | SRCREV_dm6446 = "482" | ||
24 | SRCREV_dm6467 = "441" | ||
25 | SRCREV_omap3 = "570" | ||
26 | SRCREV_dm355 = "424" | ||
27 | SRCREV_dm365 = "570" | ||
28 | SRCREV_omapl137 = "482" | ||
29 | SRCREV_omapl138 = "570" | ||
30 | SRCREV ?= "<UNDEFINED_SRCREV>" | ||
31 | |||