ti-*: merge recipes from newer OE
authorGrazvydas Ignotas <notasas@gmail.com>
Thu, 16 Feb 2012 21:29:04 +0000 (23:29 +0200)
committerGrazvydas Ignotas <notasas@gmail.com>
Thu, 16 Feb 2012 21:35:50 +0000 (23:35 +0200)
copy-paste hackjob mostly

75 files changed:
recipes/ti/README
recipes/ti/bitblit_svn.bb
recipes/ti/dsplink.inc [deleted file]
recipes/ti/gstreamer-ti_svn.bb
recipes/ti/ti-biosutils.inc [new file with mode: 0644]
recipes/ti/ti-biosutils_1.02.02.bb [new file with mode: 0644]
recipes/ti/ti-c6accel.inc [new file with mode: 0644]
recipes/ti/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch [new file with mode: 0644]
recipes/ti/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch [new file with mode: 0644]
recipes/ti/ti-c6accel/fix-loadmodule.patch [new file with mode: 0644]
recipes/ti/ti-c6accel_1.01.00.03.bb [new file with mode: 0644]
recipes/ti/ti-cgt6x-native_6.0.21.bb [deleted file]
recipes/ti/ti-cgt6x-native_6.1.9.bb [deleted file]
recipes/ti/ti-cgt6x.inc
recipes/ti/ti-cgt6x_7.2.7.bb [new file with mode: 0644]
recipes/ti/ti-codec-engine.inc
recipes/ti/ti-codec-engine/bypass-GCArmv5T-used-is-sealed.patch [new file with mode: 0644]
recipes/ti/ti-codec-engine_2.24.01.bb [deleted file]
recipes/ti/ti-codec-engine_2.25.01.bb [deleted file]
recipes/ti/ti-codec-engine_2.26.02.11.bb [new file with mode: 0644]
recipes/ti/ti-codec.inc [deleted file]
recipes/ti/ti-codecs-dm355.inc [deleted file]
recipes/ti/ti-codecs-dm355_1.13.bb [deleted file]
recipes/ti/ti-codecs-dm365.inc [deleted file]
recipes/ti/ti-codecs-dm365_1.0.6.bb [deleted file]
recipes/ti/ti-codecs-dm6446_2.05.bb [deleted file]
recipes/ti/ti-codecs-omap3530/disable-c6accel.diff [new file with mode: 0644]
recipes/ti/ti-codecs-omap3530_1.01.bb [deleted file]
recipes/ti/ti-codecs-omap3530_4.00.00.00.bb [new file with mode: 0644]
recipes/ti/ti-codecs-omapl137_1.0.bb [deleted file]
recipes/ti/ti-dm355mm-module_1.13.bb [deleted file]
recipes/ti/ti-dm365mm-module.inc [deleted file]
recipes/ti/ti-dm365mm-module_1.0.1.bb [deleted file]
recipes/ti/ti-dmai.inc [deleted file]
recipes/ti/ti-dmai/touchbook-support.patch [deleted file]
recipes/ti/ti-dmai_svn.bb [deleted file]
recipes/ti/ti-dspbios-native_5.33.02.bb [deleted file]
recipes/ti/ti-dspbios-native_5.33.04.bb [deleted file]
recipes/ti/ti-dspbios.inc
recipes/ti/ti-dspbios_5.41.11.38.bb [new file with mode: 0644]
recipes/ti/ti-dsplink-module_1.61.3.bb [deleted file]
recipes/ti/ti-dsplink.inc [new file with mode: 0644]
recipes/ti/ti-dsplink/dsplink-BKL-fix.patch [new file with mode: 0644]
recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch [new file with mode: 0644]
recipes/ti/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch [new file with mode: 0644]
recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch [new file with mode: 0644]
recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh [new file with mode: 0755]
recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh [new file with mode: 0755]
recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh [new file with mode: 0755]
recipes/ti/ti-dsplink_1.65.00.03.bb [new file with mode: 0644]
recipes/ti/ti-edma3lld.inc [new file with mode: 0644]
recipes/ti/ti-edma3lld_01.11.01.04.bb [new file with mode: 0644]
recipes/ti/ti-eula-unpack.inc
recipes/ti/ti-framework-components.inc
recipes/ti/ti-framework-components_2.25.00.04.bb [deleted file]
recipes/ti/ti-framework-components_2.26.00.01.bb [new file with mode: 0644]
recipes/ti/ti-linuxutils.inc
recipes/ti/ti-linuxutils/linuxutils-BKL-fix-2.patch [new file with mode: 0644]
recipes/ti/ti-linuxutils/linuxutils-BKL-fix.patch [new file with mode: 0644]
recipes/ti/ti-linuxutils_2.25.01.06.bb [deleted file]
recipes/ti/ti-linuxutils_2.26.01.02.bb [new file with mode: 0644]
recipes/ti/ti-local-power-manager.inc [new file with mode: 0644]
recipes/ti/ti-local-power-manager/lpm-BKL-fix.patch [new file with mode: 0644]
recipes/ti/ti-local-power-manager_1.24.02.09.bb [new file with mode: 0644]
recipes/ti/ti-lpm-module_2.24.01.bb [deleted file]
recipes/ti/ti-paths-old.inc [new file with mode: 0644]
recipes/ti/ti-paths.inc
recipes/ti/ti-staging.inc [new file with mode: 0644]
recipes/ti/ti-xdais-native_6.23.bb [deleted file]
recipes/ti/ti-xdais.inc
recipes/ti/ti-xdais_7.20.00.07.bb [new file with mode: 0644]
recipes/ti/ti-xdctools-native_3.15.01.59.bb [deleted file]
recipes/ti/ti-xdctools.inc
recipes/ti/ti-xdctools/fix-hardcoded-paths.diff [new file with mode: 0644]
recipes/ti/ti-xdctools_3.23.00.32.bb [new file with mode: 0644]

index cf37c06..2fbb9f1 100644 (file)
@@ -1,32 +1,48 @@
+= Introduction = 
+
 Depending on platform you need to download one or more components from the external URL and put in downloads directory.
 
-DM355
------
- - Code Engine 2.24.01
+Most components are 'TSPA' now, which mean OE can download them automagically, if a download fails, you should be able to find the archive you need at:
+
+* C6000 Code Generation Tools v6.1.9 Linux (ti_cgt_c6000_6.1.9_setup_linux_x86.bin)
+       https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm
+* Generic download URI
+       http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/
+
+= Version selection =
+
+Tool versions are clustered per codec-engine release, since that combination gets the most testing. Like all other preferred-version files they stored in conf/distro/include:
+
+angstrom-codec-engine-2.25-preferred-versions.inc
+angstrom-codec-engine-2.25.01-preferred-versions.inc
+
+You can select between them by putting the following in local.conf:
+
+CE_VERSION = "2.25.01"
+
+You will get a parsing failure if a non-existing version is selected.
+
+= Recipe setup =
+
+Since most of the recipes in this directory deal with a DSP (e.g OMAP3) or accelerators (e.g DM3xx) and have strict per platform version dependencies they are all machine specific. For things like codec-engine, kernel drivers and userspace samples this makes sense, since they are tied to a specific device or platform. For things like codegen and xdc-tools this is weird, but it's the least bad option currently.
+
+The complete unpacked trees are staged to staging/machine/usr/share/ti/${PN}(-tree) and all the _INSTALL_DIR vars will point to that. To make this work there is a ti-staging.inc which contains:
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BASEPKG_HOST_SYS = "${MULTIMACH_HOST_SYS}"
+PACKAGE_STRIP = "no"
+
+The 'BASEPKG_HOST_SYS' bit is what makes it work, but cause trouble is you want to read from it, so ti-paths.inc does:
+
+export CODEGEN_INSTALL_DIR_RECIPE    = "${installdir}/ti-cgt6x"
+export CODEGEN_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${CODEGEN_INSTALL_DIR_RECIPE}"
+
+Which will point it to the machine specific staging like we want it to.
+
 
-OMAP3530
-------
-  - Code Engine 2.24
-  - DSP/BIOS Link for Linux 1.61.03  
-  - DSP/BIOS 5.33.04
-  - C6000 Code Generation Tools v6.1.9 Linux
-  - Local Power Managment 1.24
 
-URL's:
-------
-* CE 2.24.01 (codec_engine_2_24.01.tar.gz)
-       http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/CE/ce_2_24/index.html
 
-* DSP/BIOS 5.33.04 (bios_setuplinux_5_33_04.bin) 
-       http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/bios/bios_5_33/bios_5_33_04/index_external.html
 
-* DSP/BIOS Link for Linux 1.61.03 (dsplink_1_61_03.tar.gz)
-       http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/link/link_1_60/index.html
 
-* C6000 Code Generation Tools v6.1.9 Linux (ti_cgt_c6000_6.1.9_setup_linux_x86.bin)
-       https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm
-* LPM (local_power_manager_1_24.tar.gz) http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/linuxutils/linuxutils_2_24/index.html 
 
-* Generic download URI
-       http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/
 
index cc7dbf9..50d1d37 100644 (file)
@@ -1,6 +1,6 @@
 DESCRIPTION = "Low level 2D blitting/blending graphics acceleration services support on DM6446, OMAP3530 and OMAP-L137."
 
-require ti-paths.inc
+require ti-paths-old.inc
 
 inherit autotools
 
