--- /dev/null
+DESCRIPTION = "CMEM module for TI ARM/DSP processors"
+inherit module
+
+# compile and run time dependencies
+DEPENDS = "virtual/kernel perl-native"
+RDEPENDS = "update-modules"
+
+SRC_URI = "http://install.source.dir.com/codec_engine_2_24_01.tar.gz \
+ file://cmem-remove-show-pte-function.patch;patch=1 "
+
+# Set the source directory
+S = "${WORKDIR}/codec_engine_2_24_01"
+
+#This is a kernel module, don't set PR directly
+MACHINE_KERNEL_PR_append = "a"
+
+PV = "2241"
+
+do_compile() {
+ # 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
+
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ clean debug release
+}
+
+do_install () {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem/apps
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ EXEC_DIR="${D}${prefix}/ti/ti-cmem-apps" \
+ install
+}
+
+pkg_postinst () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm () {
+ update-modules || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko"
+PACKAGES += " ti-cmem-apps"
+FILES_ti-cmem-apps = "${prefix}/ti/ti-cmem-apps/*"
+INSANE_SKIP_ti-cmem-apps = True
+
+
--- /dev/null
+DESCRIPTION = "LPM module for TI OMAP3 processors"
+
+inherit module
+# compile and run time dependencies
+DEPENDS = " virtual/kernel perl-native ti-dsplink-module"
+
+#This is a kernel module, don't set PR directly
+MACHINE_KERNEL_PR_append = "a"
+
+PV = "2241"
+
+# LPM seems to be missing from 2.24.01
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://install.source.dir.com/codec_engine_2_24_01.tar.gz "
+
+# Set the source directory
+S = "${WORKDIR}/codec_engine_2_24_01"
+
+export DSPLINK="${S}/cetools/packages/dsplink"
+
+LPMDSPPOWERSOC ?= "omap3530"
+LPMDSPPOWERSOC_omap3evm ?= "omap3530"
+LPMDSPPOWERSOC_beagleboard ?= "omap3530"
+
+do_compile () {
+ # 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
+
+ cd ${S}/cetools/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}/cetools/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+}
+
+
+pkg_postinst () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm () {
+ update-modules || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko"
+RDEPENDS += " ti-dsplink-module"
+
--- /dev/null
+DESCRIPTION = "SDMA module for TI OMAP3 processors"
+
+inherit module
+# compile and run time dependencies
+DEPENDS = "virtual/kernel perl-native"
+
+#This is a kernel module, don't set PR directly
+MACHINE_KERNEL_PR_append = "a"
+
+PV = "2241"
+
+SRC_URI = "http://install.source.dir.com/codec_engine_2_24_01.tar.gz "
+
+# Set the source directory
+S = "${WORKDIR}/codec_engine_2_24_01"
+
+do_compile() {
+ # SDMA - Build the sdma module
+ # 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
+
+ cd ${S}/cetools/packages/ti/sdo/linuxutils/sdma
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ clean debug release
+}
+
+do_install () {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+}
+
+pkg_postinst () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -a
+ update-modules || true
+}
+
+pkg_postrm () {
+ update-modules || true
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdmak.ko"
+