From e32f2b80be99d999fddfb1673dd014f70805048b Mon Sep 17 00:00:00 2001 From: Enrico Butera Date: Sat, 6 Aug 2011 13:02:30 +0200 Subject: import codec engine and dependencies from oe classic Signed-off-by: Enrico Butera Signed-off-by: Koen Kooi --- recipes-ti/codec-engine/ti-c6accel.inc | 94 +++++++++ ...-makefile-to-pass-Wl-T-before-the-linkers.patch | 26 +++ ...r-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch | 82 ++++++++ .../codec-engine/ti-c6accel/fix-loadmodule.patch | 81 ++++++++ recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb | 14 ++ recipes-ti/codec-engine/ti-codec-engine.inc | 199 +++++++++++++++++++ ...-08-Examples-Add-LPM_INSTALL_DIR-packages.patch | 60 ++++++ .../ti-codec-engine/dm365-evm/loadmodules.sh | 49 +++++ .../loadmodules-ti-codec-engine-apps.sh | 37 ++++ .../unloadmodules-ti-codec-engine-apps.sh | 12 ++ .../codec-engine/ti-codec-engine_2.26.02.11.bb | 6 + .../ti-codecs-omap3530/mp3dec_cs1omap3530.patch | 41 ++++ .../codec-engine/ti-codecs-omap3530_4.00.00.00.bb | 204 ++++++++++++++++++++ recipes-ti/codec-engine/ti-dmai.inc | 158 ++++++++++++++++ ...01-Correct-DMAI-s-Resize-module-for-DM365.patch | 34 ++++ recipes-ti/codec-engine/ti-dmai/arago-tdox | 210 +++++++++++++++++++++ .../ti-dmai/dmai-built-with-angstrom.patch | 48 +++++ .../dmai-do-not-panic-on-mixer-failure.patch | 31 +++ .../ti-dmai/dmai-r423-add-omapl137-support.patch | 12 ++ .../ti-dmai/dmai-support-32bit-align.patch | 17 ++ .../ti-dmai/dmai-update-cpu-name.patch | 16 ++ .../ti-dmai/dmai-update-fb-display.patch | 77 ++++++++ .../ti-dmai/dmai-update-v4l2-display.patch | 127 +++++++++++++ .../codec-engine/ti-dmai/doxygen_templates.tar.gz | Bin 0 -> 8012 bytes .../ti-dmai/loadmodules-ti-dmai-apps.sh | 37 ++++ .../ti-dmai/loadmodules-ti-dmai-dm355_al.sh | 23 +++ .../ti-dmai/loadmodules-ti-dmai-dm365_al.sh | 25 +++ .../ti-dmai/loadmodules-ti-dmai-dm6446_al.sh | 19 ++ .../ti-dmai/loadmodules-ti-dmai-dm6467_al.sh | 19 ++ .../ti-dmai/loadmodules-ti-dmai-o3530_al.sh | 42 +++++ .../ti-dmai/loadmodules-ti-dmai-ol137_al.sh | 19 ++ .../ti-dmai/loadmodules-ti-dmai-ol138_al.sh | 19 ++ .../ti-dmai/unloadmodules-ti-dmai-apps.sh | 12 ++ recipes-ti/codec-engine/ti-dmai_svn.bb | 31 +++ 34 files changed, 1881 insertions(+) create mode 100644 recipes-ti/codec-engine/ti-c6accel.inc create mode 100644 recipes-ti/codec-engine/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch create mode 100644 recipes-ti/codec-engine/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch create mode 100644 recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch create mode 100644 recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb create mode 100644 recipes-ti/codec-engine/ti-codec-engine.inc create mode 100644 recipes-ti/codec-engine/ti-codec-engine/ce-2-26-00-08-Examples-Add-LPM_INSTALL_DIR-packages.patch create mode 100644 recipes-ti/codec-engine/ti-codec-engine/dm365-evm/loadmodules.sh create mode 100644 recipes-ti/codec-engine/ti-codec-engine/loadmodules-ti-codec-engine-apps.sh create mode 100644 recipes-ti/codec-engine/ti-codec-engine/unloadmodules-ti-codec-engine-apps.sh create mode 100644 recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb create mode 100644 recipes-ti/codec-engine/ti-codecs-omap3530/mp3dec_cs1omap3530.patch create mode 100644 recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb create mode 100644 recipes-ti/codec-engine/ti-dmai.inc create mode 100644 recipes-ti/codec-engine/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/arago-tdox create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-built-with-angstrom.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-r423-add-omapl137-support.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-support-32bit-align.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch create mode 100644 recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh create mode 100644 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm365_al.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh create mode 100755 recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh create mode 100644 recipes-ti/codec-engine/ti-dmai/unloadmodules-ti-dmai-apps.sh create mode 100644 recipes-ti/codec-engine/ti-dmai_svn.bb (limited to 'recipes-ti/codec-engine') 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 @@ +DESCRIPTION = "TI C6Accel - DSP Software Libraries on ARM" +HOMEPAGE = "https://gforge01.dal.design.ti.com/gf/project/dsplib4arm/" + +SECTION = "devel" +LICENSE = "TI TSPA" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc +require recipes-ti/includes/ti-eula-unpack.inc + +PLATFORM_omapl138 = "omapl138" +PLATFORM_omap3 = "omap3530" +PLATFORM ?= "" + +COMPATIBLE_MACHINE = "(omapl138|omap3)" + +PROVIDES += "ti-c6accel-apps" + +# This recipe links statically against kernel dependant stuff, use kernel PR as base and append a local version +PR = "${MACHINE_KERNEL_PR}" +PR_append = "c" + +S = "${WORKDIR}/c6accel_${PV}" + +# http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/index_FDS.html +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/c6000/web/c6accel/latest/exports//c6accel_${PV}_Linux-x86_Setup.bin;name=c6accelbin " + +BINFILE="c6accel_${PV}_Linux-x86_Setup.bin" +TI_BIN_UNPK_CMDS="Y:workdir" + +DEPENDS = "ti-codec-engine ti-xdais ti-dsplink ti-dspbios" +DEPENDS += "ti-edma3lld ti-cgt6x ti-xdctools ti-framework-components" +DEPENDS += "ti-biosutils" + +TIARGS = ' \ + PLATFORM="${PLATFORM}" \ + CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ + XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ + LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \ + CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \ + XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ + FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \ + BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ + SERVER_INSTALL_DIR="${CODEC_INSTALL_DIR}" \ + C6ACCEL_INSTALL_DIR="${S}" \ + CSTOOL_DIR="${TOOLCHAIN_PATH}" \ + CSTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \ + LINUXLIBS_INSTALL_DIR="${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" \ + CFLAGS=" ${TARGET_CC_ARCH} ${CFLAGS}" LDFLAGS="${LDFLAGS}" \ +' + +do_configure() { + unset VERBOSE + make ${TIARGS} clean + 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 + + # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it + if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then + sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' ${S}/soc/app/Makefile + fi +} + +do_compile() { + unset VERBOSE + make ${TIARGS} all +} + +do_install() { + install -d ${D}${C6ACCEL_INSTALL_DIR_RECIPE} + cp -pPrf ${S}/* ${D}${C6ACCEL_INSTALL_DIR_RECIPE} + + # update linker.cmd file to point to sysroot + sed -i ${i} -e s=${S}=${C6ACCEL_INSTALL_DIR}=g ${D}${C6ACCEL_INSTALL_DIR_RECIPE}/soc/app/c6accel_app_config/linker.cmd + + cd ${S} + make \ + PLATFORM="${PLATFORM}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ + C6ACCEL_INSTALL_DIR="${S}" \ + EXEC_DIR_C6ACCEL="${D}/${installdir}/c6accel-apps" \ + install +} + +PACKAGES += "ti-c6accel-apps" +FILES_ti-c6accel-apps = "${installdir}/c6accel-apps/*" +INSANE_SKIP_ti-c6accel-apps = True +RDEPENDS_ti-c6accel-apps += "ti-cmem-module ti-dsplink-module" + 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 @@ +From 58c50064afdc2fd7093613e0ae3a9192ea189460 Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Wed, 5 Jan 2011 10:10:33 +0100 +Subject: [PATCH] soc/app: fix makefile to pass -Wl,-T, before the linkerscript + +Signed-off-by: Koen Kooi +--- + soc/app/Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/soc/app/Makefile b/soc/app/Makefile +index 0bb7bdc..342e43a 100755 +--- a/soc/app/Makefile ++++ b/soc/app/Makefile +@@ -33,7 +33,7 @@ XDC_CFG = $(TARGET)_config + XDC_CFLAGS = $(XDC_CFG)/compiler.opt + + # Output linker file +-XDC_LFILE = $(XDC_CFG)/linker.cmd ++XDC_LFILE = -Wl,-T,$(XDC_CFG)/linker.cmd + + # Input configuration file + XDC_CFGFILE = $(PLATFORM)/$(TARGET).cfg +-- +1.6.6.1 + 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 @@ +From 192b19046a67263da44203bf50a5b51d0a655fec Mon Sep 17 00:00:00 2001 +From: Koen Kooi +Date: Fri, 31 Dec 2010 15:26:37 +0100 +Subject: [PATCH] soc: honour buildsystem CFLAGS and LDFLAGS when set + +Signed-off-by: Koen Kooi +--- + soc/app/Makefile | 13 ++++--------- + soc/c6accelw/Makefile | 14 ++++---------- + 2 files changed, 8 insertions(+), 19 deletions(-) + +diff --git a/soc/app/Makefile b/soc/app/Makefile +index 2647746..bed937e 100755 +--- a/soc/app/Makefile ++++ b/soc/app/Makefile +@@ -53,15 +53,10 @@ CONFIGURO = $(XDC_INSTALL_DIR)/xs xdc.tools.configuro + CONFIG_BLD = ../../config.bld + + ifeq ($(BUILD_TYPE), release) +-ifeq ($(ARM_ISA),armv7-a) +- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp +-endif +-ifeq ($(ARM_ISA),armv5t) +- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O +-endif ++C_FLAGS += $(CFLAGS) + else + CPP_FLAGS += -DNDEBUG +- C_FLAGS += -Wall -g ++ C_FLAGS += $(CFLAGS) -Wall -g + endif + + +@@ -72,7 +67,7 @@ ifeq ($(PLATFORM),omapl138) + C_FLAGS += -DPLATFORM=138 + endif + +-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread ++LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread + C6ACCEL_LIB += ../c6accelw/lib/c6accelw_$(PLATFORM).a470MV + + COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) $(CPP_FLAGS) -c +@@ -102,7 +97,7 @@ $(TARGET): $(OBJFILES) $(C6ACCEL_LIB) $(XDC_LFILE) + + $(OBJFILES): %.o: %.c $(HEADERS) $(XDC_CFLAGS) + @echo Compiling $@ from $<.. +- $(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $< ++ $(COMPILE.c) $(shell cat $(XDC_CFLAGS) | sed 's:-march=armv5t::g') -o $@ $< + + $(XDC_LFILE) $(XDC_CFLAGS): $(XDC_CFGFILE) + @echo +diff --git a/soc/c6accelw/Makefile b/soc/c6accelw/Makefile +index cc58acf..298ab3b 100755 +--- a/soc/c6accelw/Makefile ++++ b/soc/c6accelw/Makefile +@@ -21,19 +21,13 @@ BUILD_TYPE=release + 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 + + ifeq ($(BUILD_TYPE), release) +-ifeq ($(ARM_ISA),armv7-a) +- C_FLAGS += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp +- endif +-ifeq ($(ARM_ISA),armv5t) +- C_FLAGS += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O +- endif +- ++C_FLAGS += $(CFLAGS) + else +- CPP_FLAGS += -DNDEBUG +- C_FLAGS += -Wall -g ++ CPP_FLAGS += -DNDEBUG ++ C_FLAGS += $(CFLAGS) -Wall -g + endif + +-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib ++LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib + AR_FLAGS += + + COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) -c +-- +1.6.6.1 + 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 @@ +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 +--- c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-07-26 16:18:35.000000000 -0500 ++++ c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh 2010-09-12 11:50:46.129159981 -0500 +@@ -1,4 +1,4 @@ +-# loadmodules.sh ++#!/bin/sh + # + # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/ + # +@@ -11,34 +11,16 @@ + # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + # Lesser General Public License for more details. + +-# +-# Default Memory Map +-# +-# Start Addr Size Description +-# ------------------------------------------- +-# 0x80000000 88 MB Linux +-# 0x85800000 08 MB CMEM +-# 0x86800000 24 MB DDRALGHEAP +-# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications) +-# 0x87E00000 1 MB DSPLINK (MEM) +-# 0x87F00000 4 KB DSPLINK (RESET) +-# 0x87F01000 1020 KB unused +-rmmod cmemk.ko +-rmmod lpm_omap3530.ko +-rmmod dsplinkk +-# Allocate 15MB for CMEM +-insmod cmemk.ko phys_start=0x86300000 phys_end=0x87200000 pools=20x4096 ++# remove previously loaded cmem to ensure that it configured to use our pool configuration ++rmmod cmemk 2>/dev/null + +-# insert DSP/BIOS Link driver +-# +-insmod dsplinkk.ko ++# Allocate 15MB for CMEM ++modprobe cmemk phys_start=0x86300000 phys_end=0x87200000 pools=20x4096 allowOverlap=1 ++modprobe dsplinkk ++modprobe lpm_omap3530 + + # make /dev/dsplink + rm -rf /dev/dsplink + mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 + + +-# insert Local Power Manager driver +-# +-insmod lpm_omap3530.ko +- +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 +--- c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-07-27 09:45:37.000000000 -0500 ++++ c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh 2010-09-12 11:52:07.193160179 -0500 +@@ -1,4 +1,4 @@ +-# ++#!/bin/sh + # Copyright (c) 2008, Texas Instruments Incorporated + # All rights reserved. + # +@@ -29,15 +29,14 @@ + # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # +-rmmod dsplinkk.ko +-rmmod cmemk.ko ++ ++# remove previously loaded cmem to ensure that its configured to use our pool configuration. ++rmmod cmemk 2>/dev/null ++ + # insert cmemk, tell it to occupy physical 120MB-128MB, create + # 20 4K buffers, 10 128K buffers and two 1MB buffers +-insmod cmemk.ko phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096 +- +-# insert DSP/BIOS Link driver +-# +-insmod dsplinkk.ko ++modprobe cmemk phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096 allowOverlap=1 ++modprobe dsplinkk + + # make /dev/dsplink + 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 @@ +require ti-c6accel.inc + +SRC_URI[c6accelbin.md5sum] = "0ddf37fd9dad91fa3a914e549da933b9" +SRC_URI[c6accelbin.sha256sum] = "453399a84bf117bd7a91393242c7c005e2829692db5ede18e4be166c61e4354c" + +SRC_URI_append = "file://fix-loadmodule.patch \ + file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \ + " + +PV = "1_01_00_03" + + +CFLAGS += "-fPIC" + 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 @@ +DESCRIPTION = "Codec Engine for TI ARM/DSP processors" +HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ce" +SECTION = "devel" +LICENSE = "BSD" + +LIC_FILES_CHKSUM = "file://codec_engine_2_26_02_11_manifest.html;md5=912535f1b02ecf329a3979bf313f91e0" + +# TODO :: Add Codec Engine Library Rebuild +# TODO :: Add Examples APP_LOCAL build as well? +# TODO :: Check DEPENDS - are the DSP side packages required for ARM-only products? + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc + +PROVIDES += "ti-codec-engine-examples" + +PR = "${MACHINE_KERNEL_PR}" +PR_append = "a" + +S = "${WORKDIR}/codec_engine_${PV}" + +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 " + +DEPENDS = "ti-framework-components ti-xdais ti-xdctools ti-linuxutils" +DEPENDS_append_dm6446 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld" +DEPENDS_append_dm6467 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" +DEPENDS_append_omap3 = " ti-dspbios ti-dsplink ti-local-power-manager ti-cgt6x ti-biosutils ti-edma3lld" +DEPENDS_append_omapl137 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" +DEPENDS_append_omapl138 = " ti-dspbios ti-dsplink ti-cgt6x ti-biosutils ti-edma3lld" + +# SOC_FAMILY configuration + +# Define DEVICES variable +CEEXAMPLESDEVICES_dm6446 = "DM6446" +CEEXAMPLESDEVICES_dm6467 = "DM6467" +CEEXAMPLESDEVICES_omap3 = "OMAP3530" +CEEXAMPLESDEVICES_dm355 = "DM355" +CEEXAMPLESDEVICES_dm365 = "DM365" +CEEXAMPLESDEVICES_omapl137 = "OMAPL137" +CEEXAMPLESDEVICES_omapl138 = "OMAPL138" +CEEXAMPLESDEVICES ?= "" + +# Define GPPOS variable +CEEXAMPLESGPPOS_dm6446 = "LINUX_GCC" +CEEXAMPLESGPPOS_dm6467 = "LINUX_GCC" +CEEXAMPLESGPPOS_omap3 = "LINUX_GCC" +CEEXAMPLESGPPOS_dm355 = "LINUX_GCC" +CEEXAMPLESGPPOS_dm365 = "LINUX_GCC" +CEEXAMPLESGPPOS_omapl137 = "LINUX_GCC" +CEEXAMPLESGPPOS_omapl138 = "LINUX_GCC" +CEEXAMPLESGPPOS ?= "" + +# Define PROGRAM variable +CEEXAMPLESPROGRAMS_dm6446 = "APP_CLIENT DSP_SERVER" +CEEXAMPLESPROGRAMS_dm6467 = "APP_CLIENT DSP_SERVER" +CEEXAMPLESPROGRAMS_omap3 = "APP_CLIENT DSP_SERVER" +CEEXAMPLESPROGRAMS_dm355 = "APP_LOCAL" +CEEXAMPLESPROGRAMS_dm365 = "APP_LOCAL" +CEEXAMPLESPROGRAMS_omapl137 = "APP_CLIENT DSP_SERVER" +CEEXAMPLESPROGRAMS_omapl138 = "APP_CLIENT DSP_SERVER" +CEEXAMPLESPROGRAMS ?= "" + +do_configure() { + + # No way to pass this via ENV? + sed -i \ + -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \ + ${S}/examples/xdcpaths.mak + + # compiler is not under ${TOOLCHAIN_PATH}/bin anymore... + sed -i \ + -e s:bin/${TARGET_PREFIX}gcc:${TARGET_PREFIX}gcc:g \ + ${S}/examples/xdcpaths.mak + + # ... and ar is not there too +# sed -i \ +# -e s:/arm-angstrom-linux-gnueabi/bin/ar:/arm-angstrom-linux-gnueabi-ar:g \ +# ${S}/examples/ti/xdais/dm/examples/viddec1_copy/package.mak +} + +do_prepsources() { + + for i in codecs extensions servers apps ; do + cd ${S}/examples/ti/sdo/ce/examples/$i + make DEVICES="${CEEXAMPLESDEVICES}" \ + GPPOS="${CEEXAMPLESGPPOS}" \ + PROGRAMS="${CEEXAMPLESPROGRAMS}" \ + CE_INSTALL_DIR="${S}" \ + XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \ + BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \ + DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ + FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ + EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \ + CGTOOLS_V5T="${TOOLCHAIN_PATH}" \ + CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \ + CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \ + clean + # '.make' target was used in CE < 2.26, but its no longer + # supported in CE >= 2.26. Now we are moved to >=2.26 + # hence commenting out the .make target. + # .make clean + done +} + +addtask prepsources after do_configure before do_compile + +do_compile () { + + for i in codecs extensions servers apps ; do + cd ${S}/examples/ti/sdo/ce/examples/$i + make DEVICES="${CEEXAMPLESDEVICES}" \ + GPPOS="${CEEXAMPLESGPPOS}" \ + PROGRAMS="${CEEXAMPLESPROGRAMS}" \ + CE_INSTALL_DIR="${S}" \ + XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}" \ + BIOSUTILS_INSTALL_DIR="${BIOSUTILS_INSTALL_DIR}" \ + DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ + FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ + EDMA3_LLD_INSTALL_DIR="${EDMA3_LLD_INSTALL_DIR}" \ + CGTOOLS_V5T="${TOOLCHAIN_PATH}" \ + CGTOOLS_C64P="${CODEGEN_INSTALL_DIR}" \ + CGTOOLS_C674="${CODEGEN_INSTALL_DIR}" \ + all + done +} + +do_install() { + + install -d ${D}/${installdir}/ti-codec-engine-examples + if [ -e ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ]; then + cp ${S}/examples/apps/system_files/${CEEXAMPLESDEVICES}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples + elif [ -e ${WORKDIR}/loadmodules.sh ]; then + cp ${WORKDIR}/loadmodules.sh ${D}/${installdir}/ti-codec-engine-examples + fi + + cd ${S}/examples/ti/sdo/ce/examples + + # Install the apps, servers and test data, mirroring the source directory structure + # - Put the servers inside the same folder as the executable + # - TODO - Check nested dirs (e.g. dualcpu_separateconfig) + + # Put all servers in separate tree. + for i in $(find . -name "*.${DSPSUFFIX}"); do + install -d ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /` + install ${i} ${D}/${installdir}/ti-codec-engine-examples/servers/`dirname ${i} | cut -f3 -d /` + done + + for i in $(find . -name "*.xv5T"); do + install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` + install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` + done + + for i in $(find . -name "*.dat"); do + install -d ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` + install ${i} ${D}/${installdir}/ti-codec-engine-examples/`dirname ${i} | cut -f3 -d /` + done + + # For each directory, softlink to the app server, except special cases + cd ${D}/${installdir}/ti-codec-engine-examples + for i in $(find . -type d | grep -v servers); do + { + pwd + cd ${D}/${installdir}/ti-codec-engine-examples/$i + if [ $(basename $i) = "audio1_ires" ] ; then + ln -s ../servers/audio1_ires/audio1_ires.${DSPSUFFIX} + elif [ $(basename $i) = "server_api_example" ] ; then + ln -s ../servers/server_api_example/audio_copy.${DSPSUFFIX} + elif [ $(basename $i) != "." ] ; then + ln -s ../servers/all_codecs/all.${DSPSUFFIX} + else + echo Skipping $i + fi + } + done + + # Install/Stage the Source Tree + install -d ${D}${CE_INSTALL_DIR_RECIPE} + cp -pPrf ${S}/* ${D}${CE_INSTALL_DIR_RECIPE} +} + +PACKAGES += "ti-codec-engine-examples" + +RDEPENDS_ti-codec-engine-examples = " ti-cmem-module" +RDEPENDS_ti-codec-engine-examples_append_dm6446 = " ti-dsplink-module ti-lpm-module" +RDEPENDS_ti-codec-engine-examples_append_dm6467 = " ti-dsplink-module" +RDEPENDS_ti-codec-engine-examples_append_omap3 = " ti-dsplink-module ti-lpm-module" +RDEPENDS_ti-codec-engine-examples_append_omapl137 = " ti-dsplink-module" +RDEPENDS_ti-codec-engine-examples_append_omapl138 = " ti-dsplink-module" +FILES_ti-codec-engine-examples = "${installdir}/ti-codec-engine-examples/*" +INSANE_SKIP_ti-codec-engine-examples = True + 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 @@ +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 +index 2bbfb72..2a00d0d 100644 +--- 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 +@@ -80,6 +80,7 @@ REPO_PATH = \ + $(FC_INSTALL_DIR)/packages \ + $(FC_INSTALL_DIR)/examples \ + $(CMEM_INSTALL_DIR)/packages \ ++ $(LPM_INSTALL_DIR)/packages \ + $(BIOSUTILS_INSTALL_DIR)/packages \ + $(EXAMPLES_ROOTDIR) + +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 +index f2b187a..827f6bc 100644 +--- 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 +@@ -74,6 +74,7 @@ REPO_PATH = \ + $(XDAIS_INSTALL_DIR)/packages \ + $(FC_INSTALL_DIR)/packages \ + $(CMEM_INSTALL_DIR)/packages \ ++ $(LPM_INSTALL_DIR)/packages \ + $(BIOSUTILS_INSTALL_DIR)/packages \ + $(EXAMPLES_ROOTDIR) + +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 +index a4fe4dc..a23f991 100644 +--- 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 +@@ -76,6 +76,7 @@ REPO_PATH = \ + $(XDAIS_INSTALL_DIR)/packages \ + $(FC_INSTALL_DIR)/packages \ + $(CMEM_INSTALL_DIR)/packages \ ++ $(LPM_INSTALL_DIR)/packages \ + $(BIOSUTILS_INSTALL_DIR)/packages \ + $(EXAMPLES_ROOTDIR) + +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 +index 8baa9dd..3c01c04 100644 +--- 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 +@@ -74,6 +74,7 @@ REPO_PATH = \ + $(XDAIS_INSTALL_DIR)/packages \ + $(FC_INSTALL_DIR)/packages \ + $(CMEM_INSTALL_DIR)/packages \ ++ $(LPM_INSTALL_DIR)/packages \ + $(BIOSUTILS_INSTALL_DIR)/packages \ + $(EXAMPLES_ROOTDIR) + +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 +index 3319c06..09a6357 100644 +--- 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 +@@ -75,6 +75,7 @@ REPO_PATH = \ + $(XDAIS_INSTALL_DIR)/packages \ + $(FC_INSTALL_DIR)/packages \ + $(CMEM_INSTALL_DIR)/packages \ ++ $(LPM_INSTALL_DIR)/packages \ + $(BIOSUTILS_INSTALL_DIR)/packages \ + $(EXAMPLES_ROOTDIR) + 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 @@ +# +# Copyright (c) 2008, Texas Instruments Incorporated +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the name of Texas Instruments Incorporated nor the names of +# its contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# insert cmemk, tell it to occupy physical 120MB-128MB, create +# 20 4K buffers, 10 128K buffers and two 1MB buffers +CMEM_MODPARAMS="phys_start=0x87800000 phys_end=0x88000000 pools=20x4096,10x131072,2x1048576" + +if [ -e cmemk.ko ] + then + insmod cmemk.ko $CMEM_MODPARAMS + else + modprobe cmemk $CMEM_MODPARAMS +fi + +# Allow cmem driver to be used by all users +if [ -e /dev/cmem ] + then + chmod 666 /dev/cmem +fi + 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 @@ +# +# Default Memory Map - for OMAP3530 CE 2.21 examples +# +# Start Addr Size Description +# ------------------------------------------- +# 0x80000000 80 MB Linux +# 0x85000000 08 MB CMEM +# 0x86000000 24 MB DDRALGHEAP +# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications) +# 0x87E00000 1 MB DSPLINK (MEM) +# 0x87F00000 4 KB DSPLINK (RESET) +# 0x87F01000 1020 KB unused + +# sanity check to verify that we're using the right mem=xxM (80M in this case) +awk '/MemTotal:/ { + mem=$2 + + if (mem > 80 * 1024) + print "Warning! You need to use mem=80M or less on the kernel cmdline" + + printf "You have %dkB total memory for Linux\n", mem +}' /proc/meminfo + +# Select cmemk parameters for best fit, i.e. starting at 0x85000000 +modprobe cmemk phys_start=0x85000000 phys_end=0x86000000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440 + +# insert DSP/BIOS Link driver +# +modprobe dsplinkk + +# make /dev/dsplink +#rm -f /dev/dsplink +#mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 + +# insert Local Power Manager driver +# +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 @@ +# Unload modules - CODEC ENGINE - OMAP3530 + +# remove lpm module +rmmod lpm_omap3530 + +# remove DSP/BIOS Link driver +rmmod dsplinkk +#rm -f /dev/dsplink + +# remove cmem module +rmmod cmemk + 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 @@ +require ti-codec-engine.inc + +PV = "2_26_02_11" + +SRC_URI[cetarball.md5sum] = "4f755f77119e4da19ab5cc7ae7ccfdb4" +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 @@ +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 +--- cs1omap3530_1_00_01/packages/ti/sdo/server/cs/codec.cfg 2009-10-26 14:19:21.000000000 -0500 ++++ cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/codec.cfg 2009-10-26 14:36:03.000000000 -0500 +@@ -92,6 +92,14 @@ + MPEG4ENC.alg.udataSection = "DDR2"; + MPEG4ENC.alg.dataSection = "DDR2"; + ++ var MP3DEC = xdc.useModule('ti.sdo.codecs.mp3dec.ce.MP3DEC'); ++ ++ // Module Config ++ MP3DEC.alg.watermark = false; ++ MP3DEC.alg.codeSection = "DDR2"; ++ MP3DEC.alg.udataSection = "DDR2"; ++ MP3DEC.alg.dataSection = "DDR2"; ++ + /* + * The array of algorithms this server can serve up. This array also + * configures details about the threads which will be created to run the +@@ -103,6 +111,11 @@ + groupId : 1, + }, + ++ {name: "mp3dec", mod: MP3DEC , threadAttrs: { ++ stackMemId: 0, priority: Server.MINPRI + 3}, ++ groupId : 1, ++ }, ++ + {name: "g711dec", mod: G711DEC , threadAttrs: { + stackMemId: 0, priority: Server.MINPRI + 3}, + groupId : 1, +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 +--- cs1omap3530_1_00_01/packages/ti/sdo/server/cs/package.xs 2009-10-26 14:19:20.000000000 -0500 ++++ cs1omap3530_1_00_01_patches/packages/ti/sdo/server/cs/package.xs 2009-10-26 14:53:40.000000000 -0500 +@@ -17,6 +17,7 @@ + validate_one_codec( "ti.sdo.codecs.mpeg2dec", "MPEG2DEC" ); + validate_one_codec( "ti.sdo.codecs.mpeg4dec", "MPEG4DEC" ); + validate_one_codec( "ti.sdo.codecs.mpeg4enc", "MPEG4ENC" ); ++ validate_one_codec( "ti.sdo.codecs.mp3dec", "MP3DEC" ); + } + + 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 @@ +DESCRIPTION = "TI Codecs and Server Combo for OMAP3530" +SECTION = "multimedia" +LICENSE = "TI" + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc + +PR="${MACHINE_KERNEL_PR}" +PR_append = "a" + +PV="4_00_00_00" + +CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}" + +SRCREV = "8393c892b09e0ac42b19ff1531e232478c3b1a6c" + +require recipes-ti/includes/ti-eula-unpack.inc + +SRC_URI="http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264enc_2_01_013_production.bin;name=h264enc \ + http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_h264dec_2_01_007_production.bin;name=h264dec \ + http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_jpegenc_02_01_01_00_production.bin;name=jpegenc \ + 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 \ + 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 \ + http://software-dl.ti.com/dsps/dsps_public_sw/codecs/OMAP35xx//OMAP35xx_latest/omap3530_mpeg4enc_02_04_00_00_production.bin;name=mpeg4enc \ + 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 \ + 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 \ + 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 \ + 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 \ + git://arago-project.org/git/projects/codec-servers.git;protocol=git \ + +" + +SRC_URI[h264enc.md5sum] = "4a7a4698b1db360fe103aae76127a4ec" +SRC_URI[h264enc.sha256sum] = "8fd970d83004bb099f51420b0eecd660b4ba9dccc87b2759d0b5a0be46f8f1a0" + +SRC_URI[h264dec.md5sum] = "81980df2d9dbedc5b64789c4e5575819" +SRC_URI[h264dec.sha256sum] = "19d65e71ba0342670cb217e0fa6617263ff68a513e8444a8dfd5f34bd641b24f" + +SRC_URI[jpegenc.md5sum] = "c2e8ad88e90c04d2de7b199517019ac8" +SRC_URI[jpegenc.sha256sum] = "6525e067cb5dd00cfc0b38045c44dcbed05866f8ad20188ceac630812502d473" + +SRC_URI[jpegdec.md5sum] = "cf2886c3406ab41409a586e5d550918d" +SRC_URI[jpegdec.sha256sum] = "6b0c9f1b8f023070c6a59af690f015f84f2c7f3143235f788ddd1a4a7b229089" + +SRC_URI[mpeg2dec.md5sum] = "da3d0561f3073352be43dce96ce1ea62" +SRC_URI[mpeg2dec.sha256sum] = "06cdb31242b8649bdd46bc07b9276de0ccd5f4e1c137d3cb79e0866c1ed04264" + +SRC_URI[mpeg4enc.md5sum] = "07c36e5d03368e1326df75a1f0c4934d" +SRC_URI[mpeg4enc.sha256sum] = "a9566c8978f7230936053de9b1f3bfe8820ae555262ceba87243abdf60e5193f" + +SRC_URI[mpeg4dec.md5sum] = "4a27cda2d5a859e6322680a4855b6b88" +SRC_URI[mpeg4dec.sha256sum] = "ca35db6841586fc2c22dd9c07a7f5b8557f480fa907e8a3471b660d4ada76e40" + +SRC_URI[aachedec.md5sum] = "649f2e79b4950719295cfecbff2ea82b" +SRC_URI[aachedec.sha256sum] = "34d19e40d624ccdc1b371f9a5d6594b4793bdf3b7223ac65912d15d75320e020" + +SRC_URI[g711.md5sum] = "fd8e9f939cc505dc5761705ed17a726c" +SRC_URI[g711.sha256sum] = "c87021e8df2a3f494f47e5bdce8a5fad04d667aa1b792fd9b3ecff634867b48d" + +SRC_URI[i2p.md5sum] = "f67c04eec9ee49c7a686eecf5d54be33" +SRC_URI[i2p.sha256sum] = "3fbf8801f3ce2aabb6d31eb18e1e24e41ca861696b3140536f1d66adc76f0323" + + +TI_BIN_UNPK_CMDS = "Y:workdir" + +S = "${CODEC_SUITE_NAME}" + +DEPENDS = "ti-cgt6x ti-xdctools ti-dspbios ti-codec-engine ti-linuxutils ti-c6accel" + +#generic codec +DSPSUFFIX_omap3530 = "x64P" + +python do_unpack () { + bb.build.exec_func('base_do_unpack', d) + + bb.data.setVar("BINFILE", "omap3530_h264enc_2_01_013_production.bin", d) + bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/omap3530_h264enc_2_01_013_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "omap3530_h264dec_2_01_007_production.bin", d) + bb.data.setVar("TARFILE", "omap3530_h264dec_2_01_007_production/omap3530_h264dec_2_01_007_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "omap3530_jpegenc_02_01_01_00_production.bin", d) + bb.data.setVar("TARFILE", "omap3530_jpegenc_02_01_01_00_production/omap3530_jpegenc_02_01_01_00_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_jpegdec_02_00_01_01_production.bin", d) + bb.data.setVar("TARFILE", "c64xplus_jpegdec_02_00_01_01_production/c64xplus_jpegdec_02_00_01_01_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_mpeg2dec_02_00_02_00_production.bin", d) + bb.data.setVar("TARFILE", "c64xplus_mpeg2dec_02_00_02_00_production/c64xplus_mpeg2dec_02_00_02_00_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "omap3530_mpeg4enc_02_04_00_00_production.bin", d) + bb.data.setVar("TARFILE", "omap3530_mpeg4enc_02_04_00_00_production/omap3530_mpeg4enc_02_04_00_00_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_mpeg4dec_02_01_00_00_production.bin", d) + bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/c64xplus_mpeg4dec_02_01_00_00_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_aachedec_01_30_03_00_production.bin", d) + bb.data.setVar("TARFILE", "c64xplus_aachedec_01_30_03_00_production/dm6446_aachedec_01_30_03_00_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d) + bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711enc_1_12_00_000_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_g711_1_12_00_000_production.bin", d) + bb.data.setVar("TARFILE", "h264enc_dm6467_1_20_00_08/dm6446_g711dec_1_12_00_000_production.tar", d) + bb.build.exec_func('ti_bin_do_unpack', d) + + bb.data.setVar("BINFILE", "c64xplus_deinterlacer_01_00_00_07_production.bin", d) + bb.data.setVar("TARFILE", "c64xplus_deinterlacer_01_00_00_07/c64xplus_deinterlacer_01_00_00_07_production.tar", d) + bb.data.setVar("TI_BIN_UNPK_CMDS", "y: :q: ", d) + bb.build.exec_func('ti_bin_do_unpack', d) + +} + +addtask prepsources after do_unpack before do_patch + +do_prepsources () { + + mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs + cp ${WORKDIR}/git/omap3530/cs1omap3530/rel-files/* ${CODEC_SUITE_NAME}/ + cp ${WORKDIR}/git/omap3530/cs1omap3530/source/* ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs + cp -a "${WORKDIR}/git/omap3530/cs1omap3530/docs" ${CODEC_SUITE_NAME}/packages/ti/sdo/server/cs + + mkdir -p ${CODEC_SUITE_NAME}/packages/ti/sdo/codecs + cp -a "${WORKDIR}/omap3530_h264enc_2_01_013_production/packages/ti/sdo/codecs/h264enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/omap3530_h264dec_2_01_007_production/packages/ti/sdo/codecs/h264dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/omap3530_jpegenc_02_01_01_00_production/packages/ti/sdo/codecs/jpegenc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/c64xplus_jpegdec_02_00_01_01_production/packages/ti/sdo/codecs/jpegdec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/c64xplus_mpeg2dec_02_00_02_00_production/packages/ti/sdo/codecs/mpeg2dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/omap3530_mpeg4enc_02_04_00_00_production/packages/ti/sdo/codecs/mpeg4enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/c64xplus_mpeg4dec_02_01_00_00_production/packages/ti/sdo/codecs/mpeg4dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + chmod -R +w "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec/docs" + cp -a "${WORKDIR}/dm6446_aachedec_01_30_03_00_production/packages/ti/sdo/codecs/aachedec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/dm6446_g711enc_1_12_00_000_production/packages/ti/sdo/codecs/g711enc" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/dm6446_g711dec_1_12_00_000_production/packages/ti/sdo/codecs/g711dec" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + cp -a "${WORKDIR}/c64xplus_deinterlacer_01_00_00_07_production/packages/ti/sdo/codecs/deinterlacer" "${CODEC_SUITE_NAME}/packages/ti/sdo/codecs" + chmod 755 -R ${CODEC_SUITE_NAME} +} + +do_compile() { + + cd "${S}" + + make \ + CE_INSTALL_DIR=${CE_INSTALL_DIR} \ + FC_INSTALL_DIR=${FC_INSTALL_DIR} \ + LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ + CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ + LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ + BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ + CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ + XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \ + CODEC_INSTALL_DIR="${S}" \ + XDCARGS="prod" \ + C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ + clean + + make \ + CE_INSTALL_DIR=${CE_INSTALL_DIR} \ + FC_INSTALL_DIR=${FC_INSTALL_DIR} \ + LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ + CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ + LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ + BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ + CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ + XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \ + CODEC_INSTALL_DIR="${S}" \ + XDCARGS="prod" \ + C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ + all +} + +do_install() { + + install -d ${D}/${installdir}/ti-codecs-server + cd ${S} + + # Install the DSP Server Binary + for file in `find . -name *.${DSPSUFFIX}`; do + cp ${file} ${D}/${installdir}/ti-codecs-server + done + + # Install docs (codec qualiTI test reports, server config datasheet, etc) + for file in `find . -name *.html`; do + cp ${file} ${D}/${installdir}/ti-codecs-server + done + + install -d ${D}${CODEC_INSTALL_DIR_RECIPE} + cp -pPrf ${CODEC_SUITE_NAME}/* ${D}${CODEC_INSTALL_DIR_RECIPE} +} + + +PACKAGES += "ti-codecs-omap3530-server" +FILES_ti-codecs-omap3530-server = "${installdir}/ti-codecs-server/*" + + 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 @@ +DESCRIPTION = "Davinci Multimedia Application Interface (DMAI) for TI ARM/DSP processors" +HOMEPAGE = "https://gforge.ti.com/gf/project/dmai/" +SECTION = "multimedia" +LICENSE = "BSD" + +# TODO :: + +require recipes-ti/includes/ti-paths.inc +require recipes-ti/includes/ti-staging.inc + +PROVIDES += "ti-dmai-apps" + +PE = "1" + +SRCREV ?= "" +DMAIBRANCH ?= "" + +S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}" + +SRC_URI = "svn://gforge.ti.com/svn/dmai/;module=${DMAIBRANCH};proto=https;user=anonymous;pswd='' \ + file://loadmodules-ti-dmai-dm6446_al.sh \ + file://loadmodules-ti-dmai-dm6467_al.sh \ + file://loadmodules-ti-dmai-o3530_al.sh \ + file://loadmodules-ti-dmai-dm355_al.sh \ + file://loadmodules-ti-dmai-dm365_al.sh \ + file://loadmodules-ti-dmai-ol137_al.sh \ + file://loadmodules-ti-dmai-ol138_al.sh \ + file://doxygen_templates.tar.gz \ + file://arago-tdox \ + " + +DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools" + +DEPENDS_append_dm6446 = " ti-codecs-dm6446 ti-dspbios ti-cgt6x ti-linuxutils" +DEPENDS_append_dm6467 = " ti-codecs-dm6467 ti-dspbios ti-cgt6x ti-linuxutils" +DEPENDS_append_omap3 = " ti-codecs-omap3530 ti-dspbios ti-cgt6x ti-linuxutils" +DEPENDS_append_dm355 = " ti-codecs-dm355" +DEPENDS_append_dm365 = " ti-codecs-dm365" +DEPENDS_append_omapl137 = " ti-codecs-omapl137 ti-dspbios ti-cgt6x ti-linuxutils" +DEPENDS_append_omapl138 = " ti-codecs-omapl138 ti-dspbios ti-cgt6x ti-linuxutils" + +# Define DMAI build time variables +DMAIPLATFORM_dm6446 = "dm6446_al" +DMAIPLATFORM_dm6467 = "dm6467_al" +DMAIPLATFORM_omap3 = "o3530_al" +DMAIPLATFORM_dm355 = "dm355_al" +DMAIPLATFORM_dm365 = "dm365_al" +DMAIPLATFORM_omapl137 = "ol137_al" +DMAIPLATFORM_omapl138 = "ol138_al" +DMAIPLATFORM ?= "" + +# Need to set this for other platforms as well +#GPPOS_dm355 = "LINUX_GCC" +#GPPOS_dm365 = "LINUX_GCC" +#GPPOS ?= "" + +# Need to re-define this for OMAP-L137/L138 +DSPSUFFIX_omapl137 = "x64P" +DSPSUFFIX_omapl138 = "x64P" +DSPSUFFIX ?= "x64p" + +# This is needed for dm355/dm365 targets in order to find ti.sdo.codecs.g711 +# TODO :: review - should we just pass this in do_compile? +USER_XDC_PATH = "${CE_INSTALL_DIR}/examples" + +PARALLEL_MAKE = "" + +do_prepsources() { + # run the release steps - this will delete .svn file and run doxygen to + # generate proper documentation of the source etc. + find ${WORKDIR}/${DMAIBRANCH} -name .svn -type d | xargs rm -rf + cp -pPrf ${WORKDIR}/doxygen_templates ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface + cp -pPrf ${WORKDIR}/arago-tdox ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox + chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh + chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox + sed -i 's|tdox|./tdox|g' ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh + (cd ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface; ./release.sh ${PV}) +} + +# run prepare sources before do_patch to ensure that sourceipk picks the right sources. +addtask prepsources after do_unpack before do_patch + +do_compile () { + # Recent kernel headers warn against inclusion from userspace + for makefile in $(find ${S} -name "Makefile") ; do + sed -i -e s:-Werror::g $makefile + done + + # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it + if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then + # Fix up linkerscripts, recent toolchains need -T to prepend the default script to the custom one + for appmakefile in $(find ${S} -name "Makefile.app") ; do + sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' $appmakefile + done + fi + + # TODO :: Why do we do this? + unset DMAI_INSTALL_DIR + cd ${S} + + make XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" PLATFORM="${DMAIPLATFORM}" clean + + for dir in ${S}; do + cd $dir + # TODO: Figure out how to pass the alsa require location, currently + # LINUXLIBS_INSTALL_DIR is hard-coded for armv5te + make \ + CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ + CODEC_INSTALL_DIR="${CODEC_INSTALL_DIR}" \ + FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ + LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ + XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \ + CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\ + LINUXLIBS_INSTALL_DIR="${STAGING_DIR_TARGET}/usr" \ + USER_XDC_PATH="${USER_XDC_PATH}" \ + CROSS_COMPILE="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \ + VERBOSE="true" \ + XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ + LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \ + C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \ + MVTOOL_PREFIX="${TARGET_PREFIX}" \ + PLATFORM="${DMAIPLATFORM}" + done +} + +do_install () { + + # TODO :: Why do we do this? + unset DMAI_INSTALL_DIR + + install -d ${D}/${installdir}/ti-dmai-apps + cd ${S} + make PLATFORM="${DMAIPLATFORM}" EXEC_DIR=${D}/${installdir}/ti-dmai-apps install + install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${DMAIPLATFORM}.sh ${D}/${installdir}/ti-dmai-apps/loadmodules.sh + + install -d ${D}${DMAI_INSTALL_DIR_RECIPE} + cp -pPrf ${S}/* ${D}${DMAI_INSTALL_DIR_RECIPE} +} + +PACKAGES += "ti-dmai-apps" +FILES_ti-dmai-apps = "${installdir}/ti-dmai-apps/*" +INSANE_SKIP_ti-dmai-apps = True + +RDEPENDS_ti-dmai-apps_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module" +RDEPENDS_ti-dmai-apps_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module" +RDEPENDS_ti-dmai-apps_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module" +RDEPENDS_ti-dmai-apps_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module" +RDEPENDS_ti-dmai-apps_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module" +RDEPENDS_ti-dmai-apps_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module" +RDEPENDS_ti-dmai-apps_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module" + +pkg_postinst_ti-dmai-apps () { + ln -sf ${installdir}/ti-codecs-server/*.${DSPSUFFIX} ${installdir}/ti-dmai-apps/ +} + 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 @@ +From 9d9326c26ea990fa49842e0c57d520a5acb4d887 Mon Sep 17 00:00:00 2001 +From: Don Darling +Date: Fri, 16 Apr 2010 17:40:40 -0500 +Subject: [PATCH] Correct DMAI's Resize module for DM365. + +The PSP requires virtual addresses to be given for the resize buffers. This +differs from previous releases, which required physical addresses. This +change updates the Resize module to use virtual addresses. +--- + .../packages/ti/sdo/dmai/linux/dm365/Resize.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c +index c1716c4..3e71e46 100644 +--- a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c ++++ b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c +@@ -313,12 +313,12 @@ Int Resize_execute(Resize_Handle hResize, + + rsz.in_buff.index = -1; + rsz.in_buff.buf_type = IMP_BUF_IN; +- rsz.in_buff.offset = Buffer_getPhysicalPtr(hSrcBuf) + srcOffset; ++ rsz.in_buff.offset = ((Int32)Buffer_getUserPtr(hSrcBuf)) + srcOffset; + rsz.in_buff.size = Buffer_getSize(hSrcBuf); + + rsz.out_buff1.index = -1; + rsz.out_buff1.buf_type = IMP_BUF_OUT1; +- rsz.out_buff1.offset = Buffer_getPhysicalPtr(hDstBuf) + dstOffset; ++ rsz.out_buff1.offset = ((Int32)Buffer_getUserPtr(hDstBuf)) + dstOffset; + rsz.out_buff1.size = Buffer_getSize(hDstBuf); + + /* +-- +1.6.3.3 + 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 @@ +#!/bin/bash +# +# +# This script sets a series of environment variable that are referenced +# in a doxygen configuration file. The values passed in here are simply +# plugged into the file locations and doxygen proceeds normaly. +# +# template location is ${VENDORS}/opensource/doxygen/templates/ +# +# + +# Revision history +#! 02 Jul 2009 cring: Added cmd line args for doxygendir (-x) and template (-t) +#! 13 Jul 2006 ada: New template smaller pdf generation +#! 16 May 2006 ada: Added -p file to pdf for space in project names +#! 08 May 2006 ada: Added pdf generation to tdox (Solaris/Linux only). +#! 23 Jan 2006 ada: Overide file to change default doxyfile behaivior +#! 19 Jan 2006 ada: 1093, ENUM_VALUES_PER_LINE set to 1, ref doxyfile via vers +#! 05 Oct 2005 ada: 933, doxyfile in tools, removed win and unix vendors path +#! 24 Aug 2005 ada: Added 897 changes, optional css c or jave optimization +#! 18 Aug 2005 ada: inital version from AR 887 + +# Set these defaults here as the usage statement uses them +TDOX_TEMPLATEDIR=${TOOLS}/default/doxygen_templates +DOXYGEN_EXECUTABLE=doxygen + +function usage +{ + 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]" + echo "`basename $1` $OPTIONS" + echo "Where: " + echo "\tcode_location: Top of tree(s) to search for code (required as 1st param)" + echo "\tout_doc_location: Output location for generated files (required as 2nd param)" + echo "\t[-n project_name]: title of generated documentation (defaults to Project)" + echo "\t[-x doxygen_exe]: location of doxygen executable (defaults to $DOXYGEN_EXECUTABLE)" + echo "\t[-t tdox_templatedir]: location of tdox templates (defaults to $TDOX_TEMPLATEDIR)" + echo "\t[-v version]: version number or string (defaults to 1.0)" + echo "\t[-f FILE_PATTERNS]: Optional list of files to document (defaults to all)" + echo "\t[-s strip_dirs]: Remove directory prefix from generated files (defaults to not remove)" + echo "\t[-c path_to_css]: Path to a user suplied CSS style sheet" + echo "\t[-e exclude dirs]: List of directories to exclude" + echo "\t[-b enabled sections]: List of sections to enable" + echo "\t[-m generate chm]: chm file name (required)" + echo "\t[-p generate pdf ]: create .pdf in html/pdf (Linux only)" + echo "\t[-o override doxyfile]: file (advanced) Overide any doxyfile default" + echo "\t[-j]: Optimize for Java (Generate class files) defaults to C" + echo "\t[-r]: Call rshd to windows for chm generation (defaults to wine)" + echo + exit +} + +function optimizeForJava +{ + DOX_OPTIMIZE_OUTPUT_JAVA="YES" + DOX_OPTIMIZE_OUTPUT_FOR_C="NO" +} + +if [ "$#" -lt 2 ]; then + echo "Invalid number of parameters" + usage $0 +fi + +# get the required parameters then shift for the getopts parameters +export DOX_INPUT="$1" +shift +export DOX_OUTPUT_DIRECTORY="$1" +shift + +#set the global defaults +DOX_QUIET="YES" +DOX_OPTIMIZE_OUTPUT_JAVA="NO" +DOX_OPTIMIZE_OUTPUT_FOR_C="YES" +DOX_CHM_FILE= +DOX_GENERATE_HTMLHELP="NO" +OVERRIDE_FILE="" +PDF="" + +# Process the rest of the arguments as getopts +# parameters +while getopts b:c:e:f:m:n:o:p:s:t:v:x:dhjr arg +do + case $arg in + b) DOX_ENABLED_SECTIONS=${OPTARG};; + c) DOX_HTML_STYLESHEET=${OPTARG};; + d) DEBUG=1;; + e) DOX_EXCLUDE=${OPTARG};; + f) DOX_FILE_PATTERNS=${OPTARG};; + h) usage;exit 0;; + j) optimizeForJava;; + r) USERSHD=1;; + m) DOX_CHM_FILE=${OPTARG};DOX_GENERATE_HTMLHELP="YES";; + n) DOX_PROJECT_NAME=${OPTARG};; + s) DOX_STRIP_FROM_PATH=${OPTARG};; + t) TDOX_TEMPLATEDIR=${OPTARG};; + v) DOX_PROJECT_NUMBER=${OPTARG};; + x) DOXYGEN_EXECUTABLE=${OPTARG};; + o) OVERRIDE_FILE=${OPTARG};; + p) PDF=${OPTARG};; + \?) usage + exit 2;; + esac +done + +if [ "$DEBUG" = "1" ]; then + DOX_QUIET="NO" + set -x +fi + +if [ "$DOX_PROJECT_NAME" = "" ]; then + DOX_PROJECT_NAME="Project" +fi + +if [ "$DOX_PROJECT_NUMBER" = "" ]; then + DOX_PROJECT_NUMBER="1.0" +fi + +if [ "$DOX_FILE_PATTERNS" = "" ]; then + DOX_FILE_PATTERNS="*.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox" +fi + +export DOX_INPUT +export DOX_OUTPUT_DIRECTORY +export DOX_PROJECT_NAME +export DOX_PROJECT_NUMBER +export DOX_FILE_PATTERNS +export DOX_STRIP_FROM_PATH +export DOX_QUIET +export DOX_HTML_STYLESHEET +export DOX_OPTIMIZE_OUTPUT_FOR_C +export DOX_OPTIMIZE_OUTPUT_JAVA +export DOX_EXCLUDE +export DOX_ENABLED_SECTIONS +export DOX_CHM_FILE +export DOX_GENERATE_HTMLHELP +export TDOX_TEMPLATEDIR + + +# Make sure the dir exists +mkdir -p $DOX_OUTPUT_DIRECTORY + +# Create temp file copy of doxyfile and append overrides to the end of the file +cp ${TDOX_TEMPLATEDIR}/doxyfile /tmp/doxyfile$$ + +chmod +w /tmp/doxyfile$$ +if [ "$OVERRIDE_FILE" != "" ]; then + cat $OVERRIDE_FILE >> /tmp/doxyfile$$ +fi + +# Run doxygen and clean up temp file +${DOXYGEN_EXECUTABLE} /tmp/doxyfile$$ +rm -f /tmp/doxyfile$$ + +# Copy the TI banner gifs to the html directory. +cp -p ${TDOX_TEMPLATEDIR}/*gif $DOX_OUTPUT_DIRECTORY/html + +# Generate PDF files +if [ "$PDF" != "" ]; then + if [ "$BUILD_HOST_OS" = "Linux" ]; then + rm -rf $DOX_OUTPUT_DIRECTORY/html/pdf + mkdir -p $DOX_OUTPUT_DIRECTORY/html/pdf + cwd=`pwd` + cd $DOX_OUTPUT_DIRECTORY/latex + latex refman.tex + makeindex refman.idx + latex refman.tex + latex_count=5 + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] + do + latex refman.tex + latex_count=`expr $$latex_count - 1` + done + dvips -o refman.ps refman.dvi + ps2pdf refman.ps refman.pdf + cd $cwd + mv $DOX_OUTPUT_DIRECTORY/latex/refman.pdf $DOX_OUTPUT_DIRECTORY/html/pdf/${PDF}.pdf + else + echo "Sorry... pdf generation supported under Linux only" + fi +fi + +# Generate Windows compressed help +if [ "$DOX_GENERATE_HTMLHELP" = "YES" ]; then + + echo "chm generation is not supported" +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 @@ +Index: dmai_1_20_00_06/packages/config.bld +=================================================================== +--- dmai_1_20_00_06.orig/packages/config.bld 2009-02-11 19:38:51.000000000 -0600 ++++ dmai_1_20_00_06/packages/config.bld 2009-02-11 19:39:23.000000000 -0600 +@@ -42,7 +42,7 @@ + + /* location of the Codec Sourcery Arm9 tools */ + var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T'); +-GCArmv5T.LONGNAME = 'bin/arm-none-linux-gnueabi-gcc'; ++GCArmv5T.LONGNAME = 'bin/arm-angstrom-linux-gnueabi-gcc'; + GCArmv5T.platform = "ti.platforms.evm3530"; + GCArmv5T.rootDir = java.lang.System.getenv("CSTOOL_DIR"); + +Index: dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile +=================================================================== +--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/Makefile 2009-02-11 19:39:57.000000000 -0600 ++++ dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile 2009-02-11 19:58:05.000000000 -0600 +@@ -33,7 +33,7 @@ + DMAI_INSTALL_DIR = ../../../.. + TARGET = dmai + +-include $(DMAI_INSTALL_DIR)/Rules.make ++#include $(DMAI_INSTALL_DIR)/Rules.make + + # Should the full command be echoed to the console during build? + VERBOSE=false +@@ -64,7 +64,7 @@ + MVL_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=MVArm9 + CS_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=codesourcery/GCArmv5T + +-GNU_C_FLAGS = $(C_FLAGS) -Wall -Werror ++GNU_C_FLAGS = $(C_FLAGS) -Wall + C64P_C_FLAGS = $(C_FLAGS) + + GNU_AR_FLAGS = $(AR_FLAGS) +Index: dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app +=================================================================== +--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:58:44.000000000 -0600 ++++ dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:59:01.000000000 -0600 +@@ -34,7 +34,7 @@ + ifndef DMAI_INSTALL_DIR + DMAI_INSTALL_DIR = ../../../../../.. + endif +-include $(DMAI_INSTALL_DIR)/Rules.make ++#include $(DMAI_INSTALL_DIR)/Rules.make + + # Should the full command be echoed to the console during build? + 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 @@ +Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c +=================================================================== +--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:23.000000000 -0600 ++++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:25.000000000 -0600 +@@ -139,7 +139,7 @@ + + snd_mixer_selem_id_free (sid); + snd_mixer_close (rcMixer); +- ++ + return Dmai_EOK; + } + +@@ -431,14 +431,13 @@ + Sound_alsa_delete(hSound); + return NULL; + } +- ++ + if (setMixerVolume (attrs) <0) { +- Sound_alsa_delete (hSound); +- return NULL; ++ Dmai_dbg2("Failed to set the mixer volume on %s (%s)\n", ++ AUDIO_DEVICE, snd_strerror(status)); + } + } + +- + return hSound; + } + 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 @@ +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 +--- davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 22:43:20.000000000 +0000 ++++ davinci_multimedia_application_interfaceb/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 23:19:41.000000000 +0000 +@@ -43,7 +43,7 @@ + + #ifdef Dmai_Device_omap3530 + #include +-#elif defined Dmai_Device_omapl138 ++#elif defined (Dmai_Device_omapl137) || defined (Dmai_Device_omapl138) + #include