diff --git a/recipes/ti/dsplink.inc b/recipes/ti/dsplink.inc
deleted file mode 100644 (file)
index 1ca01c3..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-DESCRIPTION = "DSP Link for TI ARM/DSP processors"
-
-DEPENDS = "virtual/kernel perl-native"
-
-inherit module
-
-do_configure () {
-       # Clean up stale binaries
-       find ${S} -name "*.ko" -exec rm {} \; || true
-       find ${S} -name "*.o" -exec rm {} \; || true
-
-       # Run perl script to create appropriate makefiles (v1.60 and up)
-       (
-       cd ${DSPLINK}
-       perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
-       )
-}
-
-do_compile () {
-       unset DISPLAY
-       sed -i -e s:armv7a:armv7-a:g ${DSPLINK}/make/Linux/omap3530_2.6.mk
-
-       # export various settings to override the defaults in the makefiles     
-       export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
-       export DSP_BASE_BIOS=${TITOOLSDIR}/${TIBIOSDIR}
-       export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
-       export GPPTOOL_DIR=${CROSS_DIR}
-       export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
-       export LINK_INSTALL_DIR=${DSPLINK}
-       export VARIANT=${DSPLINKSOC}
-       export PLATFORM=${DSPLINKPLATFORM}
-       export BASE_TOOLCHAIN=${CROSS_DIR}
-       export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
-       # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...     
-       export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
-       export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
-
-       # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
-       export ARCHIVER_AR=${TARGET_PREFIX}ar
-       export BASE_SABIOS=${DSP_BASE_BIOS}
-       
-    #dsplinkk.ko bits
-       if [ ! -d ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE ] ; then 
-               install -d ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE
-       fi
-
-       cp ${WORKDIR}/Makefile-dsplink-gpp ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/Makefile
-       cd ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/
-
-       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-       export KDIR=${STAGING_KERNEL_DIR}
-
-       make -e driver
-       make -e library
-       make -e samples
-
-       make -e -f ${WORKDIR}/Makefile-dsplink-dsp
-       cp -a * ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE
-}
-
-do_install () {
-    #driver - kernel module
-       install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-       cp ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ 
-
-    #library
-       install -d ${D}/${libdir}
-       install -m 0755 ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib  ${D}/${libdir}
-
-    #sample apps
-       install -d ${D}/${datadir}/ti-dsplink
-       install ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/*gpp ${D}/${datadir}/ti-dsplink || true
-       for i in $(find ${DSPLINK}/dsp/BUILD/ -name "*.out") ; do
-               install ${i} ${D}/${datadir}/ti-dsplink
-       done
-}
-
-# Codec Engine and friends need a complete tree, so stage it all
-do_stage() {
-       install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
-       cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ 
-}
-
-PACKAGES =+ "ti-dsplink-module ti-dsplink-apps"
-FILES_ti-dsplink-module  = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko"
-FILES_ti-dsplink-apps = "${datadir}/ti-dsplink/* ${libdir}/dsplink.lib"
-
-pkg_postinst_ti-dsplink-module () {
-       if [ -n "$D" ]; then
-               exit 1
-       fi
-       depmod -a
-       update-modules || true
-}
-
-pkg_postrm_ti-dsplink-module () {
-       update-modules || true
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-#legacy upgrade helpers
-RPROVIDES_ti-dsplink-module += "dsplink-module"
-RREPLACES_ti-dsplink-module += "dsplink-module"
-RPROVIDES_ti-dsplink-apps += "dsplink-apps"
-RREPLACES_ti_dsplink-apps += "dsplink-apps"
-
-#add run-time dependencies - note for kernel module we can only use RRECOMMENDS, since modules might be built into the kernel
-RRECOMMENDS_ti-dsplink-apps += "ti-dsplink-module"
-
index de09d36..58d4182 100644 (file)
@@ -24,7 +24,7 @@ S = "${WORKDIR}/gstreamer_ti/ti_build/ticodecplugin"
 
 inherit autotools update-rc.d
 
-require ti-paths.inc
+require ti-paths-old.inc
 
 XDC_TARGET = "gnu.targets.arm.GCArmv5T"
 XDC_PLATFORM_dm6446 = "ti.platforms.evmDM6446"
diff --git a/recipes/ti/ti-biosutils.inc b/recipes/ti/ti-biosutils.inc
new file mode 100644 (file)
index 0000000..258f92b
--- /dev/null
@@ -0,0 +1,19 @@
+DESCRIPTION = "TI DSP/BIOS Utilities"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/Bios_Utils"
+SECTION = "devel"
+LICENSE = "TI"
+
+require ti-paths.inc
+require ti-staging.inc
+
+PR = "r1"
+
+S = "${WORKDIR}/biosutils_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/Bios_Utils/${PV}${PVsuffix}/exports/biosutils_${PV}.tar.gz;name=biosutilstarball"
+
+do_install() {
+    install -d ${D}${BIOSUTILS_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${BIOSUTILS_INSTALL_DIR_RECIPE}
+}
+
diff --git a/recipes/ti/ti-biosutils_1.02.02.bb b/recipes/ti/ti-biosutils_1.02.02.bb
new file mode 100644 (file)
index 0000000..918f124
--- /dev/null
@@ -0,0 +1,8 @@
+require ti-biosutils.inc
+
+PV = "1_02_02"
+PVsuffix = "_02"
+
+SRC_URI[biosutilstarball.md5sum] = "0654e9e72b0a6fc7a6575829c0cd90c9"
+SRC_URI[biosutilstarball.sha256sum] = "df486500bdc8dbe3800fc7efe4241e6fa5b1827ba7c0dc17a71b41d42ef921e1"
+
diff --git a/recipes/ti/ti-c6accel.inc b/recipes/ti/ti-c6accel.inc
new file mode 100644 (file)
index 0000000..7d09783
--- /dev/null
@@ -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 ti-paths.inc
+require ti-staging.inc
+require 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"
+
diff --git a/recipes/ti/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch b/recipes/ti/ti-c6accel/0001-soc-app-fix-makefile-to-pass-Wl-T-before-the-linkers.patch
new file mode 100644 (file)
index 0000000..901e11d
--- /dev/null
@@ -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\r
\r
+ # Output linker file\r
+-XDC_LFILE     = $(XDC_CFG)/linker.cmd\r
++XDC_LFILE     = -Wl,-T,$(XDC_CFG)/linker.cmd\r
\r
+ # Input configuration file\r
+ XDC_CFGFILE   = $(PLATFORM)/$(TARGET).cfg\r
+-- 
+1.6.6.1
+
diff --git a/recipes/ti/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch b/recipes/ti/ti-c6accel/0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch
new file mode 100644 (file)
index 0000000..a108c6e
--- /dev/null
@@ -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\r
\r
+ ifeq ($(BUILD_TYPE), release)\r
+-ifeq ($(ARM_ISA),armv7-a)\r
+-    C_FLAGS   += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp\r
+-endif\r
+-ifeq ($(ARM_ISA),armv5t)\r
+-    C_FLAGS   += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O\r
+-endif\r
++C_FLAGS += $(CFLAGS)\r
+ else\r
+     CPP_FLAGS += -DNDEBUG\r
+-    C_FLAGS   += -Wall -g\r
++    C_FLAGS   += $(CFLAGS) -Wall -g\r
+ endif\r
\r
\r
+@@ -72,7 +67,7 @@ ifeq ($(PLATFORM),omapl138)
+     C_FLAGS   += -DPLATFORM=138\r
+ endif\r
\r
+-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread\r
++LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib -lm -lpthread\r
+ C6ACCEL_LIB += ../c6accelw/lib/c6accelw_$(PLATFORM).a470MV\r
\r
+ COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) $(CPP_FLAGS) -c\r
+@@ -102,7 +97,7 @@ $(TARGET):  $(OBJFILES) $(C6ACCEL_LIB) $(XDC_LFILE)
\r
+ $(OBJFILES):  %.o: %.c $(HEADERS) $(XDC_CFLAGS)\r
+       @echo Compiling $@ from $<..\r
+-      $(COMPILE.c) $(shell cat $(XDC_CFLAGS)) -o $@ $<\r
++      $(COMPILE.c) $(shell cat $(XDC_CFLAGS) | sed 's:-march=armv5t::g') -o $@ $<\r
\r
+ $(XDC_LFILE) $(XDC_CFLAGS):   $(XDC_CFGFILE)\r
+       @echo\r
+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\r
\r
+ ifeq ($(BUILD_TYPE), release)\r
+-ifeq ($(ARM_ISA),armv7-a)\r
+-    C_FLAGS   += -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp\r
+- endif\r
+-ifeq ($(ARM_ISA),armv5t)\r
+-    C_FLAGS   += -mlittle-endian -march=armv5t -mtune=arm9tdmi -mabi=aapcs-linux -O\r
+- endif\r
+-\r
++C_FLAGS += $(CFLAGS)\r
+ else\r
+-    CPP_FLAGS += -DNDEBUG\r
+-    C_FLAGS   += -Wall -g\r
++    CPP_FLAGS   += -DNDEBUG\r
++    C_FLAGS += $(CFLAGS) -Wall -g\r
+ endif\r
\r
+-LD_FLAGS += -L$(LINUXLIBS_INSTALL_DIR)/lib\r
++LD_FLAGS += $(LDFLAGS) -L$(LINUXLIBS_INSTALL_DIR)/lib\r
+ AR_FLAGS += \r
\r
+ COMPILE.c = $(VERBOSE) $(CSTOOL_PREFIX)gcc $(CPP_FLAGS) $(C_FLAGS) -c\r
+-- 
+1.6.6.1
+
diff --git a/recipes/ti/ti-c6accel/fix-loadmodule.patch b/recipes/ti/ti-c6accel/fix-loadmodule.patch
new file mode 100644 (file)
index 0000000..9921f29
--- /dev/null
@@ -0,0 +1,81 @@
+diff -uNr c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh
+--- c6accel_1_00_00_04_orig/soc/app/omap3530/loadmodules_omap3530_c6accel.sh   2010-07-26 16:18:35.000000000 -0500
++++ c6accel_1_00_00_04/soc/app/omap3530/loadmodules_omap3530_c6accel.sh        2010-09-12 11:50:46.129159981 -0500
+@@ -1,4 +1,4 @@
+-# loadmodules.sh
++#!/bin/sh
+ #
+ # Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+ #
+@@ -11,34 +11,16 @@
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ # Lesser General Public License for more details.
+-#
+-# Default Memory Map
+-#
+-# Start Addr    Size    Description
+-# -------------------------------------------
+-# 0x80000000    88 MB   Linux
+-# 0x85800000    08 MB   CMEM
+-# 0x86800000    24 MB   DDRALGHEAP
+-# 0x87800000     6 MB   DDR2 (BIOS, Codecs, Applications)
+-# 0x87E00000     1 MB   DSPLINK (MEM)
+-# 0x87F00000     4 KB   DSPLINK (RESET)
+-# 0x87F01000  1020 KB   unused
+-rmmod cmemk.ko
+-rmmod lpm_omap3530.ko
+-rmmod dsplinkk
+-# Allocate 15MB for CMEM
+-insmod cmemk.ko phys_start=0x86300000 phys_end=0x87200000 pools=20x4096
++# remove previously loaded cmem to ensure that it configured to use our pool configuration
++rmmod cmemk 2>/dev/null
+-# insert DSP/BIOS Link driver
+-#
+-insmod dsplinkk.ko
++# Allocate 15MB for CMEM
++modprobe cmemk phys_start=0x86300000 phys_end=0x87200000 pools=20x4096 allowOverlap=1
++modprobe dsplinkk
++modprobe lpm_omap3530
+ # make /dev/dsplink
+ rm -rf /dev/dsplink
+ mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
+-# insert Local Power Manager driver
+-#
+-insmod lpm_omap3530.ko
+-
+diff -uNr c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh
+--- c6accel_1_00_00_04_orig/soc/app/omapl138/loadmodules_omapl138_c6accel.sh   2010-07-27 09:45:37.000000000 -0500
++++ c6accel_1_00_00_04/soc/app/omapl138/loadmodules_omapl138_c6accel.sh        2010-09-12 11:52:07.193160179 -0500
+@@ -1,4 +1,4 @@
+-#
++#!/bin/sh
+ #  Copyright (c) 2008, Texas Instruments Incorporated
+ #  All rights reserved.
+ # 
+@@ -29,15 +29,14 @@
+ #  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ #  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #
+-rmmod dsplinkk.ko
+-rmmod cmemk.ko
++
++# remove previously loaded cmem to ensure that its configured to use our pool configuration.
++rmmod cmemk 2>/dev/null
++
+ # insert cmemk, tell it to occupy physical 120MB-128MB, create 
+ # 20 4K buffers, 10 128K buffers  and two 1MB buffers
+-insmod cmemk.ko phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096
+-
+-# insert DSP/BIOS Link driver
+-#
+-insmod dsplinkk.ko
++modprobe cmemk phys_start=0xC2000000 phys_end=0xC4000000 pools=20x4096 allowOverlap=1
++modprobe dsplinkk
+ # make /dev/dsplink
+ rm -f /dev/dsplink
diff --git a/recipes/ti/ti-c6accel_1.01.00.03.bb b/recipes/ti/ti-c6accel_1.01.00.03.bb
new file mode 100644 (file)
index 0000000..bf5f1cf
--- /dev/null
@@ -0,0 +1,14 @@
+require ti-c6accel.inc
+
+SRC_URI[c6accelbin.md5sum] = "0ddf37fd9dad91fa3a914e549da933b9"
+SRC_URI[c6accelbin.sha256sum] = "453399a84bf117bd7a91393242c7c005e2829692db5ede18e4be166c61e4354c"
+
+SRC_URI_append = "file://fix-loadmodule.patch \
+                  file://0001-soc-honour-buildsystem-CFLAGS-and-LDFLAGS-when-set.patch \
+                 "
+
+PV = "1_01_00_03"
+
+
+CFLAGS += "-fPIC"
+
diff --git a/recipes/ti/ti-cgt6x-native_6.0.21.bb b/recipes/ti/ti-cgt6x-native_6.0.21.bb
deleted file mode 100644 (file)
index f98ce63..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require ti-cgt6x.inc
-inherit native
-
-# download ti_cgt_c6000_6.0.21_setup_linux_x86.bin from https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm and copy in Arago (or OE) download directory.
-
-SRC_URI        = "http://install.source.dir.local/ti_cgt_c6000_6.0.21_setup_linux_x86.bin"
-
-BINFILE="ti_cgt_c6000_6.0.21_setup_linux_x86.bin"
-
-S = "${WORKDIR}/cgt"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "6021"
-PR = "r3"
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN}/ 
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL = "1"
-
diff --git a/recipes/ti/ti-cgt6x-native_6.1.9.bb b/recipes/ti/ti-cgt6x-native_6.1.9.bb
deleted file mode 100644 (file)
index 9674e76..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require ti-cgt6x.inc
-inherit native
-
-# download ti_cgt_c6000_6.1.9_setup_linux_x86.bin from https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm and copy in Arago/OE download directory.
-
-SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_6.1.9_setup_linux_x86.bin"
-
-BINFILE = "ti_cgt_c6000_6.1.9_setup_linux_x86.bin"
-
-S = "${WORKDIR}/cgt"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "6190"
-PR = "r1"
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN}/ 
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL = "1"
-
index fa46d12..8ae25da 100644 (file)
@@ -1,9 +1,24 @@
-DESCRIPTION = "Code Generation Tools for TI DaVinci and OMAP"
+DESCRIPTION = "TI DSP Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+SECTION = "devel"
+LICENSE = "TI"
 
-# This file defines function used for extracting .bin file
+require ti-paths.inc
+require ti-staging.inc
+require ti-eula-unpack.inc
+
+PR = "r4"
+
+S = "${WORKDIR}/cgt6x_${PV}"
 
+SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin;name=cgt6xbin"
+
+BINFILE="ti_cgt_c6000_${PVwithdots}_setup_linux_x86.bin"
 TI_BIN_UNPK_CMDS="Y:qY:workdir: : "
-TI_BIN_UNPK_WDEXT="/cgt"
+TI_BIN_UNPK_WDEXT="/cgt6x_${PV}"
 
-require ti-eula-unpack.inc
+do_install() {
+    install -d ${D}${CODEGEN_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${CODEGEN_INSTALL_DIR_RECIPE}
+}
 
diff --git a/recipes/ti/ti-cgt6x_7.2.7.bb b/recipes/ti/ti-cgt6x_7.2.7.bb
new file mode 100644 (file)
index 0000000..aab1b96
--- /dev/null
@@ -0,0 +1,11 @@
+require ti-cgt6x.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62f46f1125a152a2e213b414db7ac600"
+
+PE = "1"
+PV = "7_2_7"
+PVwithdots = "7.2.7"
+
+SRC_URI[cgt6xbin.md5sum] = "71a0768a541fdebd9c35d44301019d1d"
+SRC_URI[cgt6xbin.sha256sum] = "211477f0142d603975544abe3c45cc3b77a3b38038158676c60812806378738b"
+
index 81dae36..fdaebd5 100644 (file)
 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"
 
-# compile time dependencies
-DEPENDS = "ti-xdctools-native ti-xdais-native ti-linuxutils ti-framework-components"
-DEPENDS_append_dm6446 = " ti-cgt6x-native ti-dspbios-native"
-DEPENDS_append_omap3 = "  ti-cgt6x-native ti-dspbios-native"
+# 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?
 
-BASE_SRC_URI = "http://install.source.dir.local"
-SRC_URI = "${BASE_SRC_URI}/codec_engine_${PV},lite.tar.gz "
+require ti-paths.inc
+require ti-staging.inc
+
+PROVIDES += "ti-codec-engine-examples"
+
+PR = "${MACHINE_KERNEL_PR}"
+PR_append = "a"
 
-# Set the source directory
 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
+}
+
+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 () {
-        echo "! Do not rebuild for now !"
+
+        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
 }
 
-# stage tree - other packages may need this
-do_stage() {
-    install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/
+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}
 }
 
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+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
 
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes/ti/ti-codec-engine/bypass-GCArmv5T-used-is-sealed.patch b/recipes/ti/ti-codec-engine/bypass-GCArmv5T-used-is-sealed.patch
new file mode 100644 (file)
index 0000000..b93161f
--- /dev/null
@@ -0,0 +1,22 @@
+do_compile produces:
+
+js: "/prj/oe/bb/build/tmp-eglibc/work/beagleboard-angstrom-linux-gnueabi/ti-codec-engine-2_26_02_11-r114a/codec_engine_2_26_02_11/packages/ti/sdo/ce/osal/linux/package.xs", line 50: XDC runtime error: gnu.targets.arm.GCArmv5T: '$used' is sealed
+
+Fix per suggestion in http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/110920.aspx
+
+--- ./packages/ti/sdo/ce/osal/linux/package.xs.orig    2010-12-01 23:24:48.000000000 -0600
++++ ./packages/ti/sdo/ce/osal/linux/package.xs 2011-12-27 14:59:39.382423341 -0600
+@@ -47,10 +47,10 @@
+     }
+     /* Conditionally load CMEM here */
+-    var targetMod = xdc.useModule(prog.build.target.$name);
+-    if ((":"+targetMod.getISAChain().join(":")+":").match(/:v5T:/i)) {
++    //var targetMod = xdc.useModule(prog.build.target.$name);
++    //if ((":"+targetMod.getISAChain().join(":")+":").match(/:v5T:/i)) {
+         xdc.useModule('ti.sdo.linuxutils.cmem.CMEM');
+-    }
++    //}
+     var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
diff --git a/recipes/ti/ti-codec-engine_2.24.01.bb b/recipes/ti/ti-codec-engine_2.24.01.bb
deleted file mode 100644 (file)
index ae0197e..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-DESCRIPTION = "Codec Engine 2.24.01 for TI ARM/DSP processors"
-
-require ti-paths.inc
-
-# compile time dependencies
-DEPENDS = "ti-framework-components ti-xdais-native ti-xdctools-native ti-cgt6x-native"
-
-DEPENDS_append_dm6446  = " ti-dspbios-native ti-linuxutils ti-dsplink-module"
-DEPENDS_append_omap3           = " ti-dspbios-native ti-linuxutils ti-dsplink-module"
-
-# tconf from xdctools dislikes '.' in pwd :/
-PR = "r7"
-PV = "2_24_01"
-
-SRC_URI = "http://install.source.dir.local/codec_engine_2_24_01.tar.gz "
-
-# Set the source directory
-S = "${WORKDIR}/codec_engine_2_24_01"
-
-# Define Device variable
-DEVICES_dm6446         ?= "DM6446"
-DEVICES_omap3   ?= "OMAP3530"
-DEVICES_dm355   ?= "DM355"
-
-#define PROGRAM variables
-PROGRAMS        ?= "APP_CLIENT DSP_SERVER"
-PROGRAMS_dm355   = "APP_LOCAL"
-
-LINK_INSTALL_DIR="${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module/packages"
-CGT6x_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native"
-XDCTOOLS_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native"
-CE_INSTALL_DIR = "${S}"
-
-do_compile () {
-
-       sed -i  \
-               -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
-               ${S}/examples/xdcpaths.mak
-
-        for i in codecs extensions servers apps ; do
-                cd ${S}/examples/ti/sdo/ce/examples/$i
-                make DEVICES="${DEVICES}" \
-                     GPPOS="${GPPOS}" \
-                     PROGRAMS="${PROGRAMS}" \
-                     CE_INSTALL_DIR="${CE_INSTALL_DIR}" \
-                     XDC_INSTALL_DIR="${XDCTOOLS_DIR}" \
-                     BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\
-                     DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
-                     XDAIS_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \
-                     FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
-                     CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
-                     LPM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \
-                     EDMA3_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \
-                     CGTOOLS_V5T="${CROSS_DIR}"\
-                     CGTOOLS_C64P="${CGT6x_DIR}" \
-                     clean all
-        done
-}
-
-do_install() {
-       install -d ${D}/${installdir}/codec-engine-apps
-       cp ${S}/examples/apps/system_files/${DEVICES}/loadmodules.sh ${D}/${installdir}/codec-engine-apps
-       sed -i 's/insmod/modprobe/g' ${D}/${installdir}/codec-engine-apps/loadmodules.sh
-
-       cd ${S}/examples/ti/sdo/ce/examples
-
-       for i in $(find . -name "*.xv5T"); do
-               install -d ${D}/${installdir}/codec-engine-apps/`dirname ${i} | cut -f3 -d /`
-               install ${i} ${D}/${installdir}/codec-engine-apps/`dirname ${i} | cut -f3 -d /`
-
-       for j in $(find . -name "*.x64P"); do
-               install ${j} ${D}/${installdir}/codec-engine-apps/`dirname ${i} | cut -f3 -d /`
-       done
-
-    done
-}
-
-
-# stage tree - other packages may need this
-do_stage() {
-    install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ 
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-INHIBIT_PACKAGE_STRIP = "1"
-PACKAGES += "ti-codec-engine-apps"
-FILES_ti-codec-engine-apps = "${installdir}/codec-engine-apps/*"
-INSANE_SKIP_ti-codec-engine-apps = True
-
diff --git a/recipes/ti/ti-codec-engine_2.25.01.bb b/recipes/ti/ti-codec-engine_2.25.01.bb
deleted file mode 100644 (file)
index 5a5c7d3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-require ti-codec-engine.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-PV = "2_25_00_01"
-PR = "r20"
-
diff --git a/recipes/ti/ti-codec-engine_2.26.02.11.bb b/recipes/ti/ti-codec-engine_2.26.02.11.bb
new file mode 100644 (file)
index 0000000..bcb89b7
--- /dev/null
@@ -0,0 +1,10 @@
+require ti-codec-engine.inc
+
+LIC_FILES_CHKSUM = "file://codec_engine_${PV}_manifest.html;md5=912535f1b02ecf329a3979bf313f91e0"
+PV = "2_26_02_11"
+PR_append = "b"
+
+SRC_URI += "file://bypass-GCArmv5T-used-is-sealed.patch"
+
+SRC_URI[cetarball.md5sum] = "4f755f77119e4da19ab5cc7ae7ccfdb4"
+SRC_URI[cetarball.sha256sum] = "17fa053719265e0901fe3c3f90c9204957c6d0f5351d6b3ba4900df58cb7300f"
diff --git a/recipes/ti/ti-codec.inc b/recipes/ti/ti-codec.inc
deleted file mode 100644 (file)
index 655e9d1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "TI Codec for ${MACHINE_ARCH}"
-
-require ti-paths.inc
-
-do_stage() {
-    install -d ${CODEC_INSTALL_DIR}
-    cp -pPrf ${S}/* ${CODEC_INSTALL_DIR}
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "${installdir}/codec-combo/*"
-
diff --git a/recipes/ti/ti-codecs-dm355.inc b/recipes/ti/ti-codecs-dm355.inc
deleted file mode 100644 (file)
index 8a95dc3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "DM355 Codecs"
-
-BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs"
-SRC_URI = "${BASE_SRC_URI}/dm355_codecs_setuplinux_${PV}.bin \
-                   file://mapdmaq \
-                 "
-
-S = "${WORKDIR}/dm355_codecs_${PV}"
-
-require ti-paths.inc
-
-BINFILE = "dm355_codecs_setuplinux_${PV}.bin"
-TI_BIN_UNPK_CMDS = "Y:Y: qY:workdir"
-
-require ti-eula-unpack.inc
-
-do_compile() {
-        echo "Do nothing"
-}
-
-do_install () {
-     # install mapdmaq on target
-     install -d ${D}/${installdir}/codecs
-     install -m 0755 ${WORKDIR}/mapdmaq ${D}/${installdir}/codecs
-}
-
-do_stage() {
-    install -d ${CODEC_INSTALL_DIR}
-    cp -pPrf ${S}/* ${CODEC_INSTALL_DIR}
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-FILES_${PN} = "${installdir}/codecs/mapdmaq"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} = "True"
diff --git a/recipes/ti/ti-codecs-dm355_1.13.bb b/recipes/ti/ti-codecs-dm355_1.13.bb
deleted file mode 100644 (file)
index bb7adbd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-PV = "1_13_000"
-PR = "r16"
-
-require ti-codecs-dm355.inc
-
-
diff --git a/recipes/ti/ti-codecs-dm365.inc b/recipes/ti/ti-codecs-dm365.inc
deleted file mode 100644 (file)
index b3166be..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "DM365 Codecs"
-
-BASE_SRC_URI = "http://install.source.dir.local"
-SRC_URI        = "${BASE_SRC_URI}/dm365_codecs_${PV}.tar.gz"
-
-S = "${WORKDIR}/dm365_codecs_${PV}"
-
-do_compile() {
-       echo "Do nothing"
-}
-
-do_install () {
-     # install mapdmaq on target
-     install -d ${D}/${installdir}/codecs
-}
-
-do_stage() {
-    install -d ${CODEC_INSTALL_DIR}
-    cp -pPrf ${S}/* ${CODEC_INSTALL_DIR}
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-FILES_${PN} = "${installdir}/codecs"
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} = True
-
diff --git a/recipes/ti/ti-codecs-dm365_1.0.6.bb b/recipes/ti/ti-codecs-dm365_1.0.6.bb
deleted file mode 100644 (file)
index 59f5722..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-PV = "01_00_06"
-
-require ti-codecs-dm365.inc
-
-
diff --git a/recipes/ti/ti-codecs-dm6446_2.05.bb b/recipes/ti/ti-codecs-dm6446_2.05.bb
deleted file mode 100644 (file)
index 63a57fe..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-DEPENDS="ti-codec-engine ti-linuxutils"
-
-require ti-codec.inc
-
-SRC_URI        = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/exports/dm6446_codecs_setuplinux_2_00_00_22.bin"
-
-S = "${WORKDIR}/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05"
-BINFILE = "dm6446_codecs_setuplinux_2_00_00_22.bin"
-TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
-
-require ti-eula-unpack.inc
-
-export ${CODEGEN_INSTALL_DIR}
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "205"
-PR = "r15"
-
-do_configure () {
-       find . -name *.x64P | xargs rm -rf {} 
-}
-
-do_compile() {
-       make BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \
-               XDC_INSTALL_DIR=${XDC_INSTALL_DIR} \
-               CE_INSTALL_DIR=${CE_INSTALL_DIR} \
-               FC_INSTALL_DIR=${FC_INSTALL_DIR} \
-               CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \
-               XDAIS_INSTALL_DIR=${XDAIS_INSTALL_DIR} \
-               LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \
-               CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \
-               XDCARGS=\"eval\"
-}
-
-do_install () {
-    install -d ${D}/${installdir}/codec-combo
-       cd ${S}
-       for file in `find . -name *.x64P`; do
-               cp ${file} ${D}/${installdir}/codec-combo
-       done
-}
-
diff --git a/recipes/ti/ti-codecs-omap3530/disable-c6accel.diff b/recipes/ti/ti-codecs-omap3530/disable-c6accel.diff
new file mode 100644 (file)
index 0000000..6e2ed7e
--- /dev/null
@@ -0,0 +1,47 @@
+diff -ur a/packages/ti/sdo/server/cs/codec.cfg b/packages/ti/sdo/server/cs/codec.cfg
+--- a/packages/ti/sdo/server/cs/codec.cfg      2011-08-07 20:08:57.000000000 +0200
++++ b/packages/ti/sdo/server/cs/codec.cfg      2011-08-07 20:08:10.000000000 +0200
+@@ -7,7 +7,7 @@
+  *  which we'll use to initialize config params and add the codecs to
+  *  the Server.algs array.
+  */
+-    var C6ACCEL = xdc.useModule('ti.c6accel.ce.C6ACCEL');
++/*    var C6ACCEL = xdc.useModule('ti.c6accel.ce.C6ACCEL');
+         C6ACCEL.serverFxns = "UNIVERSAL_SKEL";
+         C6ACCEL.stubFxns = "UNIVERSAL_STUBS";
+@@ -17,7 +17,7 @@
+         C6ACCEL.alg.codeSection = codeSection;
+         C6ACCEL.alg.udataSection = udataSection;
+         C6ACCEL.alg.dataSection = dataSection;
+-
++*/
+     var AACHEDEC = xdc.useModule('ti.sdo.codecs.aachedec.ce.AACHEDEC');
+         AACHEDEC.serverFxns = "AUDDEC1_SKEL";
+@@ -151,11 +151,11 @@
+  * algorithms (e.g. stack sizes, priorities, etc.).
+  */
+ Server.algs = [ 
+-    {name: "c6accel", mod: C6ACCEL , threadAttrs: {
++/*    {name: "c6accel", mod: C6ACCEL , threadAttrs: {
+         stackMemId: 0, priority: Server.MINPRI + 3},
+         groupId : 2,
+     },
+-
++*/
+     {name: "aachedec", mod: AACHEDEC , threadAttrs: {
+         stackMemId: 0, priority: Server.MINPRI + 3},
+         groupId : 2,
+diff -ur a/packages/ti/sdo/server/cs/package.xs b/packages/ti/sdo/server/cs/package.xs
+--- a/packages/ti/sdo/server/cs/package.xs     2011-08-07 20:09:31.000000000 +0200
++++ b/packages/ti/sdo/server/cs/package.xs     2011-08-07 20:08:21.000000000 +0200
+@@ -7,7 +7,7 @@
+     // Each codec is validated with the following call:
+     //    validate_one_codec(<package name>, <module name>);
+-         validate_one_codec( "ti.c6accel", "C6ACCEL" );
++//         validate_one_codec( "ti.c6accel", "C6ACCEL" );
+          validate_one_codec( "ti.sdo.codecs.aachedec", "AACHEDEC" );
+          validate_one_codec( "ti.sdo.codecs.deinterlacer", "I2P" );
+          validate_one_codec( "ti.sdo.codecs.g711dec", "G711DEC" );
diff --git a/recipes/ti/ti-codecs-omap3530_1.01.bb b/recipes/ti/ti-codecs-omap3530_1.01.bb
deleted file mode 100644 (file)
index 104b128..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-require ti-codec.inc
-
-SRC_URI        = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/cs1omap3530_setuplinux_1_00_01-42.bin"
-
-# Specify names of the InstallJammer binary file and the tarball it extracts
-BINFILE = "cs1omap3530_setuplinux_1_00_01-42.bin"
-TI_BIN_UNPK_CMDS = "Y:Y: qY:workdir"
-
-require ti-eula-unpack.inc
-
-S = "${WORKDIR}/dvsdk_3_00_01_42/cs1omap3530_1_00_01"
-
-DEPENDS="ti-codec-engine ti-linuxutils"
-
-export CODEGEN_INSTALL_DIR
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "1_00_1"
-PR = "r5"
-
-do_compile() {
-
-       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" \
-                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" \
-}
-
-do_install () {
-    install -d ${D}/${installdir}/codec-combo
-       cd ${S}
-       for file in `find . -name *.x64P`; do
-               cp ${file} ${D}/${installdir}/codec-combo
-       done
-}
-
-
diff --git a/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb b/recipes/ti/ti-codecs-omap3530_4.00.00.00.bb
new file mode 100644 (file)
index 0000000..0072cc9
--- /dev/null
@@ -0,0 +1,208 @@
+DESCRIPTION = "TI Codecs and Server Combo for OMAP3530"
+SECTION = "multimedia"
+LICENSE = "TI"
+
+require ti-paths.inc
+require ti-staging.inc
+
+PR="${MACHINE_KERNEL_PR}"
+PR_append = "a"
+
+PV="4_00_00_00"
+
+LIC_FILES_CHKSUM = "file://packages/ti/sdo/server/cs/docs/cs1omap3530_software_manifest.pdf;md5=84444ba7c7abe117c30f9c960d1930ec"
+
+CODEC_SUITE_NAME="${WORKDIR}/${PN}_${PV}"
+
+SRCREV = "8393c892b09e0ac42b19ff1531e232478c3b1a6c"
+
+require 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 \
+    \
+    file://disable-c6accel.diff;patch=1 \
+"
+
+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"
+
+#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}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES += "ti-codecs-omap3530-server"
+FILES_ti-codecs-omap3530-server = "${installdir}/ti-codecs-server/*"
+
+
diff --git a/recipes/ti/ti-codecs-omapl137_1.0.bb b/recipes/ti/ti-codecs-omapl137_1.0.bb
deleted file mode 100644 (file)
index 269f9a3..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-require ti-codec.inc
-
-# Should be replaced with real http URL, but for now create codec combo tar from DVSDK installation.
-SRC_URI        = "http://install.source.dir.local/omapl137_dvsdk_combos_1_0.tar.gz"
-
-S = "${WORKDIR}/omapl137_dvsdk_combos_1_0"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "1_0"
-PR = "r1"
-
-do_compile() {
-       echo "do nothing"
-}
-
-do_install () {
-    install -d ${D}/${installdir}/codec-combo
-       cd ${S}
-       for file in `find . -name *.x64P`; do
-               cp ${file} ${D}/${installdir}/codec-combo
-       done
-}
-
diff --git a/recipes/ti/ti-dm355mm-module_1.13.bb b/recipes/ti/ti-dm355mm-module_1.13.bb
deleted file mode 100644 (file)
index 6941d0c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "User space DMA module for DM355"
-
-require ti-codecs-dm355.inc
-inherit module
-
-PV = "1_13_000"
-
-SRC_URI        = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs/dm355_codecs_setuplinux_${PV}.bin \
-                  file://dm355mm.patch;patch=1 \
-             "
-S = "${WORKDIR}/dm355_codecs_${PV}"
-BINFILE="dm355_codecs_setuplinux_${PV}.bin"
-
-#This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "a"
-
-do_configure() {
-       find ${S} -name "*.ko" -exec rm {} \; || true
-       sed -i -e s:include:#include:g ${S}/dm355mm/Rules.make
-}
-
-do_compile() {
-    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-
-    cd ${S}/dm355mm/module
-    make \
-      LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
-      MVTOOL_PREFIX="${TARGET_PREFIX}";
-}
-
-do_install () {
-    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-    install -m 0755 ${S}/dm355mm/module/dm350mmap.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes/ti/ti-dm365mm-module.inc b/recipes/ti/ti-dm365mm-module.inc
deleted file mode 100644 (file)
index 55f48f1..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "User space DMA module for DM365"
-
-BASE_SRC_URI = "http://install.source.dir.local"
-
-SRC_URI = "${BASE_SRC_URI}/dm365mm_${PV}.tar.gz "
-
-S = "${WORKDIR}/dm365mm_${PV}"
-
-inherit module
-
-do_compile() {
-    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-
-    find ${S} -name "*.ko" -exec rm {} \; || true
-    cd ${S}/module
-    make \
-      LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
-      MVTOOL_PREFIX="${TARGET_PREFIX}";
-}
-
-do_install () {
-    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-    install -m 0755 ${S}/module/dm365mmap.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} = True
-
diff --git a/recipes/ti/ti-dm365mm-module_1.0.1.bb b/recipes/ti/ti-dm365mm-module_1.0.1.bb
deleted file mode 100644 (file)
index d929350..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-require ti-dm365mm-module.inc
-
-PV = "01_00_01"
-
-#This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "a"
-
-
diff --git a/recipes/ti/ti-dmai.inc b/recipes/ti/ti-dmai.inc
deleted file mode 100644 (file)
index c52e46a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "DMAI for TI ARM/DSP processors"
-
-BRANCH = "BRANCH_BRIJESH_DMAI_DEV_2_xx"
-BRANCH_6467 = "GITPSP_INT_101009"
-
-SRCREV = "364"
-
-SRC_URI = "svn://gforge.ti.com/svn/dmai/branches;module=${BRANCH};proto=https;user=anonymous;pswd='' \
-               file://loadmodules-ti-dmai-dm355_al.sh \
-               file://loadmodules-ti-dmai-dm365_al.sh \
-               file://loadmodules-ti-dmai-dm6446_al.sh \
-               file://loadmodules-ti-dmai-o3530_al.sh \
-       "
-
-S = "${WORKDIR}/${BRANCH}/davinci_multimedia_application_interface"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "svnr${SRCREV}"
-
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes/ti/ti-dmai/touchbook-support.patch b/recipes/ti/ti-dmai/touchbook-support.patch
deleted file mode 100644 (file)
index da64c5b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/Cpu.c 2009-09-25 12:41:08.000000000 +0200
-+++ davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Cpu.c     2009-09-25 12:41:36.000000000 +0200
-@@ -107,6 +107,8 @@
-     }
-     else if ((strcmp(valBuf,"OMAP3EVM Board") == 0) ||
-             (strcmp(valBuf, "OMAP3 EVM") == 0) ||
-+            (strcmp(valBuf, "OMAP3 Touch Book") == 0) ||
-+            (strcmp(valBuf, "IGEP v2.x board") == 0) ||
-             (strcmp(valBuf, "OMAP3 Beagle Board") == 0)) {
-             *device = Cpu_Device_OMAP3530;
-     }
diff --git a/recipes/ti/ti-dmai_svn.bb b/recipes/ti/ti-dmai_svn.bb
deleted file mode 100644 (file)
index 1fa03e2..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-require ti-dmai.inc
-require ti-paths.inc
-
-inherit module-base
-
-#This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "c"
-
-# compile time dependencies
-DEPENDS = "alsa-lib ti-framework-components ti-codec-engine ti-xdctools-native"
-
-DEPENDS_append_omap3    = " ti-dspbios-native ti-cgt6x-native ti-codecs-omap3530 virtual/kernel ti-linuxutils"
-DEPENDS_append_dm6446  = " ti-dspbios-native ti-cgt6x-native ti-codecs-dm6446 virtual/kernel ti-linuxutils"
-DEPENDS_append_dm355   = " ti-codecs-dm355 virtual/kernel"
-DEPENDS_append_dm365    = " ti-codecs-dm365 virtual/kernel"
-DEPENDS_append_omapl137 = " ti-dspbios-native ti-cgt6x-native ti-codecs-omapl137 virtual/kernel ti-linuxutils"
-DEPENDS_append_omapl138 = " ti-dspbios-native ti-cgt6x-native ti-codecs-omapl138 virtual/kernel ti-linuxutils"
-
-# Define DMAI build time variables
-TARGET_omap3     = "o3530_al"
-TARGET_dm6446    = "dm6446_al"
-TARGET_omapl137 = "ol137_al"
-TARGET_omapl138 = "ol138_al"
-TARGET_dm355     = "dm355_al"
-TARGET_dm365     = "dm365_al"
-TARGET          ?= "all"
-
-CGT6x_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native"
-XDCTOOLS_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native"
-USER_XDC_PATH = "${CE_INSTALL_DIR}/examples"
-
-PARALLEL_MAKE = ""
-
-do_configure () {
-
-       # PSP kernel is based on older DSS. we need to replace linux/omapfb.h with
-       # mach/omapfb.h 
-
-    if ![ -e ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ] ; then 
-        sed -i -e s:linux/omapfb:mach/omapfb:g ${S}/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c
-        sed -i -e s:linux/omapfb:mach/omapfb:g ${S}/dmai/packages/ti/sdo/dmai/linux/priv/_Display.h
-    fi
-}
-
-
-do_compile () {
-
-       unset DMAI_INSTALL_DIR
-       cd ${S}
-       make XDC_INSTALL_DIR="${XDCTOOLS_DIR}" PLATFORM="${TARGET}" clean
-
-       #  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}" \
-               FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
-               LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
-               XDC_INSTALL_DIR="${XDCTOOLS_DIR}" \
-               CODEGEN_INSTALL_DIR="${CGT6x_DIR}" \
-               BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\
-               LINUXLIBS_INSTALL_DIR="${STAGING_DIR_HOST}/usr" \
-               USER_XDC_PATH="${USER_XDC_PATH}" \
-               CROSS_COMPILE="${CROSS_DIR}/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="${CE_INSTALL_DIR}/cetools" \   
-               PLATFORM="${TARGET}"
-}
-
-do_install () {
-       unset DMAI_INSTALL_DIR
-       # install dmai apps on target
-    cd ${S}/dmai
-    make PLATFORM="${TARGET}" EXEC_DIR=${D}/${installdir}/dmai-apps install 
-       install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${TARGET}.sh ${D}/${installdir}/dmai-apps/loadmodule.sh 
-
-    cd ${S}/tests
-    make PLATFORM="${TARGET}" EXEC_DIR=${D}/${installdir}/dmai-tests install 
-       install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${TARGET}.sh ${D}/${installdir}/dmai-tests/loadmodule.sh 
-}
-
-pkg_postinst_ti-dmai-apps () {
-       ln -sf ${installdir}/codec-combo/* ${installdir}/dmai-apps/
-}
-
-do_stage () {
-       install -d ${DMAI_INSTALL_DIR}
-       cp -pPrf ${S}/dmai/* ${DMAI_INSTALL_DIR}
-}
-
-# Disable QA check untils we figure out how to pass LDFLAGS in build
-INSANE_SKIP_${PN} = True
-INSANE_SKIP_ti-dmai-apps = True
-INSANE_SKIP_ti-dmai-tests = True
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-INHIBIT_PACKAGE_STRIP = "1"
-PACKAGES += "ti-dmai-apps ti-dmai-tests"
-FILES_ti-dmai-apps = "${installdir}/dmai-apps/*"
-FILES_ti-dmai-tests = "${installdir}/dmai-tests/*"
-
-# run time dependencies 
-RDEPENDS_ti-dmai-apps_dm355 += "ti-dm355mm-module ti-cmem-module ti-codecs-dm355"
-RDEPENDS_ti-dmai-apps_dm6446 += "ti-cmem-module ti-dsplink-module ti-codecs-dm6446"
-RDEPENDS_ti-dmai-apps_omap3 += "ti-cmem-module ti-dsplink-module ti-codecs-omap3530 ti-lpm-module ti-sdma-module"
-RDEPENDS_ti-dmai-apps_omapl137 += "ti-cmem-module ti-dsplink-module ti-codecs-omapl137"
-RDEPENDS_ti-dmai-apps_omapl138 += "ti-cmem-module ti-dsplink-module ti-codecs-omapl138"
-
diff --git a/recipes/ti/ti-dspbios-native_5.33.02.bb b/recipes/ti/ti-dspbios-native_5.33.02.bb
deleted file mode 100644 (file)
index e1cf5fb..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-require ti-dspbios.inc
-inherit native
-
-# download bios_setuplinux_5_33_02.bin from https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/bios_5_33_02/index_external.html and copy in Arago/OE installation directory
-
-SRC_URI        = "http://install.source.dir.local/bios_setuplinux_5_33_02.bin"
-BINFILE="bios_setuplinux_5_33_02.bin"
-
-S = "${WORKDIR}/bios_5_33_02"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "5332"
-PR = "r14"
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN}/ 
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL="1"
-
diff --git a/recipes/ti/ti-dspbios-native_5.33.04.bb b/recipes/ti/ti-dspbios-native_5.33.04.bb
deleted file mode 100644 (file)
index 430260f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-require ti-dspbios.inc
-inherit native
-
-# download bios_setuplinux_5_33_04.bin from https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/bios_5_33_04/index_external.html and copy in Arago (or OE) installation directory
-
-SRC_URI        = "http://install.source.dir.local/bios_setuplinux_5_33_04.bin"
-BINFILE="bios_setuplinux_5_33_04.bin"
-
-S = "${WORKDIR}/bios_5_33_04"
-
-# Yes, the xdc stuff still breaks with a '.' in PWD
-PV = "5334"
-PR = "r2"
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN}/ 
-    chmod 755 -R ${STAGING_DIR_NATIVE}/${PN}/*
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL="1"
-
index 08d797a..bd7bcc4 100644 (file)
@@ -1,6 +1,23 @@
-DESCRIPTION = "TI DSP/BIOS for Davinci and OMAP processor"
+DESCRIPTION = "TI DSP/BIOS v5 Kernel"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios"
+SECTION = "devel"
+LICENSE = "TI"
 
+require ti-paths.inc
+require ti-staging.inc
+require ti-eula-unpack.inc
+
+PR = "r1"
+
+S = "${WORKDIR}/bios_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=biosbin"
+
+BINFILE="bios_setuplinux_${PV}.bin"
 TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
 
-require ti-eula-unpack.inc
+do_install() {
+    install -d ${D}${BIOS_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${BIOS_INSTALL_DIR_RECIPE}
+}
 
diff --git a/recipes/ti/ti-dspbios_5.41.11.38.bb b/recipes/ti/ti-dspbios_5.41.11.38.bb
new file mode 100644 (file)
index 0000000..9e3b695
--- /dev/null
@@ -0,0 +1,7 @@
+require ti-dspbios.inc
+
+PV = "5_41_11_38"
+
+SRC_URI[biosbin.md5sum] = "7fab13740c25f5b34b331bcdc759536e"
+SRC_URI[biosbin.sha256sum] = "96b8e090f79420a4c11d9c0c10d182d1d3b4afb48f11ec375c97b4c91970d0a0"
+
diff --git a/recipes/ti/ti-dsplink-module_1.61.3.bb b/recipes/ti/ti-dsplink-module_1.61.3.bb
deleted file mode 100644 (file)
index 41fd212..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-DESCRIPTION = "DSPLINK 1.61.3 module for TI ARM/DSP processors"
-
-require ti-paths.inc
-inherit module
-
-# compile and run time dependencies
-DEPENDS        += "virtual/kernel perl-native ti-dspbios-native ti-cgt6x-native update-modules ti-xdctools-native"
-
-#This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "b"                                                  
-
-# tconf from xdctools dislikes '.' in pwd :/
-PV = "1_61_03"
-
-SRC_URI = "http://install.source.dir.local/dsplink_1_61_03.tar.gz \
-                  file://loadmodules-ti-dsplink-apps.sh \
-                  file://unloadmodules-ti-dsplink-apps.sh"
-
-# Set the source directory
-S = "${WORKDIR}/dsplink_1_61_03"
-       
-# DSPLINK - Config Variable for different platform
-DSPLINKPLATFORM                                ?= "DAVINCI"
-DSPLINKPLATFORM_dm6446                         ?= "DAVINCI"
-DSPLINKPLATFORM_omapl137       ?= "OMAPL1XX"
-
-DSPLINKDSPCFG                                  ?= "DM6446GEMSHMEM"
-DSPLINKDSPCFG_dm6446                   ?= "DM6446GEMSHMEM"
-DSPLINKDSPCFG_omapl137         ?= "OMAPL1XXGEMSHMEM"
-
-DSPLINKGPPOS                                   ?= "MVL5G"
-DSPLINKGPPOS_dm6446                    ?= "MVL5G"
-DSPLINKGPPOS_omapl137          ?= "MVL5G"
-
-DSPLINK = "${S}/dsplink"
-export DSPLINK
-
-STAGING_TI_DSPBIOS_DIR="${STAGING_DIR_NATIVE}/ti-dspbios-native"
-STAGING_TI_CGT6x_DIR="${STAGING_DIR_NATIVE}/ti-cgt6x-native"
-STAGING_TI_XDCTOOL_INSTALL_DIR="${STAGING_DIR_NATIVE}/ti-xdctools-native"
-
-do_compile() {
-
-       # asm/page.h is gone with linux-libc-headers 2.6.31.
-       # We can safely sed it out since it has been empty for the past 2 years
-       sed -i /page.h/d ${S}/dsplink/gpp/src/api/Linux/drv_api.c 
-
-    # Run perl script to create appropriate makefiles (v1.60 and up)
-    (
-    cd ${DSPLINK}
-    perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 \
-       --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX \
-       --gppos=${DSPLINKGPPOS} --comps=ponslrm
-    )
-
-         # dsplink makefile is hard-coded to use kbuild only on OMAP3530.
-    # we are forcing  to use kbuild on other platforms.
-         sed -i  's/OMAP3530/${DSPLINKPLATFORM}/g' ${DSPLINK}/gpp/src/Makefile 
-
-    # TODO :: KERNEL_CC, etc need replacing with user CC
-    # TODO :: Need to understand why OBJDUMP is required for kernel module
-    # Unset these since LDFLAGS gets picked up and used incorrectly.... need 
-    # investigation
-
-    unset CFLAGS CPPFLAGS CXXFLAGS  LDFLAGS
-    
-    # Build the gpp user space library
-    cd ${DSPLINK}/gpp/src/api
-    make \
-      CROSS_COMPILE="${TARGET_PREFIX}" \
-      CC="${KERNEL_CC}" \
-      AR="${KERNEL_AR}" \
-      LD="${KERNEL_LD}" \
-      COMPILER="${KERNEL_CC}" \
-      ARCHIVER="${KERNEL_AR}" \
-      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
-      clean all
-
-    # Build the gpp kernel space (debug and release)
-    cd ${DSPLINK}/gpp/src
-    make \
-      OBJDUMP="${TARGET_PREFIX}objdump" \
-      CROSS_COMPILE="${TARGET_PREFIX}" \
-      CC="${KERNEL_CC}" \
-      AR="${KERNEL_AR}" \
-      LD="${KERNEL_LD}" \
-      COMPILER="${KERNEL_CC}" \
-      ARCHIVER="${KERNEL_AR}" \
-      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
-      clean all
-
-    # Build the gpp samples
-    cd ${DSPLINK}/gpp/src/samples
-    make \
-      BASE_TOOLCHAIN="${CROSS_DIR}" \
-      BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \
-      OSINC_PLATFORM="${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \
-      OSINC_TARGET="${BASE_TOOLCHAIN}/target/usr/include" \
-      CROSS_COMPILE="${TARGET_PREFIX}" \
-      CC="${KERNEL_CC}" \
-      AR="${KERNEL_AR}" \
-      LD="${KERNEL_LD}" \
-      COMPILER="${KERNEL_CC}" \
-      LINKER="${KERNEL_CC}" \
-      ARCHIVER="${KERNEL_AR}" \
-      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
-      clean all
-
-    # Build the dsp library (debug and release)
-    cd ${DSPLINK}/dsp/src
-    make \
-      BASE_CGTOOLS="${STAGING_TI_CGT6x_DIR}" \
-      BASE_SABIOS="${STAGING_TI_DSPBIOS_DIR}" \
-      clean all
-
-    # Build the dsp samples (debug and release)
-    cd ${DSPLINK}/dsp/src/samples
-    make \
-      BASE_CGTOOLS="${STAGING_TI_CGT6x_DIR}" \
-      BASE_SABIOS="${STAGING_TI_DSPBIOS_DIR}" \
-      clean all
-}
-
-do_install () {
-    # DSPLINK driver - kernel module
-    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-    install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ 
-
-    # DSPLINK library
-    install -d ${D}/${installdir}/dsplink/libs
-    install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplink.lib  ${D}/${installdir}/dsplink/libs
-
-    # DSPLINK sample apps
-    install -d ${D}/${installdir}/dsplink/apps
-    
-    cp ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/*gpp ${D}/${installdir}/dsplink/apps
-    
-    for i in $(find ${DSPLINK}/dsp/BUILD/ -name "*.out") ; do
-        cp ${i} ${D}/${installdir}/dsplink/apps
-    done
-
-    # DSPLINK test app module un/load scripts
-    install ${WORKDIR}/loadmodules-ti-dsplink-apps.sh ${D}/${installdir}/dsplink/apps
-    install ${WORKDIR}/unloadmodules-ti-dsplink-apps.sh ${D}/${installdir}/dsplink/apps
-}
-
-do_stage () {
-    install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/packages
-    cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/packages
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-PACKAGES += " ti-dsplink-apps" 
-FILES_ti-dsplink-apps = "${installdir}/dsplink/*"
-
-# Disable QA check untils we figure out how to pass LDFLAGS in build
-INSANE_SKIP_${PN} = True
-INSANE_SKIP_ti-dsplink-apps = True
-
diff --git a/recipes/ti/ti-dsplink.inc b/recipes/ti/ti-dsplink.inc
new file mode 100644 (file)
index 0000000..c48ec41
--- /dev/null
@@ -0,0 +1,205 @@
+DESCRIPTION = "DSPLINK Inter-Processor Communications (IPC) for TI ARM/DSP processors"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/DSPLink/index.html"
+SECTION = "devel"
+LICENSE = "GPLv2"
+
+# TODO :: KERNEL_CC, should use for kernel cc for module build?
+# TODO :: Need to understand why OBJDUMP is required for kernel module
+# TODO :: Unset required since LDFLAGS gets picked up and used incorrectly - investigate
+# TODO :: Do we need to pass so many variables to each make step?
+
+require ti-paths.inc
+require ti-staging.inc
+
+PROVIDES = "ti-dsplink-module"
+PROVIDES += "ti-dsplink-examples"
+
+# This package builds a kernel module, use kernel PR as base and append a local version
+PR = "${MACHINE_KERNEL_PR}"
+PR_append = "i"
+
+S = "${WORKDIR}/dsplink_linux_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/${PV_DL_PATH}/dsplink_linux_${PV}.tar.gz;name=dsplinktarball \
+           file://ti-dsplink-examples-run.sh \
+           file://ti-dsplink-examples-loadmodules.sh \
+           file://ti-dsplink-examples-unloadmodules.sh "
+
+DEPENDS = "ti-dspbios ti-xdctools ti-cgt6x" 
+DEPENDS += "virtual/kernel perl-native" 
+
+# SOC_FAMILY configuration
+
+DSPLINKPLATFORM_dm6446    = "DAVINCI"
+DSPLINKPLATFORM_dm6467    = "DAVINCIHD"
+DSPLINKPLATFORM_omapl137  = "OMAPL1XX"
+DSPLINKPLATFORM_omapl138  = "OMAPL138"
+DSPLINKPLATFORM_omap3     = "OMAP3530"
+DSPLINKPLATFORM          ?= "<UNDEFINED_DSPLINKPLATFORM>"
+
+DSPLINKDSPCFG_dm6446      = "DM6446GEMSHMEM"
+DSPLINKDSPCFG_dm6467      = "DM6467GEMSHMEM"
+DSPLINKDSPCFG_omapl137    = "OMAPL1XXGEMSHMEM"
+DSPLINKDSPCFG_omapl138    = "OMAPL138GEMSHMEM"
+DSPLINKDSPCFG_omap3       = "OMAP3530SHMEM"
+DSPLINKDSPCFG            ?= "<UNDEFINED_DSPLINKDSPCFG>"
+
+DSPLINKDSP_dm6446         = "DM6446GEM_0"
+DSPLINKDSP_dm6467         = "DM6467GEM_0"
+DSPLINKDSP_omapl137       = "OMAPL1XXGEM_0"
+DSPLINKDSP_omapl138       = "OMAPL138GEM_0"
+DSPLINKDSP_omap3          = "OMAP3530_0"
+DSPLINKDSP               ?= "<UNDEFINED_DSPLINKDSP>"
+
+DSPLINKGPPOS_dm6446       = "DM6446LSP"
+DSPLINKGPPOS_dm6467       = "DM6467LSP"
+DSPLINKGPPOS_omapl137     = "ARM"
+DSPLINKGPPOS_omapl138     = "ARM"
+DSPLINKGPPOS_omap3        = "OMAPLSP"
+DSPLINKGPPOS             ?= "<DEFINED_DSPLINKGPPOS>" 
+
+# Exported Variable needed by build
+DSPLINK = "${S}/dsplink"
+export DSPLINK
+
+do_configure() {
+
+    # Run perl script to create appropriate makefiles (v1.60 and up)
+    (
+    cd ${DSPLINK}
+    perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 \
+       --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX \
+       --gppos=${DSPLINKGPPOS} --comps=ponslrmc
+    )
+}
+
+do_prepsources () {
+       
+    # Prepare the tree for rebuiling - clean and generate interfaces
+    XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .make -PR .
+    XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc clean -PR .
+    XDCPATH=${DSPLINK} ${XDC_INSTALL_DIR}/xdc .interfaces -PR .
+}
+
+addtask prepsources after do_configure before do_compile
+
+do_compile() {
+    # TODO :: KERNEL_CC, should use for kernel module build?
+    # TODO :: Need to understand why OBJDUMP is required for kernel module
+    # Unset these since LDFLAGS gets picked up and used incorrectly.... need 
+    # investigation
+
+    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+    # Build the gpp user space library
+    cd ${DSPLINK}/gpp/src/api && make \
+      CROSS_COMPILE="${TARGET_PREFIX}" \
+      CC="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      AR="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      LD="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ld" \
+      COMPILER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      ARCHIVER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+      all
+
+    # Build the gpp kernel space (debug and release)
+    cd ${DSPLINK}/gpp/src && make \
+      OBJDUMP="${TARGET_PREFIX}objdump" \
+      CROSS_COMPILE="${TARGET_PREFIX}" \
+      CC="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      AR="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      LD="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ld" \
+      COMPILER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      ARCHIVER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+      BASE_BUILDOS="${STAGING_KERNEL_DIR}" \
+      all
+
+    # Build the gpp samples
+    cd ${DSPLINK}/gpp/src/samples && make \
+      BASE_TOOLCHAIN="${TOOLCHAIN_PATH}" \
+      BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \
+      OSINC_PLATFORM="${TOOLCHAIN_PATH}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \
+      OSINC_TARGET="${BASE_TOOLCHAIN}/target/usr/include" \
+      CROSS_COMPILE="${TARGET_PREFIX}" \
+      CC="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      LD="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      AR="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      COMPILER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      LINKER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}gcc" \
+      ARCHIVER="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}ar" \
+      KERNEL_DIR="${STAGING_KERNEL_DIR}" \
+      all
+
+    # Build the dsp library (debug and release)
+     cd ${DSPLINK}/dsp/src && make \
+      BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
+      BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      all
+
+    # Build the dsp samples (debug and release)
+    cd ${DSPLINK}/dsp/src/samples && make \
+      BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
+      BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      all
+}
+
+KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
+
+do_install () {
+       
+    # Install the kernel module
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+    install -m 0755 ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ 
+
+    # Install the example apps (gpp and dsp)
+    install -d ${D}/${installdir}/ti-dsplink-examples/
+    cp ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE/*gpp ${D}/${installdir}/ti-dsplink-examples
+    cp ${DSPLINK}/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/RELEASE/*.out ${D}/${installdir}/ti-dsplink-examples    
+
+    # Install the example apps module un/load scripts
+    install ${WORKDIR}/ti-dsplink-examples-loadmodules.sh ${D}/${installdir}/ti-dsplink-examples
+    install ${WORKDIR}/ti-dsplink-examples-unloadmodules.sh ${D}/${installdir}/ti-dsplink-examples
+    install ${WORKDIR}/ti-dsplink-examples-run.sh ${D}/${installdir}/ti-dsplink-examples   
+    # Install/Stage the Source Tree
+    install -d ${D}${LINK_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${LINK_INSTALL_DIR_RECIPE}
+    chmod -R +w ${D}${LINK_INSTALL_DIR_RECIPE}
+
+    # Changes path of include txt file to use LINK_INSTALL_DIR variable for GPP
+    for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/*/ -name "*.txt"); do
+       sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
+    done
+
+    # Changes path of include txt file to use LINK_INSTALL_DIR variable for DSP 
+    for i in $(find ${D}${LINK_INSTALL_DIR_RECIPE}/dsplink/dsp/export/BIN/DspBios/${DSPLINKPLATFORM}/${DSPLINKDSP}/*/ -name "*.txt"); do
+    sed -i ${i} -e s=${S}=\$\{LINK_INSTALL_DIR\}=g
+    done
+
+}
+
+PACKAGES += "ti-dsplink-module"
+FILES_ti-dsplink-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko" 
+RDEPENDS_ti-dsplink-module += "update-modules"
+
+pkg_postinst_ti-dsplink-module () {
+#!/bin/sh
+if [ -n "$D" ]; then
+       exit 1
+fi
+
+depmod -a
+update-modules || true
+}
+
+pkg_postrm_ti-dsplink-module () {
+#!/bin/sh
+update-modules || true
+}
+
+PACKAGES += "ti-dsplink-examples"
+RDEPENDS_ti-dsplink-examples_append = " ti-dsplink-module"
+RDEPENDS_ti-dsplink-examples_append_omap3 += " ti-lpm-module ti-lpm-utils"
+FILES_ti-dsplink-examples = "${installdir}/ti-dsplink-examples/*"
+INSANE_SKIP_ti-dsplink-examples = True
diff --git a/recipes/ti/ti-dsplink/dsplink-BKL-fix.patch b/recipes/ti/ti-dsplink/dsplink-BKL-fix.patch
new file mode 100644 (file)
index 0000000..eab3ec6
--- /dev/null
@@ -0,0 +1,71 @@
+From e0931bf37628727903a567f1c7096ae0011edc3d Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 4 Jan 2011 13:49:05 +0100
+Subject: [PATCH] Adjust drv_pmgr for post 2.6.36 ioctl changes
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c |   17 ++++++++++++++++-
+ 1 files changed, 16 insertions(+), 1 deletions(-)
+
+diff --git a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+index a9b831c..e4a836d 100644
+--- a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
++++ b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+@@ -399,10 +399,15 @@ DRV_Release (struct inode * inode, struct file * filp) ;
+  *  @see    None
+  *  ----------------------------------------------------------------------------
+  */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
+ STATIC
+ int
+ DRV_Ioctl (struct inode * inode, struct file * filp,
+            unsigned int cmd, unsigned long args) ;
++#else
++STATIC
++int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args);
++#endif
+ /** ----------------------------------------------------------------------------
+@@ -495,7 +500,11 @@ STATIC struct file_operations driverOps = {
+     open:    DRV_Open,
+     flush:   DRV_Flush,
+     release: DRV_Release,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
+     ioctl:   DRV_Ioctl,
++#else
++    unlocked_ioctl:   DRV_Ioctl,
++#endif
+     mmap:    DRV_Mmap,
+     read:    DRV_Read,
+    .owner = THIS_MODULE
+@@ -817,10 +826,16 @@ DRV_Release (struct inode * inode, struct file * filp)
+  *  @desc   Function to invoke the APIs through ioctl.
+  *  ----------------------------------------------------------------------------
+  */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
+ STATIC
+ NORMAL_API
+ int DRV_Ioctl (struct inode * inode, struct file * filp,
+                unsigned int cmd, unsigned long args)
++#else
++STATIC
++NORMAL_API
++int DRV_Ioctl (struct file *filp, unsigned int cmd, unsigned long args)
++#endif
+ {
+     DSP_STATUS status   = DSP_SOK ;
+     int        osStatus = 0       ;
+@@ -829,7 +844,7 @@ int DRV_Ioctl (struct inode * inode, struct file * filp,
+     CMD_Args   apiArgs            ;
+-    TRC_4ENTER ("DRV_Ioctl", inode, filp, cmd, args) ;
++    TRC_3ENTER ("DRV_Ioctl", filp, cmd, args) ;
+     retVal = copy_from_user ((Pvoid) &apiArgs,
+                              (const Pvoid) srcAddr,
+-- 
+1.6.6.1
+
diff --git a/recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch b/recipes/ti/ti-dsplink/dsplink_1_64_add_dm6446_build_support.patch
new file mode 100644 (file)
index 0000000..5a25dbb
--- /dev/null
@@ -0,0 +1,337 @@
+From 7b36e94dcb33892e1df7d3327db31bd41fb6167e Mon Sep 17 00:00:00 2001
+From: Roger Monk <r-monk@ti.com>
+Date: Fri, 5 Mar 2010 19:22:58 +0000
+Subject: [PATCH] dsplink_1_64:  Add support for building with CS tools + against 2.6.30+
+
+   * Tweaked Patches from Niclas
+
+Signed-off-by: Roger Monk <r-monk@ti.com>
+---
+ dsplink/config/bin/dsplinkcfg.pl  |   17 ++++-
+ dsplink/gpp/src/DIRS              |    5 +
+ dslpink/gpp/src/Makefile          |    8 ++-
+ dsplink/gpp/src/Rules.mk          |    5 +
+ dsplink/make/Linux/davinci_2.6.mk |  211 +++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 244 insertions(+), 2 deletions(-)
+ create mode 100644 make/Linux/davinci_2.6.mk
+
+diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
+index 644aa38..e83c133 100644
+--- a/dsplink/config/bin/dsplinkcfg.pl
++++ b/dsplink/config/bin/dsplinkcfg.pl
+@@ -215,6 +215,18 @@ my %CFG_GPPOS_DM6467LSPuc =
+     'OSPREFIX' => 'uc',
+ ) ;
++# DM6446 Linux
++my %CFG_GPPOS_DM6446LSP =
++(
++    'NAME'   => 'DM6446LSP',
++    'PREFIX' => '2.6',
++    'ID'     => 'DM6446LSP',
++    'DESC'   => 'DM6446 LSP for DM6446',
++    'VER'    => '2.6.18',
++    'TYPE'   => 'Linux',
++    'LOADERS'=> [\%CFG_LOADER_COFF, ],
++    'COMPS'  => 'ponslrmc',
++) ;
+ # OMAPL138 Linux with uCLibc filesystem
+ my %CFG_GPPOS_OMAPL138LSPuc =
+@@ -356,7 +368,7 @@ my %CFG_DSPCFG_DM6446GEMSHMEM =
+     'PHYID'     => 'DM6446GEMSHMEM',
+     'PHYDESC'   => 'Shared Memory Physical Interface',
+     'PHYTYPE'   => 'SHMEM',
+-    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
++    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_DM6446LSP],
+     'DSPOS'     => [\%CFG_DSPOS_5XX, \%CFG_DSPOS_6XX],
+ # DSP defines
+     'DSPNAME'   => 'DM6446GEM',
+@@ -2994,6 +3006,9 @@ sub main {
+     if ($platform {'ID'} eq 'DA850') {
+         print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
+     }
++    if ($platform {'ID'} eq 'DAVINCI') {
++        print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
++    }
+     if ($platform {'ID'} eq 'DAVINCIHD') {
+         print "GPP side distribution file: \$DSPLINK" . $DIRSEP . "gpp" . $DIRSEP. "src" . $DIRSEP. "Rules.mk\n" ;
+     }
+diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
+index e82969c..05bad2b 100644
+--- a/dsplink/gpp/src/DIRS
++++ b/dsplink/gpp/src/DIRS
+@@ -63,6 +63,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
+ DIRS  +=     \
+     api
+ else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
++ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++DIRS  +=     \
++    api
++else # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+ DIRS  +=     \
+     api
+@@ -77,6 +81,7 @@ DIRS  +=     \
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
++endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+ else  # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+ DIRS  +=     \
+diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
+index 9e6bbb1..49c3b97 100644
+--- a/dsplink/gpp/src/Makefile
++++ b/dsplink/gpp/src/Makefile
+@@ -78,7 +78,13 @@ ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+                     include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
+                     include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
+               else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD") 
+-                  include Makefile_bld
++                  ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_bld
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
++                        include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
++                  else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++                      include Makefile_bld
++                  endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+               endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+            endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+         endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+diff --git a/dsplink/gpp/src/Rules.mk b/dsplink/gpp/src/Rules.mk
+index 658ee8a..5a6f52a 100644
+--- a/dsplink/gpp/src/Rules.mk
++++ b/dsplink/gpp/src/Rules.mk
+@@ -63,6 +63,11 @@ KERNEL_DIR    := ${HOME}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.2
+ TOOL_PATH     := ${HOME}/git/arm-2008q3/bin
+ endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
++ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++KERNEL_DIR    := ${HOME}/linux-davinci
++TOOL_PATH     := ${HOME}/toolchains/git/arm-2009q1-203/bin
++endif #ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
+ KERNEL_DIR    := ${HOME}/linux-davinci
+ TOOL_PATH     := ${HOME}/toolchains/git/arm-2009q1-203/bin
+diff --git a/dsplink/make/Linux/davinci_2.6.mk b/dsplink/make/Linux/davinci_2.6.mk
+new file mode 100644
+index 0000000..834fd74
+--- /dev/null
++++ b/dsplink/make/Linux/davinci_2.6.mk
+@@ -0,0 +1,211 @@
++#   ============================================================================
++#   @file   davinci_2.6.mk
++#
++#   @path   $(DSPLINK)/make/Linux/
++#
++#   @desc   This makefile defines OS specific macros used by MAKE system for
++#           the Montavista Pro 5.0 Linux distribution.
++#
++#   @ver    1.64
++#   ============================================================================
++#   Copyright (C) 2002-2009, Texas Instruments Incorporated -
++#   http://www.ti.com/
++#
++#   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.
++#   ============================================================================
++
++
++ifndef DAVINCI_LINUX2_6_MK
++
++define DAVINCI_LINUX2_6_MK
++endef
++
++
++#   ============================================================================
++#   Let the make system know that a specific distribution for the GPP OS
++#   is being used.
++#   ============================================================================
++USE_DISTRIBUTION := 1
++
++
++#   ============================================================================
++#   Set the values of necessary variables to be used for the OS.
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Base directory for the GPP OS
++#   ----------------------------------------------------------------------------
++BASE_BUILDOS    := ${HOME}/linux-davinci
++
++#   ----------------------------------------------------------------------------
++#   Base for toolchain
++#   ----------------------------------------------------------------------------
++BASE_TOOLCHAIN    := ${HOME}/toolchains/git/arm-2009q1-203
++
++#   ----------------------------------------------------------------------------
++#   Base for code generation tools - compiler, linker, archiver etc.
++#   ----------------------------------------------------------------------------
++BASE_CGTOOLS    := $(BASE_TOOLCHAIN)/bin
++
++#   ----------------------------------------------------------------------------
++#   Base directory for include files provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSINC      := $(BASE_BUILDOS)/include
++
++OSINC_GENERIC   := $(BASE_OSINC)
++OSINC_PLATFORM  := $(BASE_TOOLCHAIN)/lib/gcc/arm-none-linux-gnueabi/4.2.3/include
++OSINC_TARGET    := $(BASE_TOOLCHAIN)/arm-none-linux-gnueabi/libc/usr/include
++
++ifneq ("$(VARIANT)", "")
++OSINC_VARIANT   := $(BASE_OSINC)
++endif
++
++
++#   ----------------------------------------------------------------------------
++#   Base directory for libraries provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSLIB      := $(BASE_TOOLCHAIN)/lib
++
++OSLIB_GENERIC   := $(BASE_OSLIB)
++OSLIB_PLATFORM  := $(BASE_OSLIB)
++
++
++ifneq ("$(VARIANT)", "")
++OSLIB_VARIANT   := $(BASE_OSLIB)
++endif
++
++
++#   ============================================================================
++#   COMPILER
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Name of the compiler
++#   ----------------------------------------------------------------------------
++COMPILER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++LD              := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ld
++
++CROSS_COMPILE   := arm-none-linux-gnueabi-
++export CROSS_COMPILE
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the compiler
++#
++#   CC_SW_DEF       Command line defines
++#   CC_SW_INC       Search path for header files
++#   CC_SW_OBJ       Create object file
++#   CC_SW_DEB       Include debug information
++#   ----------------------------------------------------------------------------
++CC_SW_DEF       := -D
++CC_SW_INC       := -I
++CC_SW_OBJ       := -o
++CC_SW_DEB       := -g
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler
++#   ----------------------------------------------------------------------------
++STD_USER_FLAGS  := -Wall -c
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a library
++#   ----------------------------------------------------------------------------
++EXE_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler when building an executable
++#   ----------------------------------------------------------------------------
++DRV_CC_FLAGS    := -nostdinc
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a driver
++#   ----------------------------------------------------------------------------
++LIB_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard definitions for the compiler
++#   ----------------------------------------------------------------------------
++STD_CC_DEFNS    := -D_REENTRANT
++
++#   ============================================================================
++#   ARCHIVER2 - This denotes the archiver.
++#   ============================================================================
++ARCHIVER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ar
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the archiver
++#   ----------------------------------------------------------------------------
++STD_AR_FLAGS    := -rs
++
++
++#   ============================================================================
++#   LINKER used for Library & Driver build
++#   ============================================================================
++LINKER      := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the linker
++#
++#   LD_SW_LIB       Search path for libraries
++#   LD_SW_OUT       Output filename
++#   LD_SW_RELOC     Generate relocateable output
++#   ----------------------------------------------------------------------------
++LD_SW_LIB       := -L
++LD_SW_OUT       := -o
++LD_SW_RELOC     := -r
++
++#   ----------------------------------------------------------------------------
++#   Flags for the LD when building an executable
++#   ----------------------------------------------------------------------------
++STD_LD_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the LD
++#   ----------------------------------------------------------------------------
++EXE_LD_FLAGS    := -lpthread -lc
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the archiver
++#   ----------------------------------------------------------------------------
++DRV_LD_FLAGS    :=
++
++
++#   ============================================================================
++#   Post processing utilities for Linux 2.6
++#   ============================================================================
++ifneq ($(CONFIG_MODVERSIONS),)
++CMD_MODPOST_FLAGS := -m -i
++else
++CMD_MODPOST_FLAGS := -i
++endif
++
++CMD_MODPOST := $(BASE_BUILDOS)/scripts/mod/modpost \
++               $(CMD_MODPOST_FLAGS) $(BASE_BUILDOS)/Module.symvers \
++               $(BASE_BUILDOS)/vmlinux
++
++
++endif   # ifndef DAVINCI_LINUX2_6_MK
+-- 
+1.6.0.6
+
diff --git a/recipes/ti/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch b/recipes/ti/ti-dsplink/dsplink_1_64_add_omapl137_build_support.patch
new file mode 100644 (file)
index 0000000..fa4cb2e
--- /dev/null
@@ -0,0 +1,288 @@
+From fd5858c3a247bc61a4de3af1a5097cb05042cfa4 Mon Sep 17 00:00:00 2001
+From: Roger Monk <r-monk@ti.com>
+Date: Sun, 14 Mar 2010 22:13:42 +0000
+Subject: [PATCH] omap1
+
+Signed-off-by: Roger Monk <r-monk@ti.com>
+---
+ dsplink/config/bin/dsplinkcfg.pl   |    2 +-
+ dsplink/gpp/src/DIRS               |    5 +
+ dsplink/gpp/src/Makefile           |    8 ++-
+ dsplink/make/Linux/omapl1xx_arm.mk |  210 ++++++++++++++++++++++++++++++++++++
+ 4 files changed, 223 insertions(+), 2 deletions(-)
+ create mode 100644 dsplink/make/Linux/omapl1xx_arm.mk
+
+diff --git a/dsplink/config/bin/dsplinkcfg.pl b/dsplink/config/bin/dsplinkcfg.pl
+index e83c133..8151945 100644
+--- a/dsplink/config/bin/dsplinkcfg.pl
++++ b/dsplink/config/bin/dsplinkcfg.pl
+@@ -523,7 +523,7 @@ my %CFG_DSPCFG_OMAPL1XXGEMSHMEM =
+     'PHYID'     => 'OMAPL1XXGEMSHMEM',
+     'PHYDESC'   => 'Shared Memory Physical Interface',
+     'PHYTYPE'   => 'SHMEM',
+-    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G],
++    'GPPOS'     => [\%CFG_GPPOS_MVL5U, \%CFG_GPPOS_MVL5G, \%CFG_GPPOS_ARM],
+     'DSPOS'     => [\%CFG_DSPOS_5XX],
+ # DSP defines
+     'DSPNAME'   => 'OMAPL1XXGEM',
+diff --git a/dsplink/gpp/src/DIRS b/dsplink/gpp/src/DIRS
+index 05bad2b..af48904 100644
+--- a/dsplink/gpp/src/DIRS
++++ b/dsplink/gpp/src/DIRS
+@@ -55,6 +55,10 @@ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+ DIRS  +=     \
+     api
+ else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
++ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
++DIRS  +=     \
++    api
++else # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
+ ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+ DIRS  +=     \
+     api
+@@ -83,6 +87,7 @@ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL138")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCIHD")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+ endif  # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
++endif
+ else  # ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+ DIRS  +=     \
+     arch     \
+diff --git a/dsplink/gpp/src/Makefile b/dsplink/gpp/src/Makefile
+index 49c3b97..0afd988 100644
+--- a/dsplink/gpp/src/Makefile
++++ b/dsplink/gpp/src/Makefile
+@@ -83,7 +83,13 @@ ifeq ("$(TI_DSPLINK_GPPOS)", "Linux")
+                         include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
+                         include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
+                   else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+-                      include Makefile_bld
++                        ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAPL1XX")
++                            include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_bld
++                            include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Rules.mk
++                            include $(DSPLINK)$(DIRSEP)gpp$(DIRSEP)src$(DIRSEP)Makefile_kbuild
++                        else # else ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
++                          include Makefile_bld
++                        endif
+                   endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DAVINCI")
+               endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "OMAP3530")
+            endif # ifeq ("$(TI_DSPLINK_PLATFORM)", "DA850")
+diff --git a/dsplink/make/Linux/omapl1xx_arm.mk b/dsplink/make/Linux/omapl1xx_arm.mk
+new file mode 100644
+index 0000000..3e42e87
+--- /dev/null
++++ b/dsplink/make/Linux/omapl1xx_arm.mk
+@@ -0,0 +1,210 @@
++#   ============================================================================
++#   @file   omapl1xx_arm.mk
++#
++#   @path   $(DSPLINK)/make/Linux/
++#
++#   @desc   This makefile defines OS specific macros used by MAKE system for
++#           the Montavista Pro 5.0 Linux distribution with mvlpro.
++#
++#   @ver    1.64
++#   ============================================================================
++#   Copyright (C) 2002-2009, Texas Instruments Incorporated -
++#   http://www.ti.com/
++#
++#   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.
++#   ============================================================================
++
++ifndef OMAPL1XX_ARM_MK
++
++define OMAPL1XX_ARM_MK
++endef
++
++
++#   ============================================================================
++#   Let the make system know that a specific distribution for the GPP OS
++#   is being used.
++#   ============================================================================
++USE_DISTRIBUTION := 1
++
++
++#   ============================================================================
++#   Set the values of necessary variables to be used for the OS.
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Base directory for the GPP OS
++#   ----------------------------------------------------------------------------
++BASE_BUILDOS    := ${HOME}/da850/DaVinci-PSP-SDK-03.20.00.01/src/kernel/linux-03.20.00.01
++
++#   ----------------------------------------------------------------------------
++#   Base for toolchain
++#   ----------------------------------------------------------------------------
++BASE_TOOLCHAIN  := ${HOME}/git/arm-2008q3
++
++#   ----------------------------------------------------------------------------
++#   Base for code generation tools - compiler, linker, archiver etc.
++#   ----------------------------------------------------------------------------
++BASE_CGTOOLS    := $(BASE_TOOLCHAIN)/bin
++
++#   ----------------------------------------------------------------------------
++#   Base directory for include files provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSINC      := $(BASE_BUILDOS)/include
++
++OSINC_GENERIC   := $(BASE_OSINC)
++OSINC_PLATFORM  := $(BASE_TOOLCHAIN)/lib/gcc/arm-none-linux-gnueabi/4.3.2/include
++OSINC_TARGET    := $(BASE_TOOLCHAIN)/arm-none-linux-gnueabi/libc/usr/include
++
++ifneq ("$(VARIANT)", "")
++OSINC_VARIANT   := $(BASE_OSINC)
++endif
++
++
++#   ----------------------------------------------------------------------------
++#   Base directory for libraries provided by GPP OS
++#   ----------------------------------------------------------------------------
++BASE_OSLIB      := $(BASE_TOOLCHAIN)/lib
++
++OSLIB_GENERIC   := $(BASE_OSLIB)
++OSLIB_PLATFORM  := $(BASE_OSLIB)
++
++
++ifneq ("$(VARIANT)", "")
++OSLIB_VARIANT   := $(BASE_OSLIB)
++endif
++
++
++#   ============================================================================
++#   COMPILER
++#   ============================================================================
++
++#   ----------------------------------------------------------------------------
++#   Name of the compiler
++#   ----------------------------------------------------------------------------
++COMPILER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++LD              := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ld
++
++CROSS_COMPILE   := arm-none-linux-gnueabi-
++export CROSS_COMPILE
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the compiler
++#
++#   CC_SW_DEF       Command line defines
++#   CC_SW_INC       Search path for header files
++#   CC_SW_OBJ       Create object file
++#   CC_SW_DEB       Include debug information
++#   ----------------------------------------------------------------------------
++CC_SW_DEF       := -D
++CC_SW_INC       := -I
++CC_SW_OBJ       := -o
++CC_SW_DEB       := -g
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler
++#   ----------------------------------------------------------------------------
++STD_USER_FLAGS  := -Wall -c
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the compiler when building an executable
++#   ----------------------------------------------------------------------------
++EXE_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a driver
++#   ----------------------------------------------------------------------------
++DRV_CC_FLAGS    := -nostdinc
++
++#   ----------------------------------------------------------------------------
++#   Flags for the compiler when building a library
++#   ----------------------------------------------------------------------------
++LIB_CC_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Standard definitions for the compiler
++#   ----------------------------------------------------------------------------
++STD_CC_DEFNS    := -D_REENTRANT
++
++#   ============================================================================
++#   ARCHIVER2 - This denotes the archiver.
++#   ============================================================================
++ARCHIVER        := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-ar
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the archiver
++#   ----------------------------------------------------------------------------
++STD_AR_FLAGS    := -rs
++
++
++#   ============================================================================
++#   LINKER - The compiler is used for linking purpose as well.
++#   ============================================================================
++LINKER      := $(BASE_CGTOOLS)/arm-none-linux-gnueabi-gcc
++
++#   ----------------------------------------------------------------------------
++#   Command line switches used by the linker
++#
++#   LD_SW_LIB       Search path for libraries
++#   LD_SW_OUT       Output filename
++#   LD_SW_RELOC     Generate relocateable output
++#   ----------------------------------------------------------------------------
++LD_SW_LIB       := -L
++LD_SW_OUT       := -o
++LD_SW_RELOC     := -r
++
++#   ----------------------------------------------------------------------------
++#   Standard flags for the linker
++#   ----------------------------------------------------------------------------
++STD_LD_FLAGS    :=
++
++#   ----------------------------------------------------------------------------
++#   Flags for the linker when building an executable
++#   ----------------------------------------------------------------------------
++EXE_LD_FLAGS    := -lpthread -lc
++
++#   ----------------------------------------------------------------------------
++#   Flags for the linker when building a driver
++#   ----------------------------------------------------------------------------
++DRV_LD_FLAGS    :=
++
++
++#   ============================================================================
++#   Post processing utilities for Linux 2.6
++#   ============================================================================
++ifneq ($(CONFIG_MODVERSIONS),)
++CMD_MODPOST_FLAGS := -m -i
++else
++CMD_MODPOST_FLAGS := -i
++endif
++
++CMD_MODPOST := $(BASE_BUILDOS)/scripts/mod/modpost \
++               $(CMD_MODPOST_FLAGS) $(BASE_BUILDOS)/Module.symvers \
++               $(BASE_BUILDOS)/vmlinux
++
++
++endif   # ifndef OMAPL1XX_ARM_MK
+-- 
+1.6.0.6
+
diff --git a/recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch b/recipes/ti/ti-dsplink/dsplink_1_64_kernel_2_6_33_autoconf.patch
new file mode 100644 (file)
index 0000000..271b304
--- /dev/null
@@ -0,0 +1,335 @@
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c       2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/da8xxgem_hal_pwr.c       2010-02-09 17:42:37.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OSAL Headers                */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DA8XXGEM/shmem/Linux/da8xxgem_phy_shmem.c 2010-02-09 17:43:06.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c   2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/dm6437_hal_pci_dma.c   2010-02-09 17:45:06.000000000 +0000
+@@ -21,7 +21,12 @@
+  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c  2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6437/pci/Linux/2.6.18/dm6437_phy_pci.c  2010-02-09 17:44:49.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c       2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6446GEM/shmem/Linux/dm6446gem_phy_shmem.c       2010-02-09 17:44:21.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c       2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM6467GEM/shmem/Linux/dm6467gem_phy_shmem.c       2010-02-09 17:41:46.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c     2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/dm648_hal_pci_dma.c     2010-02-09 17:42:02.000000000 +0000
+@@ -20,7 +20,12 @@
+  *  ============================================================================
+  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <asm/page.h>
+ #include <asm/io.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c    2009-11-13 12:12:46.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/DM648/pci/Linux/2.6.18/dm648_phy_pci.c    2010-02-09 17:42:21.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP2530/shmem/Linux/omap2530_phy_shmem.c 2010-02-09 17:43:29.000000000 +0000
+@@ -25,7 +25,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/OMAP3530/shmem/Linux/omap3530_phy_shmem.c 2010-02-09 17:43:50.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c dsplink_linux_1_64b/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/arch/TNETV107XGEM/shmem/Linux/tnetv107xgem_phy_shmem.c 2010-02-09 17:44:06.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Headers                  */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/module.h>
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c        2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/dpc.c        2010-02-09 17:47:25.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+ #include <linux/interrupt.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/isr.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/isr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/isr.c        2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/isr.c        2010-02-09 17:46:54.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/version.h>
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c   2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/kfiledef.c   2010-02-09 17:46:39.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/kernel.h>
+ #include <linux/mm.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/mem.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/mem.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/mem.c        2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/mem.c        2010-02-09 17:46:25.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/sched.h>
+ #include <linux/types.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/notify_knl.c 2010-02-09 17:47:12.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/signal.h>
+ #include <linux/kernel.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/sync.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/sync.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/2.6.18/sync.c       2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/2.6.18/sync.c       2010-02-09 17:47:39.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/prcs.c      2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/prcs.c      2010-02-09 17:45:44.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/module.h>
+ #include <linux/mm.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/print.c     2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/print.c     2010-02-09 17:45:30.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <stdarg.h>
+ #include <linux/types.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/osal/Linux/user.c      2009-11-13 12:12:47.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/osal/Linux/user.c      2010-02-09 17:46:07.000000000 +0000
+@@ -22,7 +22,12 @@
+ /*  ----------------------------------- OS Specific Headers         */
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/timer.h>
+ #include <linux/sched.h>
+diff -uNr dsplink_linux_1_64a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c dsplink_linux_1_64b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c
+--- dsplink_linux_1_64a/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c   2009-11-13 12:12:48.000000000 +0000
++++ dsplink_linux_1_64b/dsplink/gpp/src/pmgr/Linux/2.6.18/drv_pmgr.c   2010-02-09 17:40:59.000000000 +0000
+@@ -33,7 +33,11 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ #include <linux/device.h>
+ #endif
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
++#include <generated/autoconf.h>
++#else
+ #include <linux/autoconf.h>
++#endif
+ #include <linux/spinlock.h>
+ #include <linux/module.h>
+ #include <linux/init.h>
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-loadmodules.sh
new file mode 100755 (executable)
index 0000000..9cfb19d
--- /dev/null
@@ -0,0 +1,25 @@
+#
+# Default Memory Map - for OMAP3530 dsplink examples
+#
+# Start Addr    Size    Description
+# -------------------------------------------
+# 0x80000000   126 MB   Linux
+# 0x87E00000     2 MB   DSPLINK (MEM) + DDR + DSPLINK (RESET)
+
+# sanity check to verify that we're using the right mem=xxM (126M in this case)
+awk '/MemTotal:/ {
+    mem=$2
+
+    if (mem > 126 * 1024)
+        print "Warning! You need to use mem=126M or less on the kernel cmdline"
+
+    printf "You have %dkB total memory for Linux\n", mem
+}' /proc/meminfo
+
+# 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
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-run.sh
new file mode 100755 (executable)
index 0000000..b2f2faa
--- /dev/null
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+echo "Running Loop Sample App"
+./loopgpp loop.out 1024 2000 0
+
+echo "Running Message Sample App"
+./messagegpp message.out 10000 0
+
+echo "Running Message Multi Sample App"
+./messagemultigpp messagemulti.out 128 1 0
+
+echo "Running MultiProcessor List Sample App"
+./mplistgpp mplist.out 128 128 0
+
+echo "Running MultiProcessorCriticalSection Transfer Sample App" 
+./mpcsxfergpp mpcsxfer.out 128 1000 0
+
+echo "Running Ringio Sample App"
+./ringiogpp ringio.out 2048 128 0
+
+echo "Running Scale Sample App"
+./scalegpp scale.out 128 500 0
+
+#echo "Running Read/Write Sample App"
+#./readwritegpp readwrite.out 
diff --git a/recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh b/recipes/ti/ti-dsplink/ti-dsplink-examples-unloadmodules.sh
new file mode 100755 (executable)
index 0000000..48fa84b
--- /dev/null
@@ -0,0 +1,5 @@
+# Unload modules - DSPLINK - OMAP3530
+
+# remove DSP/BIOS Link driver
+rmmod dsplinkk
+#rm -f /dev/dsplink
diff --git a/recipes/ti/ti-dsplink_1.65.00.03.bb b/recipes/ti/ti-dsplink_1.65.00.03.bb
new file mode 100644 (file)
index 0000000..c2ca5d9
--- /dev/null
@@ -0,0 +1,14 @@
+require ti-dsplink.inc
+
+PE = "1"
+PV = "1_65_00_03"
+PV_dot = "1.65.00.03"
+PV_major = "1_65"
+
+PV_DL_PATH = "DSPLink/${PV_major}/${PV}/${PV_dot}"
+
+SRC_URI += "file://dsplink-BKL-fix.patch"
+
+SRC_URI[dsplinktarball.md5sum] = "1bda596b631bd2f517edc70f6be4f2ca"
+SRC_URI[dsplinktarball.sha256sum] = "4b1bda89bd8465b887f5bcdf7b95018bc1d1f8968c0c44f8cbad2a9e1c52bcb7"
+
diff --git a/recipes/ti/ti-edma3lld.inc b/recipes/ti/ti-edma3lld.inc
new file mode 100644 (file)
index 0000000..5895742
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "TI EDMA3 Low Level Driver (LLD)"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/${SRC_URI_edma3lldsite}/edma3_lld"
+SECTION = "devel"
+LICENSE = "TI"
+
+require ti-paths.inc
+require ti-staging.inc
+require ti-eula-unpack.inc
+
+PR = "r1"
+
+S = "${WORKDIR}/edma3_lld_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/${SRC_URI_edma3lldsite}/edma3_lld/edma3-lld-bios5/${PV}/exports/EDMA3_LLD_setuplinux_${PV}.bin;name=edma3lldbin"
+
+BINFILE="EDMA3_LLD_setuplinux_${PV}.bin"
+TI_BIN_UNPK_CMDS="Y:workdir"
+
+do_install() {
+    install -d ${D}${EDMA3_LLD_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${EDMA3_LLD_INSTALL_DIR_RECIPE}
+}
+
diff --git a/recipes/ti/ti-edma3lld_01.11.01.04.bb b/recipes/ti/ti-edma3lld_01.11.01.04.bb
new file mode 100644 (file)
index 0000000..9b03e9b
--- /dev/null
@@ -0,0 +1,9 @@
+require ti-edma3lld.inc
+
+PV = "01_11_01_04"
+
+SRC_URI_edma3lldsite = "sdo_tii/psp"
+
+SRC_URI[edma3lldbin.md5sum] = "b3c41cb946e2e4b94348fc6bcbe30b16"
+SRC_URI[edma3lldbin.sha256sum] = "617db3eadff33a88e3d42818c204f379906da3b312bc120092408043e7e2aaeb"
+
index 1c5a776..3b79c24 100644 (file)
@@ -39,7 +39,14 @@ python ti_bin_do_unpack() {
     os.chmod(binfile, 0755)
 
     # Run the InstallJammer binary and accept the EULA
-    filename = "HOME=%s ./%s" % (workdir, binfile)
+    filename = "HOME=%s ./%s --mode console" % (workdir, binfile)
+    
+    # Test executable by printing installer version or help screen (--version currently broken for some installers) 
+    # - this is currently broken in some IJ installers - comment out for now
+    #if os.system(filename + " --version") != 0:
+    #   print "ERROR: ti-eula-unpack: failed to execute binary installer"
+    #   raise bb.build.FuncFailed()
     f = os.popen(filename,'w')
     for cmd in cmd_list:
         if cmd == "workdir":
@@ -53,8 +60,10 @@ python ti_bin_do_unpack() {
     tarfile  = bb.data.getVar('TARFILE', localdata)    
     if bool(tarfile) == True:
         tarfile  = bb.data.expand(tarfile, localdata)
-        tcmd = 'tar xz --no-same-owner -f %s -C %s' % (tarfile, workdir)
-        os.system(tcmd)
+        tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir)
+        if os.system(tcmd) != 0:
+            print "ERROR: ti-eula-unpack: failed to extract tarfile"
+            raise bb.build.FuncFailed()
 
     # Return to the previous directory
     os.chdir(save_cwd)
index cd8a561..ac214f5 100644 (file)
@@ -1,23 +1,19 @@
-DESCRIPTION = "Framework Components for TI ARM/DSP processors"
-
-SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/${PV}/exports/framework_components_${PV}.tar.gz"
+DESCRIPTION = "TI Framework Components"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc"
+SECTION = "devel"
+LICENSE = "BSD"
 
 require ti-paths.inc
+require ti-staging.inc
 
-S = "${WORKDIR}/framework_components_${PV}"
+PR = "r1"
 
-# compile time dependencies
-DEPENDS += "ti-xdctools-native ti-xdais-native ti-linuxutils"
+S = "${WORKDIR}/framework_components_${PV}"
 
-do_compile () {
-        echo "! Do not rebuild for now !"
-}
+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"
 
-# stage tree - other packages may need this
-do_stage() {
-    install -d ${FC_INSTALL_DIR}
-    cp -pPrf ${S}/* ${FC_INSTALL_DIR}
+do_install() {
+    install -d ${D}${FC_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${FC_INSTALL_DIR_RECIPE}
 }
 
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes/ti/ti-framework-components_2.25.00.04.bb b/recipes/ti/ti-framework-components_2.25.00.04.bb
deleted file mode 100644 (file)
index 5ca4704..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require ti-framework-components.inc
-
-PV = "2_25_00_04"
-
-
diff --git a/recipes/ti/ti-framework-components_2.26.00.01.bb b/recipes/ti/ti-framework-components_2.26.00.01.bb
new file mode 100644 (file)
index 0000000..b7ea9b8
--- /dev/null
@@ -0,0 +1,8 @@
+require ti-framework-components.inc
+
+PV = "2_26_00_01"
+
+SRC_URI[fctarball.md5sum] = "40b51cade2f9ae6e6f6dca73c17065af"
+SRC_URI[fctarball.sha256sum] = "3f7a12a51dfe87310828a31518d7ef8f9039e59269c0ca24f74a68433c235048"
+
+
index b1f876d..45b356f 100644 (file)
@@ -1,14 +1,17 @@
 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 "
 
 S = "${WORKDIR}/linuxutils_${PV}"
 
-require ti-multimedia-common.inc
+require ti-paths.inc
+require ti-staging.inc
 
 #This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "a"
+MACHINE_KERNEL_PR_append = "d"
 
 inherit module
 
@@ -17,9 +20,11 @@ do_compile() {
 
     case ${SOC_FAMILY} in 
     dm365)
-            modules="cmem edma";;
+            modules="cmem edma irq";;
     omap3)
             modules="cmem sdma";;
+       dm355)
+            modules="cmem edma irq";;
     *)
             modules="cmem"
     esac
@@ -48,7 +53,7 @@ do_install () {
       EXEC_DIR="${D}${installdir}/ti-linuxutils-app/cmem-app" \
       install
     # Install EDMA
-    if [ ${SOC_FAMILY} == "dm365" ] ; then
+    if [ ${SOC_FAMILY} = "dm365" ] ; then
         cd ${S}/packages/ti/sdo/linuxutils/edma/apps
         make \
          LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
@@ -57,14 +62,15 @@ do_install () {
          EXEC_DIR="${D}${installdir}/ti-linuxutils-app/edma-app" \
          install
     fi
-}
 
-# stage tree - other packages may need this
-do_stage() {
-    install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/
+    # 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 \
@@ -79,4 +85,4 @@ 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"
-INHIBIT_PACKAGE_STRIP = "1"
+PACKAGE_STRIP = "no"
diff --git a/recipes/ti/ti-linuxutils/linuxutils-BKL-fix-2.patch b/recipes/ti/ti-linuxutils/linuxutils-BKL-fix-2.patch
new file mode 100644 (file)
index 0000000..1438003
--- /dev/null
@@ -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(&current->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;
diff --git a/recipes/ti/ti-linuxutils/linuxutils-BKL-fix.patch b/recipes/ti/ti-linuxutils/linuxutils-BKL-fix.patch
new file mode 100644 (file)
index 0000000..29b0a44
--- /dev/null
@@ -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(&current->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
+ };
diff --git a/recipes/ti/ti-linuxutils_2.25.01.06.bb b/recipes/ti/ti-linuxutils_2.25.01.06.bb
deleted file mode 100644 (file)
index a75fdba..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-require ti-linuxutils.inc
-
-PV = "2_25_01_06"
diff --git a/recipes/ti/ti-linuxutils_2.26.01.02.bb b/recipes/ti/ti-linuxutils_2.26.01.02.bb
new file mode 100644 (file)
index 0000000..2a67e6a
--- /dev/null
@@ -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"
+
diff --git a/recipes/ti/ti-local-power-manager.inc b/recipes/ti/ti-local-power-manager.inc
new file mode 100644 (file)
index 0000000..ed46c46
--- /dev/null
@@ -0,0 +1,130 @@
+DESCRIPTION = "TI Local Power Manager (LPM)"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/lpm"
+SECTION = "devel"
+LICENSE = "GPLv2"
+
+# TODO : Hardcoded path to evm3530 - need to fix when adding omap24xx/dm6446 (other lpm targets)
+
+require ti-paths.inc
+require ti-staging.inc
+
+PROVIDES = "ti-lpm-module"
+PROVIDES += "ti-lpm-utils"
+
+# This package builds a kernel module, use kernel PR as base and append a local version
+PR = "${MACHINE_KERNEL_PR}"
+PR_append = "e"
+
+S = "${WORKDIR}/local_power_manager_linux_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/lpm/${PV}/exports/local_power_manager_linux_${PV}.tar.gz;name=lpmtarball"
+
+DEPENDS = "ti-dsplink ti-xdctools"
+DEPENDS += "virtual/kernel"
+
+# SOC_FAMILY configuration
+
+LPMDSPPOWERSOC_omap3  = "omap3530"
+LPMDSPPOWERSOC_dm6446 = "dm6446"
+LPMDSPPOWERSOC       ?= "<UNDEFINED_LPMDSPPOWERSOC>"
+
+XDC_PLATFORM_dm6446   = "ti.platforms.evmDM6446"
+XDC_PLATFORM_omap3    = "ti.platforms.evm3530"
+XDC_PLATFORM         ?= "<UNDEFINED_XDC_PLATFORM>"
+
+do_configure () {
+
+    # Generate a config.bld for XDC
+
+    cat > ${S}/config.bld <<EOF
+
+/* Generated by ti-local-power-manager.inc OE recipe */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+
+var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
+GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
+GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing ";
+GCArmv5T.lnkOpts.suffix = GCArmv5T.lnkOpts.suffix.replace("-lstdc++", "");
+GCArmv5T.lnkOpts.suffix += " -lpthread ";
+GCArmv5T.platform = null;
+GCArmv5T.platforms = [
+    "${XDC_PLATFORM}"
+];
+
+/* remove profiles we don't use */
+delete GCArmv5T.profiles["coverage"];
+delete GCArmv5T.profiles["profile"];
+
+Build.targets.\$add(GCArmv5T);
+EOF
+
+}
+
+do_prepsources () {
+
+    # Prepare the tree for rebuiling - generate makefiles and clean
+    XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc .make -PR .
+    XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc clean -PR .
+}
+
+addtask prepsources after do_configure before do_compile
+
+do_compile () {
+
+    # Build the LPM kernel module
+    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+    cd ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm
+    make \
+      DSPLINK_REPO="${LINK_INSTALL_DIR}" \
+      LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+      MVTOOL_PREFIX="${TARGET_PREFIX}" \
+      clean default
+
+    # Build the user space library
+    # TODO
+
+    # Build the utilities (lpmON/OFF)
+    cd ${S}
+    XDCPATH=${S} ${XDC_INSTALL_DIR}/xdc -PR .
+}
+
+KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
+
+do_install () {
+
+    # Install the kernel module 
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+    install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+
+    # Install the Utilities
+    install -d ${D}/${installdir}/ti-lpm-utils
+    install -m 0755 ${S}/packages/ti/bios/power/utils/bin/$(echo ${XDC_PLATFORM} | sed s:\\.:_:g)/linux/release/* ${D}/${installdir}/ti-lpm-utils
+
+    # Install/Stage the Source Tree 
+    install -d ${D}${LPM_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${LPM_INSTALL_DIR_RECIPE}
+}
+
+PACKAGES += "ti-lpm-module"
+FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
+RDEPENDS_ti-lpm-module += "ti-dsplink-module"
+RDEPENDS_ti-lpm-module += "update-modules"
+
+pkg_postinst_ti-lpm-module_append () {
+        if [ -n "$D" ]; then
+                exit 1
+        fi
+        depmod -a
+        update-modules || true
+}
+
+pkg_postrm_ti-lpm-module_append () {
+        update-modules || true
+}
+
+PACKAGES += "ti-lpm-utils"
+RDEPENDS_ti-lpm-utils += "ti-lpm-module"
+FILES_ti-lpm-utils = "${installdir}/ti-lpm-utils/*"
+INSANE_SKIP_ti-lpm-utils = True
diff --git a/recipes/ti/ti-local-power-manager/lpm-BKL-fix.patch b/recipes/ti/ti-local-power-manager/lpm-BKL-fix.patch
new file mode 100644 (file)
index 0000000..4b5a537
--- /dev/null
@@ -0,0 +1,72 @@
+From b7e83000f316f5f109b9237fde4d1c576534aa1a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 4 Jan 2011 14:21:02 +0100
+Subject: [PATCH] Fix build with 2.6.37rcX
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ .../bios/power/modules/omap3530/lpm/lpm_driver.c   |   12 +++++++++---
+ 1 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
+index fa22ea3..4663fc9 100644
+--- a/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
++++ b/packages/ti/bios/power/modules/omap3530/lpm/lpm_driver.c
+@@ -40,6 +40,7 @@
+ #include <asm/semaphore.h>
+ #endif
+ #include <linux/io.h>
++#include <linux/slab.h>
+ #include "lpm_driver.h"
+ #include "lpm_dev.h"
+@@ -95,7 +96,7 @@ static int enablevicp = -1;
+ module_param(enablevicp, int, S_IRUGO);
+ /* forward declaration of system calls (used by Linux driver) */
+-static int lpm_ioctl    (struct inode *inode, struct file *filp,
++static long lpm_ioctl    (struct file *filp,
+                          unsigned int cmd, unsigned long args);
+ static int lpm_open     (struct inode *inode, struct file *filp);
+ static int lpm_release  (struct inode *inode, struct file *filp);
+@@ -111,7 +112,7 @@ static void       lpm_os_trace  (char *fmt, ...);
+ static struct file_operations lpm_fops = {
+     .owner =    THIS_MODULE,
+-    .ioctl =    lpm_ioctl,
++    .unlocked_ioctl = lpm_ioctl,
+     .open =     lpm_open,
+     .release =  lpm_release,
+ };
+@@ -244,7 +245,11 @@ static int __init lpm_init(void)
+         lpm->inst[i].major = MAJOR(lpm->first);
+         lpm->inst[i].minor = MINOR(lpm->first) + i;
+         INIT_LIST_HEAD(&lpm->inst[i].clients);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36)
+         init_MUTEX(&lpm->inst[i].sem);
++#else
++        sema_init(&lpm->inst[i].sem,1);
++#endif
+         init_completion(&lpm->inst[i].event);
+         lpm_devAttrs.os_instance = (void *)&lpm->inst[i];
+         LPM_init(i, &lpm->inst[i].lpm, &lpm_devAttrs);
+@@ -320,7 +325,7 @@ fail_02:
+ /*
+  *  ======== lpm_ioctl ========
+  */
+-static int lpm_ioctl(struct inode *inode, struct file *filp,
++static long lpm_ioctl(struct file *filp,
+                      unsigned int cmd, unsigned long args)
+ {
+     struct LPM_Dev     *dev;
+@@ -328,6 +333,7 @@ static int lpm_ioctl(struct inode *inode, struct file *filp,
+     LPM_Client         *client;
+     LPM_Status          lpmStat = LPM_SOK;
+     int                 stat = 0;
++    struct inode *inode = filp->f_dentry->d_inode;
+     TRACE(KERN_ALERT "--> lpm_ioctl, cmd: 0x%X\n", cmd);
+-- 
+1.6.6.1
+
diff --git a/recipes/ti/ti-local-power-manager_1.24.02.09.bb b/recipes/ti/ti-local-power-manager_1.24.02.09.bb
new file mode 100644 (file)
index 0000000..759561f
--- /dev/null
@@ -0,0 +1,10 @@
+require ti-local-power-manager.inc
+
+PV = "1_24_02_09"
+PE = "1"
+
+SRC_URI += "file://lpm-BKL-fix.patch"
+
+SRC_URI[lpmtarball.md5sum] = "3d05453df26dfc811de04839d74c2f2b" 
+SRC_URI[lpmtarball.sha256sum] = "7335959a6217df17289f81839e6c6948f31cc0797ebc5389edef7190ed3ea589"
+
diff --git a/recipes/ti/ti-lpm-module_2.24.01.bb b/recipes/ti/ti-lpm-module_2.24.01.bb
deleted file mode 100644 (file)
index 32bc02b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "LPM module for TI OMAP3 processors"
-
-DEPENDS = "ti-linuxutils"
-
-# tconf breaks with '.' in PWD
-PV = "2_24_01"
-
-SRC_URI = "http://install.source.dir.local/local_power_manager_1_24.tar.gz"
-
-# Set the source directory
-S = "${WORKDIR}/local_power_manager_1_24"
-
-require ti-paths.inc
-
-#This is a kernel module, don't set PR directly
-MACHINE_KERNEL_PR_append = "a"
-
-inherit module
-
-do_compile () {
-    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
-    cd ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm
-    make \
-      DSPLINK_REPO="${DSPLINK}/.." \
-      LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
-      MVTOOL_PREFIX="${TARGET_PREFIX}" \
-      clean default
-}
-
-do_install () {
-    # LPM/CMEM/SDMA drivers - kernel modules
-    install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-          install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
-}
-
-RDEPENDS_${PN} += " ti-dsplink-module"
-
-FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
-
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes/ti/ti-paths-old.inc b/recipes/ti/ti-paths-old.inc
new file mode 100644 (file)
index 0000000..3a9eb3d
--- /dev/null
@@ -0,0 +1,52 @@
+# To build the DSP applications you need to have DSP/BIOS, xdctools and codegen installed. Get these from:
+# https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/sabios-j05/bios_setuplinux_5_33_02.bin
+# https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10_03/exports/xdctools_setuplinux_3_10_03.bin
+# https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html
+# Back link for above:
+# https://www-a.ti.com/downloads/sds_support/targetcontent/index.html
+
+# export some more variable to point to external TI tools
+# information is duplicated between the js and make based tools
+
+require ti-multimedia-common.inc
+
+export PLATFORM
+
+export CROSS_COMPILE = "${CROSS_DIR}/bin/${TARGET_PREFIX}"
+
+# This tells codec engine which targets to build
+DEVICES ?= "DM6446"
+DEVICES_omap3 = "OMAP3530"
+DEVICES_dm6446 = "DM6446"
+
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKPLATFORM_dm6446 = "DAVINCI"
+
+PLATFORM ?= "dm6446"
+PLATFORM_dm6446 = "dm6446"
+
+DSPLINKDSP ?= "C64XX"
+
+DSPLINKSOC ?= "DM6446"
+
+DSPCFG ?= "DM6446GEMSHMEM"
+
+GPPOS ?= "LINUX_GCC"
+
+export DEVICES
+export DSPLINKPLATFORM
+export DSPLINKDSP
+export DSPLINKSOC
+export DSPCFG
+export GPPOS
+export PLATFORM
+export LPMDSPPOWERSOC
+
+DSPPOWERSOC ?= "dm6446"
+
+export CODEC ?= "${CODEC_INSTALL_DIR}"
+
+export DSPLINK = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module/packages/dsplink/"
+
+installdir = "${datadir}/ti"
+
index 3a9eb3d..755fcf1 100644 (file)
@@ -1,52 +1,56 @@
-# To build the DSP applications you need to have DSP/BIOS, xdctools and codegen installed. Get these from:
-# https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/sabios-j05/bios_setuplinux_5_33_02.bin
-# https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10_03/exports/xdctools_setuplinux_3_10_03.bin
-# https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html
-# Back link for above:
-# https://www-a.ti.com/downloads/sds_support/targetcontent/index.html
-
-# export some more variable to point to external TI tools
-# information is duplicated between the js and make based tools
-
-require ti-multimedia-common.inc
-
-export PLATFORM
-
-export CROSS_COMPILE = "${CROSS_DIR}/bin/${TARGET_PREFIX}"
-
-# This tells codec engine which targets to build
-DEVICES ?= "DM6446"
-DEVICES_omap3 = "OMAP3530"
-DEVICES_dm6446 = "DM6446"
-
-DSPLINKPLATFORM ?= "DAVINCI"
-DSPLINKPLATFORM_dm6446 = "DAVINCI"
-
-PLATFORM ?= "dm6446"
-PLATFORM_dm6446 = "dm6446"
-
-DSPLINKDSP ?= "C64XX"
-
-DSPLINKSOC ?= "DM6446"
-
-DSPCFG ?= "DM6446GEMSHMEM"
-
-GPPOS ?= "LINUX_GCC"
-
-export DEVICES
-export DSPLINKPLATFORM
-export DSPLINKDSP
-export DSPLINKSOC
-export DSPCFG
-export GPPOS
-export PLATFORM
-export LPMDSPPOWERSOC
-
-DSPPOWERSOC ?= "dm6446"
-
-export CODEC ?= "${CODEC_INSTALL_DIR}"
-
-export DSPLINK = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module/packages/dsplink/"
-
 installdir = "${datadir}/ti"
 
+# This is where do_install will put it
+export CODEGEN_INSTALL_DIR_RECIPE    = "${installdir}/ti-cgt6x-tree"
+export XDC_INSTALL_DIR_RECIPE        = "${installdir}/ti-xdctools-tree"
+export XDAIS_INSTALL_DIR_RECIPE      = "${installdir}/ti-xdais-tree"
+export BIOS_INSTALL_DIR_RECIPE       = "${installdir}/ti-dspbios-tree"
+export SYSBIOS_INSTALL_DIR_RECIPE    = "${installdir}/ti-sysbios-tree"
+export BIOSUTILS_INSTALL_DIR_RECIPE  = "${installdir}/ti-biosutils-tree"
+export FC_INSTALL_DIR_RECIPE         = "${installdir}/ti-framework-components-tree"
+export FC3_INSTALL_DIR_RECIPE        = "${installdir}/ti-framework-components3-tree"
+export CE_INSTALL_DIR_RECIPE         = "${installdir}/ti-codec-engine-tree"
+export EDMA3_LLD_INSTALL_DIR_RECIPE  = "${installdir}/ti-edma3lld-tree"
+export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE  = "${installdir}/ti-edma3lld-sysbios-tree"
+export LINUXUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
+export CMEM_INSTALL_DIR_RECIPE       = "${installdir}/ti-linuxutils-tree"
+export LINK_INSTALL_DIR_RECIPE       = "${installdir}/ti-dsplink-tree"
+export SYSLINK_INSTALL_DIR_RECIPE    = "${installdir}/ti-syslink-tree"
+export IPC_INSTALL_DIR_RECIPE        = "${installdir}/ti-ipc-tree"
+export LPM_INSTALL_DIR_RECIPE        = "${installdir}/ti-local-power-manager-tree"
+export DMAI_INSTALL_DIR_RECIPE       = "${installdir}/ti-dmai-tree"
+export CODEC_INSTALL_DIR_RECIPE      = "${installdir}/ti-codecs-tree"
+export DSPLIB_INSTALL_DIR_RECIPE     = "${installdir}/ti-dsplib-tree"
+export DVSDK_DEMOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dvsdk-demos-tree"
+export BIOSPSP_INSTALL_DIR_RECIPE    = "${installdir}/ti-biospsp-tree"
+export AUDIO_SOC_INSTALL_DIR_RECIPE  = "${installdir}/ti-audio-soc-example-tree"
+export C6ACCEL_INSTALL_DIR_RECIPE    = "${installdir}/ti-c6accel-tree"
+
+# This is where the tools will end up in staging provided PACKAGE_ARCH = ${MACHINE_ARCH} is set
+export CODEGEN_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEGEN_INSTALL_DIR_RECIPE}"
+export XDC_INSTALL_DIR        = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${XDC_INSTALL_DIR_RECIPE}"
+export XDAIS_INSTALL_DIR      = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${XDAIS_INSTALL_DIR_RECIPE}"
+export BIOS_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${BIOS_INSTALL_DIR_RECIPE}"
+export SYSBIOS_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${SYSBIOS_INSTALL_DIR_RECIPE}"
+export BIOSUTILS_INSTALL_DIR  = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${BIOSUTILS_INSTALL_DIR_RECIPE}"
+export FC_INSTALL_DIR         = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${FC_INSTALL_DIR_RECIPE}"
+export FC3_INSTALL_DIR        = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${FC3_INSTALL_DIR_RECIPE}"
+export CE_INSTALL_DIR         = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CE_INSTALL_DIR_RECIPE}"
+export EDMA3_LLD_INSTALL_DIR  = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${EDMA3_LLD_INSTALL_DIR_RECIPE}"
+export EDMA3_LLD_SYSBIOS_INSTALL_DIR  = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}"
+export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LINUXUTILS_INSTALL_DIR_RECIPE}"
+export CMEM_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CMEM_INSTALL_DIR_RECIPE}"
+export LINK_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LINK_INSTALL_DIR_RECIPE}"
+export SYSLINK_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${SYSLINK_INSTALL_DIR_RECIPE}"
+export IPC_INSTALL_DIR        = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${IPC_INSTALL_DIR_RECIPE}"
+export LPM_INSTALL_DIR        = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LPM_INSTALL_DIR_RECIPE}"
+export DMAI_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DMAI_INSTALL_DIR_RECIPE}"
+export CODEC_INSTALL_DIR      = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEC_INSTALL_DIR_RECIPE}"
+export DSPLIB_INSTALL_DIR     = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DSPLIB_INSTALL_DIR_RECIPE}"
+export BIOSPSP_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${BIOSPSP_INSTALL_DIR_RECIPE}"
+export C6ACCEL_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${C6ACCEL_INSTALL_DIR_RECIPE}"
+
+DSPSUFFIX_omapl137 = "x674"
+DSPSUFFIX_omapl138 = "x674"
+DSPSUFFIX ?= "x64P"
+
diff --git a/recipes/ti/ti-staging.inc b/recipes/ti/ti-staging.inc
new file mode 100644 (file)
index 0000000..16f9858
--- /dev/null
@@ -0,0 +1,18 @@
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Allow staging into machine specific dir
+BASEPKG_HOST_SYS = "${MULTIMACH_HOST_SYS}"
+
+# Search archdir for shlibs instead of machine dir due to above BASEPKG_HOST_SYS
+SHLIBSDIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}/shlibs"
+
+PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}/${libdir}/pkgconfig"
+export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
+PKG_CONFIG_PATH .= ":${STAGING_LIBDIR_NATIVE}/pkgconfig:${STAGING_DATADIR_NATIVE}/pkgconfig"
+
+PACKAGE_STRIP = "no"
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dev = "1"
+
+
diff --git a/recipes/ti/ti-xdais-native_6.23.bb b/recipes/ti/ti-xdais-native_6.23.bb
deleted file mode 100644 (file)
index 9cf839c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-require ti-xdais.inc
-
-PV = "6_23"
-
-inherit native
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/ti-xdais
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/ti-xdais
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL="1"
-
index 4816ee2..c46e08f 100644 (file)
@@ -1,10 +1,19 @@
-DESCRIPTION = "TI DSP Algorithm Interface Standard specification"
+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"
 
