summaryrefslogtreecommitdiffstats
path: root/recipes-ti/codec-engine
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-ti/codec-engine')
-rw-r--r--recipes-ti/codec-engine/ti-c6accel.inc94
-rw-r--r--recipes-ti/codec-engine/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch26
-rw-r--r--recipes-ti/codec-engine/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch82
-rw-r--r--recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch81
-rw-r--r--recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb14
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine.inc199
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine/ce-2-26-00-08-Examples-Add-LPM_INSTALL_DIR-packages.patch60
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine/dm365-evm/loadmodules.sh49
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine/loadmodules-ti-codec-engine-apps.sh37
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine/unloadmodules-ti-codec-engine-apps.sh12
-rw-r--r--recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb6
-rw-r--r--recipes-ti/codec-engine/ti-codecs-omap3530/mp3dec_cs1omap3530.patch41
-rw-r--r--recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb204
-rw-r--r--recipes-ti/codec-engine/ti-dmai.inc158
-rw-r--r--recipes-ti/codec-engine/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch34
-rw-r--r--recipes-ti/codec-engine/ti-dmai/arago-tdox210
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-built-with-angstrom.patch48
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch31
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-r423-add-omapl137-support.patch12
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-support-32bit-align.patch17
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch16
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch77
-rw-r--r--recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch127
-rw-r--r--recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gzbin0 -> 8012 bytes
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh37
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh23
-rw-r--r--recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm365_al.sh25
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh19
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh19
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh42
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh19
-rwxr-xr-xrecipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh19
-rw-r--r--recipes-ti/codec-engine/ti-dmai/unloadmodules-ti-dmai-apps.sh12
-rw-r--r--recipes-ti/codec-engine/ti-dmai_svn.bb31
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 @@
1DESCRIPTION = "TI C6Accel - DSP Software Libraries on ARM"
2HOMEPAGE = "https://gforge01.dal.design.ti.com/gf/project/dsplib4arm/"
3
4SECTION = "devel"
5LICENSE = "TI TSPA"
6
7require recipes-ti/includes/ti-paths.inc
8require recipes-ti/includes/ti-staging.inc
9require recipes-ti/includes/ti-eula-unpack.inc
10
11PLATFORM_omapl138 = "omapl138"
12PLATFORM_omap3 = "omap3530"
13PLATFORM ?= "<UNDEFINED_PLATFORM>"
14
15COMPATIBLE_MACHINE = "(omapl138|omap3)"
16
17PROVIDES += "ti-c6accel-apps"
18
19# This recipe links statically against kernel dependant stuff, use kernel PR as base and append a local version
20PR = "${MACHINE_KERNEL_PR}"
21PR_append = "c"
22
23S = "${WORKDIR}/c6accel_${PV}"
24
25# http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/index_FDS.html
26SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/exports//c6accel_${PV}_Linux-x86_Setup.bin;name=c6accelbin "
27
28BINFILE="c6accel_${PV}_Linux-x86_Setup.bin"
29TI_BIN_UNPK_CMDS="Y:workdir"
30
31DEPENDS = "ti-codec-engine ti-xdais ti-dsplink ti-dspbios"
32DEPENDS += "ti-edma3lld ti-cgt6x ti-xdctools ti-framework-components"
33DEPENDS += "ti-biosutils"
34
35TIARGS = ' \
36 PLATFORM="${PLATFORM}" \
37 CE_INSTALL_DIR="${CE_INSTALL_DIR}" \
38 XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
39 LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
40 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
41 EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \
42 CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
43 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
44 FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
45 BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \
46 BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \
47 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
48 SERVER_INSTALL_DIR="${CODEC_INSTALL_DIR}" \
49 C6ACCEL_INSTALL_DIR="${S}" \
50 CSTOOL_DIR="${TOOLCHAIN_PATH}" \
51 CSTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
52 LINUXLIBS_INSTALL_DIR="${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" \
53 CFLAGS=" ${TARGET_CC_ARCH} ${CFLAGS}" LDFLAGS="${LDFLAGS}" \
54'
55
56do_configure() {
57 unset VERBOSE
58 make ${TIARGS} clean
59 sed -i -e 's:-L$(LINUXLIBS_INSTALL_DIR)/lib:-L$(LINUXLIBS_INSTALL_DIR)/lib -L$(LINUXLIBS_INSTALL_DIR)/usr/lib ${LDFLAGS}:' ${S}/soc/app/Makefile
60
61 # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it
62 if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then
63 sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' ${S}/soc/app/Makefile
64 fi
65}
66
67do_compile() {
68 unset VERBOSE
69 make ${TIARGS} all
70}
71
72do_install() {
73 install -d ${D}${C6ACCEL_INSTALL_DIR_RECIPE}
74 cp -pPrf ${S}/* ${D}${C6ACCEL_INSTALL_DIR_RECIPE}
75
76 # update linker.cmd file to point to sysroot
77 sed -i ${i} -e s=${S}=${C6ACCEL_INSTALL_DIR}=g ${D}${C6ACCEL_INSTALL_DIR_RECIPE}/soc/app/c6accel_app_config/linker.cmd
78
79 cd ${S}
80 make \
81 PLATFORM="${PLATFORM}" \
82 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
83 LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
84 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
85 C6ACCEL_INSTALL_DIR="${S}" \
86 EXEC_DIR_C6ACCEL="${D}/${installdir}/c6accel-apps" \
87 install
88}
89
90PACKAGES += "ti-c6accel-apps"
91FILES_ti-c6accel-apps = "${installdir}/c6accel-apps/*"
92INSANE_SKIP_ti-c6accel-apps = True
93RDEPENDS_ti-c6accel-apps += "ti-cmem-module ti-dsplink-module"
94
diff --git a/recipes-ti/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 @@
1From 58c50064afdc2fd7093613e0ae3a9192ea189460 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 5 Jan 2011 10:10:33 +0100
4Subject: [PATCH] soc/app: fix makefile to pass -Wl,-T, before the linkerscript
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 soc/app/Makefile | 2 +-
9 1 files changed, 1 insertions(+), 1 deletions(-)
10
11diff --git a/soc/app/Makefile b/soc/app/Makefile
12index 0bb7bdc..342e43a 100755
13--- a/soc/app/Makefile
14+++ b/soc/app/Makefile
15@@ -33,7 +33,7 @@ XDC_CFG = $(TARGET)_config
16 XDC_CFLAGS = $(XDC_CFG)/compiler.opt
17
18 # Output linker file
19-XDC_LFILE = $(XDC_CFG)/linker.cmd
20+XDC_LFILE = -Wl,-T,$(XDC_CFG)/linker.cmd
21
22 # Input configuration file
23 XDC_CFGFILE = $(PLATFORM)/$(TARGET).cfg
24--
251.6.6.1
26
diff --git a/recipes-ti/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 @@
1From 192b19046a67263da44203bf50a5b51d0a655fec Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 31 Dec 2010 15:26:37 +0100
4Subject: [PATCH] soc: honour buildsystem CFLAGS and LDFLAGS when set
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8 soc/app/Makefile | 13 ++++---------
9 soc/c6accelw/Makefile | 14 ++++----------
10 2 files changed, 8 insertions(+), 19 deletions(-)
11
12diff --git a/soc/app/Makefile b/soc/app/Makefile
13index 2647746..bed937e 100755
14--- a/soc/app/Makefile
15+++ b/soc/app/Makefile
16@@ -53,15 +53,10 @@ CONFIGURO = $(XDC_INSTALL_DIR)/xs xdc.tools.configuro
17 CONFIG_BLD = ../../config.bld
18
19 ifeq ($(BUILD_TYPE), release)
20-ifeq ($(ARM_ISA),armv7-a)
21- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp
22-endif
23-ifeq ($(ARM_ISA),armv5t)
24- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O
25-endif
26+C_FLAGS += $(CFLAGS)
27 else
28 CPP_FLAGS += -DNDEBUG
29- C_FLAGS += -Wall -g
30+ C_FLAGS += $(CFLAGS) -Wall -g
31 endif
32
33
34@@ -72,7 +67,7 @@ ifeq ($(PLATFORM),omapl138)
35 C_FLAGS += -DPLATFORM=138
36 endif
37
38-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread
39+LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread
40 C6ACCEL_LIB += ../c6accelw/lib/c6accelw_$(PLATFORM).a470MV
41
42 COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) $(CPP_FLAGS) -c
43@@ -102,7 +97,7 @@ $(TARGET): $(OBJFILES) $(C6ACCEL_LIB) $(XDC_LFILE)
44
45 $(OBJFILES): %.o: %.c $(HEADERS) $(XDC_CFLAGS)
46 @echo Compiling $@ from $<..
47- $(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $<
48+ $(COMPILE.c) $(shell cat $(XDC_CFLAGS) | sed 's:-march=armv5t::g') -o $@ $<
49
50 $(XDC_LFILE) $(XDC_CFLAGS): $(XDC_CFGFILE)
51 @echo
52diff --git a/soc/c6accelw/Makefile b/soc/c6accelw/Makefile
53index cc58acf..298ab3b 100755
54--- a/soc/c6accelw/Makefile
55+++ b/soc/c6accelw/Makefile
56@@ -21,19 +21,13 @@ BUILD_TYPE=release
57 CPP_FLAGS += -I../packages -I$(XDC_INSTALL_DIR)/packages -I$(CE_INSTALL_DIR)/packages -I$(XDAIS_INSTALL_DIR)/packages -Dxdc_target_name__=arm/GCArmv5T -Dxdc_target_types__=gnu/targets/std.h
58
59 ifeq ($(BUILD_TYPE), release)
60-ifeq ($(ARM_ISA),armv7-a)
61- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp
62- endif
63-ifeq ($(ARM_ISA),armv5t)
64- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O
65- endif
66-
67+C_FLAGS += $(CFLAGS)
68 else
69- CPP_FLAGS += -DNDEBUG
70- C_FLAGS += -Wall -g
71+ CPP_FLAGS += -DNDEBUG
72+ C_FLAGS += $(CFLAGS) -Wall -g
73 endif
74
75-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib
76+LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib
77 AR_FLAGS +=
78
79 COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) -c
80--
811.6.6.1
82
diff --git a/recipes-ti/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 @@
1diff -uNr c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh
2--- c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-07-26 16:18:35.000000000 -0500
3+++ c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-09-12 11:50:46.129159981 -0500
4@@ -1,4 +1,4 @@
5-# loadmodules.sh
6+#!/bin/sh
7 #
8 # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
9 #
10@@ -11,34 +11,16 @@
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
13
14-#
15-# Default Memory Map
16-#
17-# Start Addr Size Description
18-# -------------------------------------------
19-# 0x80000000 88 MB Linux
20-# 0x85800000 08 MB CMEM
21-# 0x86800000 24 MB DDRALGHEAP
22-# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
23-# 0x87E00000 1 MB DSPLINK (MEM)
24-# 0x87F00000 4 KB DSPLINK (RESET)
25-# 0x87F01000 1020 KB unused
26-rmmod cmemk.ko
27-rmmod lpm_omap3530.ko
28-rmmod dsplinkk
29-# Allocate 15MB for CMEM
30-insmod cmemk.ko phys_start=0x86300000 phys_end=0x87200000 pools=20x4096
31+# remove previously loaded cmem to ensure that it configured to use our pool configuration
32+rmmod cmemk 2>/dev/null
33
34-# insert DSP/BIOS Link driver
35-#
36-insmod dsplinkk.ko
37+# Allocate 15MB for CMEM
38+modprobe cmemk phys_start=0x86300000 phys_end=0x87200000 pools=20x4096 allowOverlap=1
39+modprobe dsplinkk
40+modprobe lpm_omap3530
41
42 # make /dev/dsplink
43 rm -rf /dev/dsplink
44 mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
45
46
47-# insert Local Power Manager driver
48-#
49-insmod lpm_omap3530.ko
50-
51diff -uNr c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh
52--- c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-07-27 09:45:37.000000000 -0500
53+++ c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-09-12 11:52:07.193160179 -0500
54@@ -1,4 +1,4 @@
55-#
56+#!/bin/sh
57 # Copyright (c) 2008, Texas Instruments Incorporated
58 # All rights reserved.
59 #
60@@ -29,15 +29,14 @@
61 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
62 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
63 #
64-rmmod dsplinkk.ko
65-rmmod cmemk.ko
66+
67+# remove previously loaded cmem to ensure that its configured to use our pool configuration.
68+rmmod cmemk 2>/dev/null
69+
70 # insert cmemk, tell it to occupy physical 120MB-128MB, create
71 # 20 4K buffers, 10 128K buffers and two 1MB buffers
72-insmod cmemk.ko phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096
73-
74-# insert DSP/BIOS Link driver
75-#
76-insmod dsplinkk.ko
77+modprobe cmemk phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096 allowOverlap=1
78+modprobe dsplinkk
79
80 # make /dev/dsplink
81 rm -f /dev/dsplink
diff --git a/recipes-ti/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 @@
1require ti-c6accel.inc
2
3SRC_URI[c6accelbin.md5sum] = "0ddf37fd9dad91fa3a914e549da933b9"
4SRC_URI[c6accelbin.sha256sum] = "453399a84bf117bd7a91393242c7c005e2829692db5ede18e4be166c61e4354c"
5
6SRC_URI_append = "file://fix-loadmodule.patch \
7 file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \
8 "
9
10PV = "1_01_00_03"
11
12
13CFLAGS += "-fPIC"
14
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 @@
1DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
2HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce"
3SECTION = "devel"
4LICENSE = "BSD"
5
6LIC_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
12require recipes-ti/includes/ti-paths.inc
13require recipes-ti/includes/ti-staging.inc
14
15PROVIDES += "ti-codec-engine-examples"
16
17PR = "${MACHINE_KERNEL_PR}"
18PR_append = "a"
19
20S = "${WORKDIR}/codec_engine_${PV}"
21
22SRC_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
24DEPENDS = "ti-framework-components ti-xdais ti-xdctools ti-linuxutils"
25DEPENDS_append_dm6446 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld"
26DEPENDS_append_dm6467 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
27DEPENDS_append_omap3 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld"
28DEPENDS_append_omapl137 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
29DEPENDS_append_omapl138 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld"
30
31# SOC_FAMILY configuration
32
33# Define DEVICES variable
34CEEXAMPLESDEVICES_dm6446 = "DM6446"
35CEEXAMPLESDEVICES_dm6467 = "DM6467"
36CEEXAMPLESDEVICES_omap3 = "OMAP3530"
37CEEXAMPLESDEVICES_dm355 = "DM355"
38CEEXAMPLESDEVICES_dm365 = "DM365"
39CEEXAMPLESDEVICES_omapl137 = "OMAPL137"
40CEEXAMPLESDEVICES_omapl138 = "OMAPL138"
41CEEXAMPLESDEVICES ?= "<UNDEFINED_CEEXAMPLESDEVICES>"
42
43# Define GPPOS variable
44CEEXAMPLESGPPOS_dm6446 = "LINUX_GCC"
45CEEXAMPLESGPPOS_dm6467 = "LINUX_GCC"
46CEEXAMPLESGPPOS_omap3 = "LINUX_GCC"
47CEEXAMPLESGPPOS_dm355 = "LINUX_GCC"
48CEEXAMPLESGPPOS_dm365 = "LINUX_GCC"
49CEEXAMPLESGPPOS_omapl137 = "LINUX_GCC"
50CEEXAMPLESGPPOS_omapl138 = "LINUX_GCC"
51CEEXAMPLESGPPOS ?= "<UNDEFINED_CEEXAMPLESGPPOS>"
52
53# Define PROGRAM variable
54CEEXAMPLESPROGRAMS_dm6446 = "APP_CLIENT DSP_SERVER"
55CEEXAMPLESPROGRAMS_dm6467 = "APP_CLIENT DSP_SERVER"
56CEEXAMPLESPROGRAMS_omap3 = "APP_CLIENT DSP_SERVER"
57CEEXAMPLESPROGRAMS_dm355 = "APP_LOCAL"
58CEEXAMPLESPROGRAMS_dm365 = "APP_LOCAL"
59CEEXAMPLESPROGRAMS_omapl137 = "APP_CLIENT DSP_SERVER"
60CEEXAMPLESPROGRAMS_omapl138 = "APP_CLIENT DSP_SERVER"
61CEEXAMPLESPROGRAMS ?= "<UNDEFINED_CEEXAMPLESPROGRAMS>"
62
63do_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
81do_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
109addtask prepsources after do_configure before do_compile
110
111do_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
135do_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
189PACKAGES += "ti-codec-engine-examples"
190
191RDEPENDS_ti-codec-engine-examples = " ti-cmem-module"
192RDEPENDS_ti-codec-engine-examples_append_dm6446 = " ti-dsplink-module ti-lpm-module"
193RDEPENDS_ti-codec-engine-examples_append_dm6467 = " ti-dsplink-module"
194RDEPENDS_ti-codec-engine-examples_append_omap3 = " ti-dsplink-module ti-lpm-module"
195RDEPENDS_ti-codec-engine-examples_append_omapl137 = " ti-dsplink-module"
196RDEPENDS_ti-codec-engine-examples_append_omapl138 = " ti-dsplink-module"
197FILES_ti-codec-engine-examples = "${installdir}/ti-codec-engine-examples/*"
198INSANE_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 @@
1diff --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
2index 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
13diff --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
14index 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
25diff --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
26index 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
37diff --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
38index 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
49diff --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
50index 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
35CMEM_MODPARAMS="phys_start=0x87800000 phys_end=0x88000000 pools=20x4096,10x131072,2x1048576"
36
37if [ -e cmemk.ko ]
38 then
39 insmod cmemk.ko $CMEM_MODPARAMS
40 else
41 modprobe cmemk $CMEM_MODPARAMS
42fi
43
44# Allow cmem driver to be used by all users
45if [ -e /dev/cmem ]
46 then
47 chmod 666 /dev/cmem
48fi
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)
15awk '/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
25modprobe cmemk phys_start=0x85000000 phys_end=0x86000000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440
26
27# insert DSP/BIOS Link driver
28#
29modprobe 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#
37modprobe 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
4rmmod lpm_omap3530
5
6# remove DSP/BIOS Link driver
7rmmod dsplinkk
8#rm -f /dev/dsplink
9
10# remove cmem module
11rmmod 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 @@
1require ti-codec-engine.inc
2
3PV = "2_26_02_11"
4
5SRC_URI[cetarball.md5sum] = "4f755f77119e4da19ab5cc7ae7ccfdb4"
6SRC_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 @@
1diff -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,
31diff -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 @@
1DESCRIPTION = "TI Codecs and Server Combo for OMAP3530"
2SECTION = "multimedia"
3LICENSE = "TI"
4
5require recipes-ti/includes/ti-paths.inc
6require recipes-ti/includes/ti-staging.inc
7
8PR="${MACHINE_KERNEL_PR}"
9PR_append = "a"
10
11PV="4_00_00_00"
12
13CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}"
14
15SRCREV = "8393c892b09e0ac42b19ff1531e232478c3b1a6c"
16
17require recipes-ti/includes/ti-eula-unpack.inc
18
19SRC_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
33SRC_URI[h264enc.md5sum] = "4a7a4698b1db360fe103aae76127a4ec"
34SRC_URI[h264enc.sha256sum] = "8fd970d83004bb099f51420b0eecd660b4ba9dccc87b2759d0b5a0be46f8f1a0"
35
36SRC_URI[h264dec.md5sum] = "81980df2d9dbedc5b64789c4e5575819"
37SRC_URI[h264dec.sha256sum] = "19d65e71ba0342670cb217e0fa6617263ff68a513e8444a8dfd5f34bd641b24f"
38
39SRC_URI[jpegenc.md5sum] = "c2e8ad88e90c04d2de7b199517019ac8"
40SRC_URI[jpegenc.sha256sum] = "6525e067cb5dd00cfc0b38045c44dcbed05866f8ad20188ceac630812502d473"
41
42SRC_URI[jpegdec.md5sum] = "cf2886c3406ab41409a586e5d550918d"
43SRC_URI[jpegdec.sha256sum] = "6b0c9f1b8f023070c6a59af690f015f84f2c7f3143235f788ddd1a4a7b229089"
44
45SRC_URI[mpeg2dec.md5sum] = "da3d0561f3073352be43dce96ce1ea62"
46SRC_URI[mpeg2dec.sha256sum] = "06cdb31242b8649bdd46bc07b9276de0ccd5f4e1c137d3cb79e0866c1ed04264"
47
48SRC_URI[mpeg4enc.md5sum] = "07c36e5d03368e1326df75a1f0c4934d"
49SRC_URI[mpeg4enc.sha256sum] = "a9566c8978f7230936053de9b1f3bfe8820ae555262ceba87243abdf60e5193f"
50
51SRC_URI[mpeg4dec.md5sum] = "4a27cda2d5a859e6322680a4855b6b88"
52SRC_URI[mpeg4dec.sha256sum] = "ca35db6841586fc2c22dd9c07a7f5b8557f480fa907e8a3471b660d4ada76e40"
53
54SRC_URI[aachedec.md5sum] = "649f2e79b4950719295cfecbff2ea82b"
55SRC_URI[aachedec.sha256sum] = "34d19e40d624ccdc1b371f9a5d6594b4793bdf3b7223ac65912d15d75320e020"
56
57SRC_URI[g711.md5sum] = "fd8e9f939cc505dc5761705ed17a726c"
58SRC_URI[g711.sha256sum] = "c87021e8df2a3f494f47e5bdce8a5fad04d667aa1b792fd9b3ecff634867b48d"
59
60SRC_URI[i2p.md5sum] = "f67c04eec9ee49c7a686eecf5d54be33"
61SRC_URI[i2p.sha256sum] = "3fbf8801f3ce2aabb6d31eb18e1e24e41ca861696b3140536f1d66adc76f0323"
62
63
64TI_BIN_UNPK_CMDS = "Y:workdir"
65
66S = "${CODEC_SUITE_NAME}"
67
68DEPENDS = "ti-cgt6x ti-xdctools ti-dspbios ti-codec-engine ti-linuxutils ti-c6accel"
69
70#generic codec
71DSPSUFFIX_omap3530 = "x64P"
72
73python 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
123addtask prepsources after do_unpack before do_patch
124
125do_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
148do_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
181do_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
201PACKAGES += "ti-codecs-omap3530-server"
202FILES_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 @@
1DESCRIPTION = "Davinci Multimedia Application Interface (DMAI) for TI ARM/DSP processors"
2HOMEPAGE = "https://gforge.ti.com/gf/project/dmai/"
3SECTION = "multimedia"
4LICENSE = "BSD"
5
6# TODO ::
7
8require recipes-ti/includes/ti-paths.inc
9require recipes-ti/includes/ti-staging.inc
10
11PROVIDES += "ti-dmai-apps"
12
13PE = "1"
14
15SRCREV ?= "<UNDEFINED_SRCREV>"
16DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>"
17
18S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}"
19
20SRC_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
32DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools"
33
34DEPENDS_append_dm6446 = " ti-codecs-dm6446 ti-dspbios ti-cgt6x ti-linuxutils"
35DEPENDS_append_dm6467 = " ti-codecs-dm6467 ti-dspbios ti-cgt6x ti-linuxutils"
36DEPENDS_append_omap3 = " ti-codecs-omap3530 ti-dspbios ti-cgt6x ti-linuxutils"
37DEPENDS_append_dm355 = " ti-codecs-dm355"
38DEPENDS_append_dm365 = " ti-codecs-dm365"
39DEPENDS_append_omapl137 = " ti-codecs-omapl137 ti-dspbios ti-cgt6x ti-linuxutils"
40DEPENDS_append_omapl138 = " ti-codecs-omapl138 ti-dspbios ti-cgt6x ti-linuxutils"
41
42# Define DMAI build time variables
43DMAIPLATFORM_dm6446 = "dm6446_al"
44DMAIPLATFORM_dm6467 = "dm6467_al"
45DMAIPLATFORM_omap3 = "o3530_al"
46DMAIPLATFORM_dm355 = "dm355_al"
47DMAIPLATFORM_dm365 = "dm365_al"
48DMAIPLATFORM_omapl137 = "ol137_al"
49DMAIPLATFORM_omapl138 = "ol138_al"
50DMAIPLATFORM ?= "<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
58DSPSUFFIX_omapl137 = "x64P"
59DSPSUFFIX_omapl138 = "x64P"
60DSPSUFFIX ?= "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?
64USER_XDC_PATH = "${CE_INSTALL_DIR}/examples"
65
66PARALLEL_MAKE = ""
67
68do_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.
81addtask prepsources after do_unpack before do_patch
82
83do_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
129do_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
143PACKAGES += "ti-dmai-apps"
144FILES_ti-dmai-apps = "${installdir}/ti-dmai-apps/*"
145INSANE_SKIP_ti-dmai-apps = True
146
147RDEPENDS_ti-dmai-apps_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module"
148RDEPENDS_ti-dmai-apps_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module"
149RDEPENDS_ti-dmai-apps_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module"
150RDEPENDS_ti-dmai-apps_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module"
151RDEPENDS_ti-dmai-apps_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module"
152RDEPENDS_ti-dmai-apps_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module"
153RDEPENDS_ti-dmai-apps_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module"
154
155pkg_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 @@
1From 9d9326c26ea990fa49842e0c57d520a5acb4d887 Mon Sep 17 00:00:00 2001
2From: Don Darling <ddarling@ti.com>
3Date: Fri, 16 Apr 2010 17:40:40 -0500
4Subject: [PATCH] Correct DMAI's Resize module for DM365.
5
6The PSP requires virtual addresses to be given for the resize buffers. This
7differs from previous releases, which required physical addresses. This
8change 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
13diff --git a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c
14index 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--
331.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
24TDOX_TEMPLATEDIR=${TOOLS}/default/doxygen_templates
25DOXYGEN_EXECUTABLE=doxygen
26
27function 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
52function optimizeForJava
53{
54 DOX_OPTIMIZE_OUTPUT_JAVA="YES"
55 DOX_OPTIMIZE_OUTPUT_FOR_C="NO"
56}
57
58if [ "$#" -lt 2 ]; then
59 echo "Invalid number of parameters"
60 usage $0
61fi
62
63# get the required parameters then shift for the getopts parameters
64export DOX_INPUT="$1"
65shift
66export DOX_OUTPUT_DIRECTORY="$1"
67shift
68
69#set the global defaults
70DOX_QUIET="YES"
71DOX_OPTIMIZE_OUTPUT_JAVA="NO"
72DOX_OPTIMIZE_OUTPUT_FOR_C="YES"
73DOX_CHM_FILE=
74DOX_GENERATE_HTMLHELP="NO"
75OVERRIDE_FILE=""
76PDF=""
77
78# Process the rest of the arguments as getopts
79# parameters
80while getopts b:c:e:f:m:n:o:p:s:t:v:x:dhjr arg
81do
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
102done
103
104if [ "$DEBUG" = "1" ]; then
105 DOX_QUIET="NO"
106 set -x
107fi
108
109if [ "$DOX_PROJECT_NAME" = "" ]; then
110 DOX_PROJECT_NAME="Project"
111fi
112
113if [ "$DOX_PROJECT_NUMBER" = "" ]; then
114 DOX_PROJECT_NUMBER="1.0"
115fi
116
117if [ "$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"
144fi
145
146export DOX_INPUT
147export DOX_OUTPUT_DIRECTORY
148export DOX_PROJECT_NAME
149export DOX_PROJECT_NUMBER
150export DOX_FILE_PATTERNS
151export DOX_STRIP_FROM_PATH
152export DOX_QUIET
153export DOX_HTML_STYLESHEET
154export DOX_OPTIMIZE_OUTPUT_FOR_C
155export DOX_OPTIMIZE_OUTPUT_JAVA
156export DOX_EXCLUDE
157export DOX_ENABLED_SECTIONS
158export DOX_CHM_FILE
159export DOX_GENERATE_HTMLHELP
160export TDOX_TEMPLATEDIR
161
162
163# Make sure the dir exists
164mkdir -p $DOX_OUTPUT_DIRECTORY
165
166# Create temp file copy of doxyfile and append overrides to the end of the file
167cp ${TDOX_TEMPLATEDIR}/doxyfile /tmp/doxyfile$$
168
169chmod +w /tmp/doxyfile$$
170if [ "$OVERRIDE_FILE" != "" ]; then
171 cat $OVERRIDE_FILE >> /tmp/doxyfile$$
172fi
173
174# Run doxygen and clean up temp file
175${DOXYGEN_EXECUTABLE} /tmp/doxyfile$$
176rm -f /tmp/doxyfile$$
177
178# Copy the TI banner gifs to the html directory.
179cp -p ${TDOX_TEMPLATEDIR}/*gif $DOX_OUTPUT_DIRECTORY/html
180
181# Generate PDF files
182if [ "$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
204fi
205
206# Generate Windows compressed help
207if [ "$DOX_GENERATE_HTMLHELP" = "YES" ]; then
208
209 echo "chm generation is not supported"
210fi
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 @@
1Index: 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
14Index: 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)
36Index: 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 @@
1Index: 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 @@
1diff -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 @@
1Index: 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 @@
1Index: 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 @@
1Index: 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
49Index: 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 @@
1Index: 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)
15awk '/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
25modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440
26
27# insert DSP/BIOS Link driver
28#
29modprobe 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#
37modprobe 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
17modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 pools=1x2903040,1x1529856,7x829440,1x524288,1x108680,1x81920,2x8192,6x4096
18
19./mapdmaq
20
21modprobe dm350mmap
22rm -f /dev/dm350mmap
23mknod /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
8depmod -a
9rmmod cmemk 2>/dev/null
10rmmod irqk 2>/dev/null
11rmmod edmak 2>/dev/null
12rmmod dm365mmap 2>/dev/null
13
14# Pools configuration
15modprobe 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
20modprobe irqk
21modprobe edmak
22modprobe dm365mmap
23
24rm -f /dev/dm365mmap
25mknod /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
15modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
16modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
17
18rm -rf /dev/dsplink
19mknod /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
15modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
16modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
17
18rm -rf /dev/dsplink
19mknod /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
27modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
28
29
30# insert DSP/BIOS Link driver
31#
32modprobe dsplinkk
33
34# make /dev/dsplink
35rm -f /dev/dsplink
36mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
37
38
39# insert Local Power Manager driver
40#
41modprobe 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
15modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
16modprobe dsplinkk
17
18rm -rf /dev/dsplink
19mknod /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
15modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
16modprobe dsplinkk
17
18rm -rf /dev/dsplink
19mknod /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
4rmmod lpm_omap3530
5
6# remove DSP/BIOS Link driver
7rmmod dsplinkk
8#rm -f /dev/dsplink
9
10# remove cmem module
11rmmod 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 @@
1require ti-dmai.inc
2
3# Hack to be able to use recent kernel headers from userspace
4TARGET_CC_ARCH += " -D__EXPORTED_HEADERS__"
5
6DEFAULT_PREFERENCE = "-1"
7
8PV = "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
11PR = "${MACHINE_KERNEL_PR}"
12PR_append = "n"
13
14DMAIBRANCH_dm6446 = "trunk"
15DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009"
16DMAIBRANCH_omap3 = "trunk"
17DMAIBRANCH_dm355 = "branches/GITPSP_INT_101009"
18DMAIBRANCH_dm365 = "trunk"
19DMAIBRANCH_omapl137 = "trunk"
20DMAIBRANCH_omapl138 = "trunk"
21DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>"
22
23SRCREV_dm6446 = "482"
24SRCREV_dm6467 = "441"
25SRCREV_omap3 = "570"
26SRCREV_dm355 = "424"
27SRCREV_dm365 = "570"
28SRCREV_omapl137 = "482"
29SRCREV_omapl138 = "570"
30SRCREV ?= "<UNDEFINED_SRCREV>"
31