mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-01-12 01:20:20 +00:00
import codec engine and dependencies from oe classic
Signed-off-by: Enrico Butera <ebutera@users.berlios.de> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
94
recipes-ti/codec-engine/ti-c6accel.inc
Normal file
94
recipes-ti/codec-engine/ti-c6accel.inc
Normal file
@@ -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 ?= "<UNDEFINED_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"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 58c50064afdc2fd7093613e0ae3a9192ea189460 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
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 <koen@dominion.thruhere.net>
|
||||
---
|
||||
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
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
From 192b19046a67263da44203bf50a5b51d0a655fec Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 31 Dec 2010 15:26:37 +0100
|
||||
Subject: [PATCH] soc: honour buildsystem CFLAGS and LDFLAGS when set
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
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
|
||||
|
||||
81
recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch
Normal file
81
recipes-ti/codec-engine/ti-c6accel/fix-loadmodule.patch
Normal file
@@ -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
|
||||
14
recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb
Normal file
14
recipes-ti/codec-engine/ti-c6accel_1.01.00.03.bb
Normal file
@@ -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"
|
||||
|
||||
199
recipes-ti/codec-engine/ti-codec-engine.inc
Normal file
199
recipes-ti/codec-engine/ti-codec-engine.inc
Normal file
@@ -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 ?= "<UNDEFINED_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 ?= "<UNDEFINED_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 ?= "<UNDEFINED_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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
6
recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb
Normal file
6
recipes-ti/codec-engine/ti-codec-engine_2.26.02.11.bb
Normal file
@@ -0,0 +1,6 @@
|
||||
require ti-codec-engine.inc
|
||||
|
||||
PV = "2_26_02_11"
|
||||
|
||||
SRC_URI[cetarball.md5sum] = "4f755f77119e4da19ab5cc7ae7ccfdb4"
|
||||
SRC_URI[cetarball.sha256sum] = "17fa053719265e0901fe3c3f90c9204957c6d0f5351d6b3ba4900df58cb7300f"
|
||||
@@ -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 ) {
|
||||
204
recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb
Normal file
204
recipes-ti/codec-engine/ti-codecs-omap3530_4.00.00.00.bb
Normal file
@@ -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/*"
|
||||
|
||||
|
||||
158
recipes-ti/codec-engine/ti-dmai.inc
Normal file
158
recipes-ti/codec-engine/ti-dmai.inc
Normal file
@@ -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 ?= "<UNDEFINED_SRCREV>"
|
||||
DMAIBRANCH ?= "<UNDEFINED_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 ?= "<UNDEFINED_DMAIPLATFORM>"
|
||||
|
||||
# Need to set this for other platforms as well
|
||||
#GPPOS_dm355 = "LINUX_GCC"
|
||||
#GPPOS_dm365 = "LINUX_GCC"
|
||||
#GPPOS ?= "<UNDEFINEDGPPOS>"
|
||||
|
||||
# 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/
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 9d9326c26ea990fa49842e0c57d520a5acb4d887 Mon Sep 17 00:00:00 2001
|
||||
From: Don Darling <ddarling@ti.com>
|
||||
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
|
||||
|
||||
210
recipes-ti/codec-engine/ti-dmai/arago-tdox
Normal file
210
recipes-ti/codec-engine/ti-dmai/arago-tdox
Normal file
@@ -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/<version>
|
||||
#
|
||||
#
|
||||
|
||||
# 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 <file>]: create <file>.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
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 <linux/omapfb.h>
|
||||
-#elif defined Dmai_Device_omapl138
|
||||
+#elif defined (Dmai_Device_omapl137) || defined (Dmai_Device_omapl138)
|
||||
#include <video/davincifb.h>
|
||||
#else
|
||||
#include <video/davincifb_ioctl.h>
|
||||
@@ -0,0 +1,17 @@
|
||||
Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c
|
||||
===================================================================
|
||||
--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:20:45.000000000 -0600
|
||||
+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:21:09.000000000 -0600
|
||||
@@ -557,9 +557,9 @@
|
||||
srcOffset = srcDim.y * srcDim.lineLength + srcDim.x * 2;
|
||||
dstOffset = dstDim.y * dstDim.lineLength + dstDim.x * 2;
|
||||
|
||||
- /* Input and output buffers must be 4096 bytes aligned */
|
||||
- assert(((Buffer_getPhysicalPtr(hDstBuf) + srcOffset) & 0xFFF) == 0);
|
||||
- assert(((Buffer_getPhysicalPtr(hSrcBuf) + dstOffset) & 0xFFF) == 0);
|
||||
+ /* Pointers must be a multiple of 32 bytes */
|
||||
+ assert((Buffer_getPhysicalPtr(hDstBuf) & 0x1F) == 0);
|
||||
+ assert((Buffer_getPhysicalPtr(hSrcBuf) & 0x1F) == 0);
|
||||
|
||||
/* Queue the resizer buffers */
|
||||
for (i=0; i < 2; i++) {
|
||||
16
recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch
Normal file
16
recipes-ti/codec-engine/ti-dmai/dmai-update-cpu-name.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c
|
||||
===================================================================
|
||||
--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:22.000000000 -0600
|
||||
+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:51.000000000 -0600
|
||||
@@ -103,7 +103,10 @@
|
||||
else if (strcmp(valBuf, "DM357 EVM") == 0) {
|
||||
*device = Cpu_Device_DM6446;
|
||||
}
|
||||
- else if (strcmp(valBuf, "OMAP3EVM Board") == 0) {
|
||||
+ else if ((strcmp(valBuf, "OMAP3EVM Board") == 0) ||
|
||||
+ (strcmp(valBuf, "OMAP3 EVM") == 0) ||
|
||||
+ (strcmp(valBuf, "OMAP3 Beagle Board") == 0)
|
||||
+ ){
|
||||
*device = Cpu_Device_OMAP3530;
|
||||
}
|
||||
else {
|
||||
77
recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch
Normal file
77
recipes-ti/codec-engine/ti-dmai/dmai-update-fb-display.patch
Normal file
@@ -0,0 +1,77 @@
|
||||
Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c
|
||||
===================================================================
|
||||
--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 19:59:57.000000000 -0600
|
||||
+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 20:02:46.000000000 -0600
|
||||
@@ -41,10 +41,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <linux/fb.h>
|
||||
|
||||
-#ifdef Dmai_Device_omap3530
|
||||
-/* OMAP specific kernel headers */
|
||||
-#include <video/omapfbdev.h>
|
||||
-#else
|
||||
+#ifndef Dmai_Device_omap3530
|
||||
/* Davinci specific kernel headers */
|
||||
#include <video/davincifb_ioctl.h>
|
||||
#endif
|
||||
@@ -184,11 +181,13 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if 0
|
||||
/* Set up the sysfs variables before opening the display device */
|
||||
if (_Display_sysfsSetup(attrs, channel) < 0) {
|
||||
cleanup(hDisplay);
|
||||
return NULL;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* Open video display device */
|
||||
hDisplay->fd = open(attrs->displayDevice, O_RDWR);
|
||||
@@ -423,6 +422,7 @@
|
||||
******************************************************************************/
|
||||
Int Display_fbdev_get(Display_Handle hDisplay, Buffer_Handle *hBufPtr)
|
||||
{
|
||||
+#if defined (FBIO_WAITFORVSYNC)
|
||||
BufTab_Handle hBufTab = hDisplay->hBufTab;
|
||||
int dummy;
|
||||
|
||||
@@ -436,7 +436,8 @@
|
||||
}
|
||||
|
||||
*hBufPtr = BufTab_getBuf(hBufTab, hDisplay->workingIdx);
|
||||
-
|
||||
+
|
||||
+#endif
|
||||
return Dmai_EOK;
|
||||
}
|
||||
|
||||
Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c
|
||||
===================================================================
|
||||
--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:00:10.000000000 -0600
|
||||
+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:02:07.000000000 -0600
|
||||
@@ -80,18 +80,18 @@
|
||||
|
||||
const Display_Attrs Display_Attrs_O3530_VID_DEFAULT = {
|
||||
3,
|
||||
- Display_Std_V4L2,
|
||||
- VideoStd_VGA,
|
||||
- Display_Output_LCD,
|
||||
- "/dev/video1",
|
||||
+ Display_Std_FBDEV,
|
||||
+ VideoStd_D1_NTSC,
|
||||
+ Display_Output_DVI,
|
||||
+ "/dev/fb2",
|
||||
0
|
||||
};
|
||||
|
||||
const Display_Attrs Display_Attrs_O3530_OSD_DEFAULT = {
|
||||
1,
|
||||
Display_Std_FBDEV,
|
||||
- VideoStd_VGA,
|
||||
- Display_Output_LCD,
|
||||
+ VideoStd_D1_NTSC,
|
||||
+ Display_Output_DVI,
|
||||
"/dev/fb0",
|
||||
0
|
||||
};
|
||||
127
recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch
Normal file
127
recipes-ti/codec-engine/ti-dmai/dmai-update-v4l2-display.patch
Normal file
@@ -0,0 +1,127 @@
|
||||
Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c
|
||||
===================================================================
|
||||
--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:22:51.000000000 -0600
|
||||
+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:27:02.000000000 -0600
|
||||
@@ -120,7 +120,9 @@
|
||||
struct v4l2_format fmt;
|
||||
enum v4l2_buf_type type;
|
||||
Display_Handle hDisplay;
|
||||
- Int channel;
|
||||
+#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION)
|
||||
+ struct v4l2_control control;
|
||||
+#endif
|
||||
|
||||
assert(attrs);
|
||||
|
||||
@@ -134,44 +136,6 @@
|
||||
|
||||
hDisplay->userAlloc = TRUE;
|
||||
|
||||
-#ifdef Dmai_Device_omap3530
|
||||
- /* channel = 0 - digital video path
|
||||
- * channel = 1 - analog video path
|
||||
- */
|
||||
- switch (attrs->videoOutput) {
|
||||
- case Display_Output_SVIDEO:
|
||||
- case Display_Output_COMPOSITE:
|
||||
- channel = 1;
|
||||
- break;
|
||||
- case Display_Output_DVI:
|
||||
- case Display_Output_LCD:
|
||||
- case Display_Output_SYSTEM:
|
||||
- channel = 0;
|
||||
- break;
|
||||
- default:
|
||||
- /* do nothing */
|
||||
- break;
|
||||
- }
|
||||
-#else
|
||||
- if (strcmp(attrs->displayDevice, "/dev/video2") == 0) {
|
||||
- channel = 0;
|
||||
- }
|
||||
- else if (strcmp(attrs->displayDevice, "/dev/video3") == 0) {
|
||||
- channel = 1;
|
||||
- }
|
||||
- else {
|
||||
- Dmai_err1("%s not a display device\n", attrs->displayDevice);
|
||||
- cleanup(hDisplay);
|
||||
- return NULL;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
- /* Set up the sysfs variables before opening the display device */
|
||||
- if (_Display_sysfsSetup(attrs, channel) < 0) {
|
||||
- cleanup(hDisplay);
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
/* Open video capture device */
|
||||
hDisplay->fd = open(attrs->displayDevice, O_RDWR, 0);
|
||||
|
||||
@@ -182,9 +146,8 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-#ifdef Dmai_Device_omap3530
|
||||
-#define VIDIOC_S_OMAP2_ROTATION _IOW ('V', 3, int)
|
||||
-
|
||||
+
|
||||
+#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION)
|
||||
if (attrs->rotation != 0 && attrs->rotation != 90 &&
|
||||
attrs->rotation != 180 && attrs->rotation != 270) {
|
||||
|
||||
@@ -193,49 +156,16 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- if (ioctl(hDisplay->fd, VIDIOC_S_OMAP2_ROTATION, &attrs->rotation) < 0) {
|
||||
- Dmai_err2("Failed VIDIOC_S_OMAP2_ROTATION on %s (%s)\n",
|
||||
+ control.id = V4L2_CID_ROTATION;
|
||||
+ control.value = attrs->rotation;
|
||||
+
|
||||
+ if (ioctl(hDisplay->fd, VIDIOC_S_CTRL, &control) < 0) {
|
||||
+ Dmai_err2("Failed VIDIOC_S_CTRL on %s (%s)\n",
|
||||
attrs->displayDevice, strerror(errno));
|
||||
cleanup(hDisplay);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- switch (attrs->videoStd) {
|
||||
- case VideoStd_D1_NTSC:
|
||||
- fmt.fmt.pix.width = VideoStd_D1_WIDTH;
|
||||
- fmt.fmt.pix.height = VideoStd_D1_NTSC_HEIGHT;
|
||||
- break;
|
||||
- case VideoStd_D1_PAL:
|
||||
- fmt.fmt.pix.width = VideoStd_D1_WIDTH;
|
||||
- fmt.fmt.pix.height = VideoStd_D1_PAL_HEIGHT;
|
||||
- break;
|
||||
- case VideoStd_VGA:
|
||||
- fmt.fmt.pix.width = VideoStd_VGA_WIDTH;
|
||||
- fmt.fmt.pix.height = VideoStd_VGA_HEIGHT;
|
||||
- break;
|
||||
- case VideoStd_480P:
|
||||
- fmt.fmt.pix.width = VideoStd_480P_WIDTH;
|
||||
- fmt.fmt.pix.height = VideoStd_480P_HEIGHT;
|
||||
- break;
|
||||
- case VideoStd_720P_60:
|
||||
- fmt.fmt.pix.width = VideoStd_480P_WIDTH;
|
||||
- fmt.fmt.pix.height = VideoStd_480P_HEIGHT;
|
||||
- break;
|
||||
- default:
|
||||
- Dmai_err1("Unknown video standard %d\n", attrs->videoStd);
|
||||
- cleanup(hDisplay);
|
||||
- return NULL;
|
||||
- }
|
||||
-
|
||||
- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;
|
||||
- fmt.type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
|
||||
-
|
||||
- if (ioctl(hDisplay->fd, VIDIOC_S_FMT, &fmt) == -1) {
|
||||
- Dmai_err2("Failed VIDIOC_S_FMT on %s (%s)\n", attrs->displayDevice,
|
||||
- strerror(errno));
|
||||
- cleanup(hDisplay);
|
||||
- return NULL;
|
||||
- }
|
||||
#endif /* Dmai_Device_omap3530 */
|
||||
|
||||
/* Determine the video image dimensions */
|
||||
BIN
recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz
Normal file
BIN
recipes-ti/codec-engine/ti-dmai/doxygen_templates.tar.gz
Normal file
Binary file not shown.
37
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh
Executable file
37
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-apps.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# Default Memory Map - for OMAP3530 dvsdk examples from 3.00.00.29 - this memory map is used for DMAI apps
|
||||
#
|
||||
# Start Addr Size Description
|
||||
# -------------------------------------------
|
||||
# 0x80000000 88 MB Linux
|
||||
# 0x85800000 08 MB CMEM
|
||||
# 0x86800000 16 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 (88M in this case)
|
||||
awk '/MemTotal:/ {
|
||||
mem=$2
|
||||
|
||||
if (mem > 88 * 1024)
|
||||
print "Warning! You need to use mem=88M 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=0x85800000 phys_end=0x86800000 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
|
||||
23
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
Executable file
23
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
# 12MB
|
||||
modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 pools=1x2903040,1x1529856,7x829440,1x524288,1x108680,1x81920,2x8192,6x4096
|
||||
|
||||
./mapdmaq
|
||||
|
||||
modprobe dm350mmap
|
||||
rm -f /dev/dm350mmap
|
||||
mknod /dev/dm350mmap c `awk "\\$2==\"dm350mmap\" {print \\$1}" /proc/devices` 0
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This loadmodules script is provided to support 1920x1080 resolution file based encode/decode DMAI unit test applications
|
||||
|
||||
# Sample bootargs is given below
|
||||
# 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
|
||||
|
||||
depmod -a
|
||||
rmmod cmemk 2>/dev/null
|
||||
rmmod irqk 2>/dev/null
|
||||
rmmod edmak 2>/dev/null
|
||||
rmmod dm365mmap 2>/dev/null
|
||||
|
||||
# Pools configuration
|
||||
modprobe cmemk phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,2x5984,2x3133440,1x16384,1x48952,1x20480,1x60288,1x74,1x28,1x2048,1x6785280,1x146,1x896,1x65536,1x98,1x296,29x56,2x24,1x624,4x62,1x1456,1x18321120,1x65792,5x3523584,1x4194304,1x8355840
|
||||
|
||||
#VC1 decode pool configuration
|
||||
# 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
|
||||
|
||||
modprobe irqk
|
||||
modprobe edmak
|
||||
modprobe dm365mmap
|
||||
|
||||
rm -f /dev/dm365mmap
|
||||
mknod /dev/dm365mmap c `awk "\\$2==\"dm365mmap\" {print \\$1}" /proc/devices` 0
|
||||
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
Executable file
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
|
||||
modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
|
||||
|
||||
rm -rf /dev/dsplink
|
||||
mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
|
||||
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
Executable file
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
|
||||
modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
|
||||
|
||||
rm -rf /dev/dsplink
|
||||
mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
|
||||
42
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
Executable file
42
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# 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
|
||||
|
||||
modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
|
||||
|
||||
|
||||
# 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
|
||||
|
||||
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
Executable file
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
|
||||
modprobe dsplinkk
|
||||
|
||||
rm -rf /dev/dsplink
|
||||
mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
|
||||
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
Executable file
19
recipes-ti/codec-engine/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# loadmodules.sh
|
||||
#
|
||||
# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation version 2.1 of the License.
|
||||
#
|
||||
# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
|
||||
# whether express or implied; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
|
||||
modprobe dsplinkk
|
||||
|
||||
rm -rf /dev/dsplink
|
||||
mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
|
||||
@@ -0,0 +1,12 @@
|
||||
# Unload modules - DMAI - OMAP3530
|
||||
|
||||
# remove lpm module
|
||||
rmmod lpm_omap3530
|
||||
|
||||
# remove DSP/BIOS Link driver
|
||||
rmmod dsplinkk
|
||||
#rm -f /dev/dsplink
|
||||
|
||||
# remove cmem module
|
||||
rmmod cmemk
|
||||
|
||||
31
recipes-ti/codec-engine/ti-dmai_svn.bb
Normal file
31
recipes-ti/codec-engine/ti-dmai_svn.bb
Normal file
@@ -0,0 +1,31 @@
|
||||
require ti-dmai.inc
|
||||
|
||||
# Hack to be able to use recent kernel headers from userspace
|
||||
TARGET_CC_ARCH += " -D__EXPORTED_HEADERS__"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PV = "2_10_00_01+svnr${SRCPV}"
|
||||
|
||||
# This package has high dependence on kernel, use kernel PR as base and append a local version
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
PR_append = "n"
|
||||
|
||||
DMAIBRANCH_dm6446 = "trunk"
|
||||
DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009"
|
||||
DMAIBRANCH_omap3 = "trunk"
|
||||
DMAIBRANCH_dm355 = "branches/GITPSP_INT_101009"
|
||||
DMAIBRANCH_dm365 = "trunk"
|
||||
DMAIBRANCH_omapl137 = "trunk"
|
||||
DMAIBRANCH_omapl138 = "trunk"
|
||||
DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>"
|
||||
|
||||
SRCREV_dm6446 = "482"
|
||||
SRCREV_dm6467 = "441"
|
||||
SRCREV_omap3 = "570"
|
||||
SRCREV_dm355 = "424"
|
||||
SRCREV_dm365 = "570"
|
||||
SRCREV_omapl137 = "482"
|
||||
SRCREV_omapl138 = "570"
|
||||
SRCREV ?= "<UNDEFINED_SRCREV>"
|
||||
|
||||
12
recipes-ti/devtools/ti-xdctools_3.20.06.81.bb
Normal file
12
recipes-ti/devtools/ti-xdctools_3.20.06.81.bb
Normal file
@@ -0,0 +1,12 @@
|
||||
require ti-xdctools.inc
|
||||
|
||||
PV = "3_20_06_81"
|
||||
|
||||
# This fixes c6accel, but breaks codec-engine and lpm
|
||||
#SRC_URI += "file://arm-linker-hack.diff"
|
||||
|
||||
SRC_URI[xdcbin.md5sum] = "65151268d6be6ad6eb940ef7ed03af16"
|
||||
SRC_URI[xdcbin.sha256sum] = "8ea6b851521ce41fe0b4a349b2d922af7e70f48c50ad9fd21f62627446a834f8"
|
||||
|
||||
|
||||
|
||||
21
recipes-ti/framework-components/ti-framework-components.inc
Normal file
21
recipes-ti/framework-components/ti-framework-components.inc
Normal file
@@ -0,0 +1,21 @@
|
||||
DESCRIPTION = "TI Framework Components"
|
||||
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc"
|
||||
SECTION = "devel"
|
||||
LICENSE = "BSD"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://framework_components_2_26_00_01_manifest.html;md5=3250f9da7ee72284c07f8dd840400c75"
|
||||
|
||||
require recipes-ti/includes/ti-paths.inc
|
||||
require recipes-ti/includes/ti-staging.inc
|
||||
|
||||
PR = "r1"
|
||||
|
||||
S = "${WORKDIR}/framework_components_${PV}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/${PV}/exports/framework_components_${PV},lite.tar.gz;name=fctarball"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${FC_INSTALL_DIR_RECIPE}
|
||||
cp -pPrf ${S}/* ${D}${FC_INSTALL_DIR_RECIPE}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
require ti-framework-components.inc
|
||||
|
||||
PV = "2_26_00_01"
|
||||
|
||||
SRC_URI[fctarball.md5sum] = "40b51cade2f9ae6e6f6dca73c17065af"
|
||||
SRC_URI[fctarball.sha256sum] = "3f7a12a51dfe87310828a31518d7ef8f9039e59269c0ca24f74a68433c235048"
|
||||
|
||||
|
||||
90
recipes-ti/linuxutils/ti-linuxutils.inc
Normal file
90
recipes-ti/linuxutils/ti-linuxutils.inc
Normal file
@@ -0,0 +1,90 @@
|
||||
DESCRIPTION = "MFP Linux utils for TI ARM/DSP processors"
|
||||
SECTION = "devel"
|
||||
LICENSE = "GPLv2,BSD"
|
||||
|
||||
BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/${PV}/exports"
|
||||
SRC_URI = "${BASE_SRC_URI}/linuxutils_${PV}.tar.gz "
|
||||
|
||||
LIC_FILES_CHKSUM = "file://gpl_2.0.txt;md5=1298794fc2eed3df92a89f3c9d317440"
|
||||
|
||||
S = "${WORKDIR}/linuxutils_${PV}"
|
||||
|
||||
require recipes-ti/includes/ti-paths.inc
|
||||
require recipes-ti/includes/ti-staging.inc
|
||||
|
||||
#This is a kernel module, don't set PR directly
|
||||
MACHINE_KERNEL_PR_append = "d"
|
||||
|
||||
inherit module
|
||||
|
||||
do_compile() {
|
||||
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
||||
|
||||
case ${SOC_FAMILY} in
|
||||
dm365)
|
||||
modules="cmem edma irq";;
|
||||
omap3)
|
||||
modules="cmem sdma";;
|
||||
dm355)
|
||||
modules="cmem edma irq";;
|
||||
*)
|
||||
modules="cmem"
|
||||
esac
|
||||
|
||||
for module in $modules ; do
|
||||
cd ${S}/packages/ti/sdo/linuxutils/$module
|
||||
make \
|
||||
LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
|
||||
MVTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
UCTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
clean debug release
|
||||
done
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
|
||||
# Install CMEM
|
||||
for module in $(find ${S}/packages/ti/sdo/linuxutils/ -name "*.ko") ; do
|
||||
install -m 0755 $module ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
|
||||
done
|
||||
cd ${S}/packages/ti/sdo/linuxutils/cmem/apps
|
||||
make \
|
||||
LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
|
||||
MVTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
UCTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
EXEC_DIR="${D}${installdir}/ti-linuxutils-app/cmem-app" \
|
||||
install
|
||||
# Install EDMA
|
||||
if [ ${SOC_FAMILY} = "dm365" ] ; then
|
||||
cd ${S}/packages/ti/sdo/linuxutils/edma/apps
|
||||
make \
|
||||
LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
|
||||
MVTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
UCTOOL_PREFIX="${TARGET_PREFIX}" \
|
||||
EXEC_DIR="${D}${installdir}/ti-linuxutils-app/edma-app" \
|
||||
install
|
||||
fi
|
||||
|
||||
# stage tree - other packages may need this
|
||||
install -d ${D}${LINUXUTILS_INSTALL_DIR_RECIPE}
|
||||
cp -pPrf ${S}/* ${D}${LINUXUTILS_INSTALL_DIR_RECIPE}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
PACKAGES =+ " ti-cmem-module \
|
||||
ti-sdma-module \
|
||||
ti-edma-module \
|
||||
ti-irq-module \
|
||||
ti-linuxutils-app"
|
||||
|
||||
FILES_ti-cmem-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmem*.ko"
|
||||
FILES_ti-sdma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdma*.ko"
|
||||
FILES_ti-edma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/edma*.ko"
|
||||
FILES_ti-irq-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/irq*.ko"
|
||||
|
||||
FILES_ti-linuxutils-app = "${installdir}/ti-linuxutils-app/*/*"
|
||||
|
||||
INSANE_SKIP_ti-linuxutils-app = "True"
|
||||
PACKAGE_STRIP = "no"
|
||||
@@ -0,0 +1,22 @@
|
||||
From: Koen Kooi <k-kooi@ti.com>
|
||||
Subject: linuxutils: fix build with 2.6.37rcX
|
||||
|
||||
---
|
||||
|
||||
--- /tmp/sdmak.c 2010-12-05 18:43:55.000000000 +0100
|
||||
+++ linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c 2010-12-05 18:48:31.000000000 +0100
|
||||
@@ -208,9 +208,12 @@
|
||||
}
|
||||
|
||||
up_read(¤t->mm->mmap_sem);
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
|
||||
+ sema_init(&(channels[channel].mutex),1);
|
||||
+#else
|
||||
init_MUTEX_LOCKED(&(channels[channel].mutex));
|
||||
- channels[channel].owner = filp;
|
||||
+#endif
|
||||
+ channels[channel].owner = filp;
|
||||
|
||||
if (copy_to_user(argp, &channel, sizeof(channel))) {
|
||||
return -EFAULT;
|
||||
73
recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch
Normal file
73
recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch
Normal file
@@ -0,0 +1,73 @@
|
||||
From: Koen Kooi <k-kooi@ti.com>
|
||||
Subject: linuxutils: fix build with 2.6.37rcX
|
||||
|
||||
---
|
||||
|
||||
--- /tmp/cmemk.c 2010-12-05 18:41:00.000000000 +0100
|
||||
+++ linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c 2010-12-05 18:43:24.000000000 +0100
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/sched.h>
|
||||
+#include <linux/slab.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/pgtable.h>
|
||||
@@ -204,7 +205,11 @@
|
||||
"\n\t\t fall back to a heap-based allocation attempt");
|
||||
module_param(useHeapIfPoolUnavailable, int, S_IRUGO);
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
|
||||
+static DEFINE_SEMAPHORE(cmem_mutex);
|
||||
+#else
|
||||
static DECLARE_MUTEX(cmem_mutex);
|
||||
+#endif
|
||||
|
||||
/* Describes a pool buffer */
|
||||
typedef struct pool_buffer {
|
||||
@@ -243,8 +248,12 @@
|
||||
|
||||
static struct file_operations cmem_fxns = {
|
||||
owner: THIS_MODULE,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
|
||||
+ unlocked_ioctl: ioctl,
|
||||
+#else
|
||||
ioctl: ioctl,
|
||||
- mmap: mmap,
|
||||
+#endif
|
||||
+ mmap: mmap,
|
||||
open: open,
|
||||
release: release
|
||||
};
|
||||
--- /tmp/sdmak.c 2010-12-05 18:43:55.000000000 +0100
|
||||
+++ linuxutils_2_25_05_11/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c 2010-12-05 18:48:31.000000000 +0100
|
||||
@@ -208,9 +208,12 @@
|
||||
}
|
||||
|
||||
up_read(¤t->mm->mmap_sem);
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
|
||||
+ sema_init(&(channels[channel].mutex),1);
|
||||
+#else
|
||||
init_MUTEX_LOCKED(&(channels[channel].mutex));
|
||||
- channels[channel].owner = filp;
|
||||
+#endif
|
||||
+ channels[channel].owner = filp;
|
||||
|
||||
if (copy_to_user(argp, &channel, sizeof(channel))) {
|
||||
return -EFAULT;
|
||||
@@ -286,8 +289,12 @@
|
||||
}
|
||||
|
||||
static struct file_operations fops = {
|
||||
- .ioctl = dma_ioctl,
|
||||
- .release = dma_release,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
|
||||
+ .unlocked_ioctl = dma_ioctl,
|
||||
+#else
|
||||
+ .ioctl = dma_ioctl,
|
||||
+#endif
|
||||
+ .release = dma_release,
|
||||
.owner = THIS_MODULE
|
||||
};
|
||||
|
||||
10
recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb
Normal file
10
recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb
Normal file
@@ -0,0 +1,10 @@
|
||||
require ti-linuxutils.inc
|
||||
|
||||
SRC_URI += "file://linuxutils-BKL-fix-2.patch"
|
||||
|
||||
PE = "1"
|
||||
PV = "2_26_01_02"
|
||||
|
||||
SRC_URI[md5sum] = "70b4918bc35c1bcfef34d6ba3fbce0c8"
|
||||
SRC_URI[sha256sum] = "51266dd928f8d629cd417c869789a6c0d596612120f165619119cbaadfd66ee2"
|
||||
|
||||
21
recipes-ti/xdais/ti-xdais.inc
Normal file
21
recipes-ti/xdais/ti-xdais.inc
Normal file
@@ -0,0 +1,21 @@
|
||||
DESCRIPTION = "TI eXpress DSP Algorithm Interface Standard (XDAIS) specification"
|
||||
HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais"
|
||||
LICENSE = "GPLv2"
|
||||
SECTION = "devel"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://xdais_6_26_01_03_manifest.html;md5=a5a675d49db2f658bb98746ec80cda4e"
|
||||
|
||||
require ../includes/ti-paths.inc
|
||||
require ../includes/ti-staging.inc
|
||||
|
||||
PR = "r1"
|
||||
|
||||
S = "${WORKDIR}/xdais_${PV}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais/${PV}/exports/xdais_${PV}.tar.gz;name=xdaistarball"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${XDAIS_INSTALL_DIR_RECIPE}
|
||||
cp -pPrf ${S}/* ${D}${XDAIS_INSTALL_DIR_RECIPE}
|
||||
}
|
||||
|
||||
8
recipes-ti/xdais/ti-xdais_6.26.01.03.bb
Normal file
8
recipes-ti/xdais/ti-xdais_6.26.01.03.bb
Normal file
@@ -0,0 +1,8 @@
|
||||
require ti-xdais.inc
|
||||
|
||||
PV = "6_26_01_03"
|
||||
|
||||
SRC_URI[xdaistarball.md5sum] = "9b2bea3408254e737ec0d819a031adf6"
|
||||
SRC_URI[xdaistarball.sha256sum] = "d7bcbd8bcfe6fdfc5f402e4b125ced6c806dc30bc5296e98d5d43b0b5a237a0d"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user