-PVEXTENSION  ?= ""
-BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais/${PV}/exports"
+require ti-paths.inc
+require ti-staging.inc
 
-SRC_URI        = "${BASE_SRC_URI}/xdais_${PV}${PVEXTENSION}.tar.gz"
+PR = "r1"
 
-S = "${WORKDIR}/xdais_${PV}${PVEXTENSION}"
+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}
+} 
 
diff --git a/recipes/ti/ti-xdais_7.20.00.07.bb b/recipes/ti/ti-xdais_7.20.00.07.bb
new file mode 100644 (file)
index 0000000..8e9c990
--- /dev/null
@@ -0,0 +1,7 @@
+require ti-xdais.inc
+
+PV = "7_20_00_07"
+
+SRC_URI[xdaistarball.md5sum] = "3f3080e7b63dfb5d8d21654a6690cba3"
+SRC_URI[xdaistarball.sha256sum] = "bd64cf052d186b228c9ea26fec60d59527877a3e216fc82d76639bc3043ca275"
+
diff --git a/recipes/ti/ti-xdctools-native_3.15.01.59.bb b/recipes/ti/ti-xdctools-native_3.15.01.59.bb
deleted file mode 100644 (file)
index ee34a5e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-inherit native
-
-BASE_PV = "3_15"
-PV = "3_15_01_59"
-
-require ti-xdctools.inc
-
-do_stage() {
-    install -d ${STAGING_DIR_NATIVE}/${PN}
-    cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN}
-        chmod 755 -R  ${STAGING_DIR_NATIVE}/${PN}
-        chmod 755 -R  ${S}
-}
-
-AUTOTOOLS_NATIVE_STAGE_INSTALL="1"
-
index 5d29436..4b451cf 100644 (file)
@@ -1,12 +1,63 @@
-DESCRIPTION = "TI XDC tool"
+DESCRIPTION = "TI XDCtools (RTSC - Real Time Software Components - http://rtsc.eclipse.org)"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc"
+SECTION = "devel"
+LICENSE = "BSD, GPLv2"
 
-SRC_URI        = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/xdctools_${BASE_PV}/exports/xdctools_setuplinux_${PV}.bin"
-BINFILE="xdctools_setuplinux_${PV}.bin"
+PR = "r2"
+
+require ti-paths.inc
+require ti-staging.inc
+require ti-eula-unpack.inc
 
 S = "${WORKDIR}/xdctools_${PV}"
 
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdctools_setuplinux_${PV}.bin;name=xdcbin"
+
+BINFILE="xdctools_setuplinux_${PV}.bin"
 TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
 
-require ti-eula-unpack.inc
+do_install() {
+    install -d ${D}${XDC_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${XDC_INSTALL_DIR_RECIPE}
+}
 
+# Prevent internal libs from getting picked up
+PRIVATE_LIBS = " \
+libncdb.so \
+libcdb.so \
+libjavaplugin_oji.so \
+libjavaplugin_jni.so \
+libjsound.so \
+libinstrument.so \
+libjawt.so \
+libzip.so \
+libjava_crw_demo.so \
+libjavaplugin_nscp_gcc29.so \
+libhprof.so \
+libcmm.so \
+libjdwp.so \
+libmlib_image.so \
+libjpeg.so \
+libverify.so \
+libjavaplugin_nscp.so \
+libmanagement.so \
+libunpack.so \
+librmi.so \
+libJdbcOdbc.so \
+libawt.so \
+libnet.so \
+libjaas_unix.so \
+libnio.so \
+libdcpr.so \
+libioser12.so \
+libjsoundalsa.so \
+libjava.so \
+libfontmanager.so \
+libdt_socket.so \
+libmawt.so \
+libjvm.so \
+libhpi.so \
+lib.so \
+libcairo.so.2 \
+"
 
diff --git a/recipes/ti/ti-xdctools/fix-hardcoded-paths.diff b/recipes/ti/ti-xdctools/fix-hardcoded-paths.diff
new file mode 100644 (file)
index 0000000..36142c4
--- /dev/null
@@ -0,0 +1,21 @@
+diff -ur a/packages/gnu/targets/ITarget.xs b/packages/gnu/targets/ITarget.xs
+--- a/packages/gnu/targets/ITarget.xs  2011-08-06 13:24:44.000000000 +0200
++++ b/packages/gnu/targets/ITarget.xs  2011-08-06 13:23:37.000000000 +0200
+@@ -251,7 +251,7 @@
+     function askLd(target)
+     {
+-        var ldCmd = target.rootDir + "/" + target.GCCTARG + "/bin/ld";
++        var ldCmd = target.rootDir + "/" + target.GCCTARG + "-ld";
+         /* If the ld executable cannot be found, and the prefix is not used,
+          * it's probably a misspelled directory path.
+          */
+@@ -486,7 +486,7 @@
+     tool2cmd["link"] = cmd;
+     /* define the ar command template */
+-    cmd  = prefix + target.ar.cmd
++    cmd  = prefix + target.GCCTARG + "-ar"
+         + " $(AROPTS_P) " + target.ar.opts
+         + " $@ $(AROPTS_S) $(aropts) $(files)";
+     tool2cmd["ar"] = cmd;
diff --git a/recipes/ti/ti-xdctools_3.23.00.32.bb b/recipes/ti/ti-xdctools_3.23.00.32.bb
new file mode 100644 (file)
index 0000000..b2db76c
--- /dev/null
@@ -0,0 +1,11 @@
+require ti-xdctools.inc
+
+PV = "3_23_00_32"
+LIC_FILES_CHKSUM = "file://docs/license/xdc/shelf/package.html;md5=49b2dfbf48860a0da844709c3ce63a9c"
+
+SRC_URI += "file://fix-hardcoded-paths.diff"
+
+SRC_URI[xdcbin.md5sum] = "263aa11795670265551d36a8c77ad27d"
+SRC_URI[xdcbin.sha256sum] = "880b4e263850f2a3c0ea7352c5b6e0a86692361e26634c3b70dddc42c71231a5"
+
+S = "${WORKDIR}/ti/xdctools_${PV}"