summaryrefslogtreecommitdiffstats
path: root/bsp/meta-ti/recipes-ti
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-ti/recipes-ti
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'bsp/meta-ti/recipes-ti')
-rw-r--r--bsp/meta-ti/recipes-ti/README1
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes.bb26
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh14
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.service11
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.sh22
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/beaglebone-getting-started.bb20
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init.bb60
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules1
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-load.sh46
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh10
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh4
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/network-gadget-init.service11
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service11
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.conf5
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.rules2
-rw-r--r--bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.service12
-rwxr-xr-xbsp/meta-ti/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh37
-rw-r--r--bsp/meta-ti/recipes-ti/bios/ti-biosutils.inc18
-rw-r--r--bsp/meta-ti/recipes-ti/bios/ti-biosutils_1.02.02.bb12
-rw-r--r--bsp/meta-ti/recipes-ti/bios/ti-dspbios.inc25
-rw-r--r--bsp/meta-ti/recipes-ti/bios/ti-sysbios.inc29
-rw-r--r--bsp/meta-ti/recipes-ti/bios/ti-sysbios_6.75.02.00.bb15
-rw-r--r--bsp/meta-ti/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb29
-rw-r--r--bsp/meta-ti/recipes-ti/ctoolslib/libaet_git.bb39
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb23
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi_7-2018-q2-update.bb29
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-aarch64-native.bb23
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-native.bb23
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/gcc-linaro.inc10
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cg-xml_2.61.00.bb40
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm-native_18.12.1.bb6
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm.inc36
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt-pru_2.2.1.bb49
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt470.inc24
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt470_4.6.6.bb8
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt6x-7-native_7.4.16.bb41
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt6x.inc24
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_6.1.20.bb11
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_7.2.7.bb13
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_8.3.2.bb104
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools-common.inc68
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools-core.inc5
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools.inc10
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff19
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools/fix-hardcoded-paths.diff21
-rw-r--r--bsp/meta-ti/recipes-ti/devtools/ti-xdctools_3.51.01.18.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai.inc162
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/arago-tdox210
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gzbin0 -> 8012 bytes
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh37
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh23
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh25
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh19
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh19
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh42
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh19
-rwxr-xr-xbsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh19
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/omap3530-r642-remove-include-videodev.diff64
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/r642-fix-config-bld.diff48
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/remove-unneeded-includes.patch26
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh12
-rw-r--r--bsp/meta-ti/recipes-ti/dmai/ti-dmai_svn.bb43
-rw-r--r--bsp/meta-ti/recipes-ti/dsplib/dsplib-c64xp_git.bb6
-rw-r--r--bsp/meta-ti/recipes-ti/dsplib/dsplib-c66x_git.bb8
-rw-r--r--bsp/meta-ti/recipes-ti/dsplib/dsplib-c674x_git.bb8
-rw-r--r--bsp/meta-ti/recipes-ti/dsplib/dsplib.inc78
-rw-r--r--bsp/meta-ti/recipes-ti/engine-pkcs11/engine-pkcs11_git.bb22
-rw-r--r--bsp/meta-ti/recipes-ti/framework-components/ti-framework-components.inc21
-rw-r--r--bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss.inc20
-rw-r--r--bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss_01.00.01.27.bb7
-rw-r--r--bsp/meta-ti/recipes-ti/imglib/imglib-c66x.inc34
-rw-r--r--bsp/meta-ti/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/includes/ti-eula-unpack.inc15
-rw-r--r--bsp/meta-ti/recipes-ti/includes/ti-paths.inc122
-rw-r--r--bsp/meta-ti/recipes-ti/includes/ti-staging.inc6
-rw-r--r--bsp/meta-ti/recipes-ti/includes/ti-unpack.inc86
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-common-rtos_git.bb23
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-rtos_git.bb23
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-test_git.bb37
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss.inc14
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss_git.bb17
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-rtos_git.bb22
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-test_git.bb32
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio.inc14
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio_git.bb16
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ipc-transport.inc15
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-common.inc21
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples-linux_git.bb47
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples.inc31
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples_git.bb46
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos.inc96
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb141
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc.inc18
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch112
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf1
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service9
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh25
-rw-r--r--bsp/meta-ti/recipes-ti/ipc/ti-ipc_git.bb69
-rw-r--r--bsp/meta-ti/recipes-ti/libp11/libp11_git.bb19
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils.inc93
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix-2.patch22
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch73
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-cmemk-fixes.patch59
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-sdmak-fixes.patch25
-rw-r--r--bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb17
-rw-r--r--bsp/meta-ti/recipes-ti/mathlib/mathlib-c66x_git.bb5
-rw-r--r--bsp/meta-ti/recipes-ti/mathlib/mathlib-c674x_git.bb5
-rw-r--r--bsp/meta-ti/recipes-ti/mathlib/mathlib.inc77
-rw-r--r--bsp/meta-ti/recipes-ti/mpm-transport/mpm-transport_git.bb49
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-rtos_git.bb44
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-test_git.bb34
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr.inc21
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/0001-mpmdlif.c-don-t-hardcode-kernel-s-uapi-location-keys.patch27
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/mpmsrv-daemon.service14
-rw-r--r--bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr_git.bb47
-rw-r--r--bsp/meta-ti/recipes-ti/ndk/ti-ndk.inc20
-rw-r--r--bsp/meta-ti/recipes-ti/ndk/ti-ndk_3.60.00.13.bb16
-rw-r--r--bsp/meta-ti/recipes-ti/ns/ti-ns.inc21
-rw-r--r--bsp/meta-ti/recipes-ti/ns/ti-ns_2.60.00.07.bb14
-rw-r--r--bsp/meta-ti/recipes-ti/openmp-rtos/openmp-rtos_git.bb68
-rw-r--r--bsp/meta-ti/recipes-ti/osal/ti-osal.inc24
-rw-r--r--bsp/meta-ti/recipes-ti/osal/ti-osal_1.24.00.09.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/swtools/swtools_git.bb52
-rw-r--r--bsp/meta-ti/recipes-ti/ti-pdk-build/ti-pdk-build-rtos_git.bb43
-rw-r--r--bsp/meta-ti/recipes-ti/ti-softhsmv2/ti-softhsmv2_git.bb48
-rw-r--r--bsp/meta-ti/recipes-ti/udma/udma_git.bb28
-rw-r--r--bsp/meta-ti/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb39
-rw-r--r--bsp/meta-ti/recipes-ti/vlib/vlib-c66x.inc32
-rw-r--r--bsp/meta-ti/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb9
-rw-r--r--bsp/meta-ti/recipes-ti/xdais/ti-xdais.inc25
-rw-r--r--bsp/meta-ti/recipes-ti/xdais/ti-xdais_6.26.01.03.bb11
-rw-r--r--bsp/meta-ti/recipes-ti/xdais/ti-xdais_7.24.00.04.bb9
134 files changed, 4212 insertions, 0 deletions
diff --git a/bsp/meta-ti/recipes-ti/README b/bsp/meta-ti/recipes-ti/README
new file mode 100644
index 00000000..b32c2842
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/README
@@ -0,0 +1 @@
+Note: some of the packages in this area are not actively maintained.
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes.bb b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes.bb
new file mode 100644
index 00000000..e74033a1
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Userspace setup for beaglebone capes"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+PR = "r4"
+
+inherit allarch
+
+SRC_URI = "file://cape.service \
+ file://cape.sh \
+ file://cape-stop.sh \
+ "
+
+do_install() {
+ install -d ${D}${base_libdir}/systemd/system/
+ install -m 0644 ${WORKDIR}/cape.service ${D}${base_libdir}/systemd/system
+
+ install -d ${D}${base_libdir}/systemd/system/basic.target.wants
+ ln -sf ../cape.service ${D}${base_libdir}/systemd/system/basic.target.wants/
+
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/cape*.sh ${D}${bindir}
+}
+
+FILES_${PN} += "${base_libdir}/systemd/system"
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh
new file mode 100755
index 00000000..222a010d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape-stop.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+for eeprom in /sys/bus/i2c/devices/3-005*/eeprom ; do
+ PARTNUMBER=$(hexdump -e '8/1 "%c"' $eeprom -s 58 -n16)
+ case $PARTNUMBER in
+ "BB-BONE-LCD3-01.")
+ echo "Turning off backlight for LCD3 cape"
+ i2cset -f -y 1 0x24 0x07 0x00;;
+ "BB-BONE-LCD4"*)
+ echo "Turning off backlight for LCD4 cape"
+ i2cset -f -y 1 0x24 0x07 0x00;;
+ *)
+ echo "unknown cape: $PARTNUMBER";;
+ esac
+done
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.service b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.service
new file mode 100644
index 00000000..ce0db719
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Beaglebone cape support
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/cape.sh
+ExecStop=/usr/bin/cape-stop.sh
+
+[Install]
+WantedBy=basic.target
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.sh b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.sh
new file mode 100755
index 00000000..c279349d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-capes/cape.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+for eeprom in /sys/bus/i2c/devices/3-005*/eeprom ; do
+ PARTNUMBER=$(hexdump -e '8/1 "%c"' $eeprom -s 58 -n16)
+ case $PARTNUMBER in
+ "BB-BONE-LCD3-01.")
+ echo "Turning on backlight for LCD3 cape"
+ i2cset -f -y 1 0x24 0x07 0x09
+ i2cset -f -y 1 0x24 0x08 0x60;;
+ "BB-BONE-LCD4"*)
+ echo "Turning on backlight for LCD4 cape"
+ i2cset -f -y 1 0x24 0x07 0x09
+ i2cset -f -y 1 0x24 0x08 0x60;;
+ "BB-BONE-WTHR-01.")
+ echo "Initializing I2C devices"
+ echo sht21 0x40 > /sys/class/i2c-adapter/i2c-3/new_device
+ echo bmp085 0x77 > /sys/class/i2c-adapter/i2c-3/new_device
+ echo tsl2550 0x39 > /sys/class/i2c-adapter/i2c-3/new_device
+ echo 1 > /sys/bus/i2c/devices/3-0039/operating_mode;;
+ *)
+ echo "unknown cape: $PARTNUMBER";;
+ esac
+done
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-getting-started.bb b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-getting-started.bb
new file mode 100644
index 00000000..6c61a4e9
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/beaglebone-getting-started.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "BeagleBone Getting Started Guide"
+
+PR = "r21"
+
+inherit allarch
+
+LICENSE = "GPLv2+ & MIT & PD & others"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=603591dea023c3c75b48e07cb47ce639"
+
+SRCREV = "6c548a307c948b28a99d48fd17d9790b56182196"
+SRC_URI = "git://github.com/jadonk/beaglebone-getting-started.git"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/${PN}
+ cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${datadir}/${PN}
+}
+
+FILES_${PN} += "${datadir}/${PN}"
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init.bb b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init.bb
new file mode 100644
index 00000000..8b899c51
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "Units to initialize usb gadgets"
+
+PR = "r19"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+COMPATIBLE_MACHINE = "(ti33x)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "file://storage-gadget-init.service \
+ file://network-gadget-init.service \
+ file://udhcpd.service \
+ file://udhcpd.conf \
+ file://bone-gmass-eject.rules \
+ file://udhcpd.rules \
+ file://g-storage-reinsert.sh \
+ file://g-ether-start-service.sh \
+ file://g-ether-load.sh \
+ file://update-image-info-on-mmcblk0p1.sh \
+ "
+
+do_install() {
+ install -d ${D}${base_libdir}/systemd/system/basic.target.wants
+ install -m 0644 ${WORKDIR}/*.service ${D}${base_libdir}/systemd/system
+
+ for i in ${WORKDIR}/storage-gadget-init.service ; do
+ install -m 0644 $i ${D}${base_libdir}/systemd/system
+ ln -sf ../$(basename $i) ${D}${base_libdir}/systemd/system/basic.target.wants/
+ done
+
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir}
+
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/*.sh ${D}${bindir}
+}
+
+PACKAGES =+ "${PN}-storage ${PN}-network ${PN}-udhcpd"
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-storage = "${base_libdir}/systemd/system/storage-gadget-init.service \
+ ${base_libdir}/systemd/system/basic.target.wants/storage-gadget-init.service \
+ ${bindir}/g-storage-reinsert.sh \
+ ${bindir}/update-image-info-on-mmcblk0p1.sh \
+ ${sysconfdir}/udev/rules.d/bone-gmass-eject.rules"
+
+FILES_${PN}-network = "${base_libdir}/systemd/system/network-gadget-init.service \
+ ${base_libdir}/systemd/system/basic.target.wants/network-gadget-init.service \
+ ${bindir}/g-ether-load.sh \
+ ${bindir}/g-ether-start-service.sh \
+ ${sysconfdir}/udev/rules.d/udhcpd.rules"
+
+FILES_${PN}-udhcpd = "${base_libdir}/systemd/system/udhcpd.service \
+ ${base_libdir}/systemd/system/basic.target.wants/udhcpd.service \
+ ${sysconfdir}/udhcpd.conf"
+
+RRECOMMENDS_${PN} = "${PN}-storage ${PN}-network ${PN}-udhcpd"
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules
new file mode 100644
index 00000000..ee6f93e2
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/bone-gmass-eject.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="block",ACTION=="change",KERNEL=="mmcblk0p1",RUN+="/usr/bin/g-ether-start-service.sh"
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-load.sh b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-load.sh
new file mode 100755
index 00000000..f9400649
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-load.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+function get_devmem()
+{
+ /usr/bin/devmem2 $1 | grep ": " | cut -d ":" -f 2|cut -d "x" -f 2
+}
+
+function hex_to_mac_addr()
+{
+ addr=$1
+ n=0
+ mac_addr=$(echo ${addr} | while read -r -n2 c; do
+ if [ ! -z "$c" ]; then
+ if [ $n -ne 0 ] ; then
+ echo -n ":${c}"
+ else
+ echo -n "${c}"
+ fi
+ fi
+ n=$(($n+1))
+ done)
+ echo ${mac_addr}
+}
+
+function reverse_bytes()
+{
+ addr=$1
+ New_addr=$(echo ${addr} | while read -r -n2 c; do
+ if [ ! -z "$c" ]; then
+ New_addr=${c}${New_addr}
+ else echo
+ echo ${New_addr}
+ fi
+ done)
+ echo ${New_addr}
+}
+
+DEVMEM_ADDR_LO=$(get_devmem 0x44e10638|bc)
+DEVMEM_ADDR_LO=$(reverse_bytes ${DEVMEM_ADDR_LO})
+
+DEVMEM_ADDR_HI=$(get_devmem 0x44e1063C)
+DEVMEM_ADDR_HI=$(reverse_bytes ${DEVMEM_ADDR_HI})
+
+DEV_ADDR=$(hex_to_mac_addr "${DEVMEM_ADDR_HI}${DEVMEM_ADDR_LO}")
+
+modprobe g_ether host_addr=${DEV_ADDR}
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh
new file mode 100755
index 00000000..6e73b155
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-ether-start-service.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+if [ -a /sys/devices/platform/omap/musb-ti81xx/musb-hdrc.0/gadget/lun0/file ]
+then
+ x=$(cat /sys/devices/platform/omap/musb-ti81xx/musb-hdrc.0/gadget/lun0/file)
+ if [ -z "$x" ]
+ then
+ /bin/systemctl stop storage-gadget-init.service
+ /bin/systemctl start network-gadget-init.service
+ fi
+fi
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh
new file mode 100755
index 00000000..d358640a
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/g-storage-reinsert.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+/bin/systemctl stop storage-gadget-init.service
+/bin/systemctl stop network-gadget-init.service
+/bin/systemctl start storage-gadget-init.service
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/network-gadget-init.service b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/network-gadget-init.service
new file mode 100644
index 00000000..0ee29147
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/network-gadget-init.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Start USB Ethernet gadget
+Conflicts=storage-gadget-init.service
+
+[Service]
+RemainAfterExit=yes
+ExecStart=/usr/bin/g-ether-load.sh
+ExecStop=/sbin/rmmod g_ether
+
+[Install]
+WantedBy=gether.target
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service
new file mode 100644
index 00000000..9a8513e8
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/storage-gadget-init.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Start usb mass storage gadget
+After=dev-mmcblk0p1.device
+
+[Service]
+RemainAfterExit=yes
+ExecStart=/sbin/modprobe g_mass_storage file=/dev/mmcblk0p1 cdrom=0 stall=0 removable=1 nofua=1
+ExecStop=/sbin/rmmod g_mass_storage
+
+[Install]
+WantedBy=basic.target
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.conf b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.conf
new file mode 100644
index 00000000..3bcf00f0
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.conf
@@ -0,0 +1,5 @@
+start 192.168.7.1
+end 192.168.7.1
+interface usb0
+max_leases 1
+option subnet 255.255.255.252
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.rules b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.rules
new file mode 100644
index 00000000..db65f9ac
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.rules
@@ -0,0 +1,2 @@
+SUBSYSTEM=="net",ACTION=="add",KERNEL=="usb0",RUN+="/sbin/ifconfig usb0 192.168.7.2 netmask 255.255.255.252",RUN+="/bin/systemctl start udhcpd.service"
+SUBSYSTEM=="net",ACTION=="remove",KERNEL=="usb0",RUN+="/bin/systemctl stop udhcpd.service"
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.service b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.service
new file mode 100644
index 00000000..1f4ac688
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/udhcpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=DHCP server for USB0 network gadget
+After=dev-usb0.device
+Conflicts=storage-gadget-init.service
+
+[Service]
+ExecStart=/usr/sbin/udhcpd -f -S /etc/udhcpd.conf
+ExecStop=/bin/kill -TERM $MAINPID
+KillSignal=SIGINT
+
+[Install]
+WantedBy=gether.target
diff --git a/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh
new file mode 100755
index 00000000..a4daf734
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/beagleboard/gadget-init/update-image-info-on-mmcblk0p1.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+mount /dev/mmcblk0p1 /mnt
+echo "Image info snapshot" > /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "/etc/angstrom-version:" >> /mnt/info.txt
+cat /etc/angstrom-version >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "/proc/cpuinfo:" >> /mnt/info.txt
+cat /proc/cpuinfo >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "uname -a:" >> /mnt/info.txt
+uname -a >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "/proc/cmdline:" >> /mnt/info.txt
+cat /proc/cmdline >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "ifconfig:" >> /mnt/info.txt
+ifconfig >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "/etc/angstrom-build-info:" >> /mnt/info.txt
+cat /etc/angstrom-build-info >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "/etc/image-version-info:" >> /mnt/info.txt
+cat /etc/image-version-info >> /mnt/info.txt
+
+echo >> /mnt/info.txt
+echo "opkg list-installed:" >> /mnt/info.txt
+opkg list-installed >> /mnt/info.txt
+
+umount /mnt
diff --git a/bsp/meta-ti/recipes-ti/bios/ti-biosutils.inc b/bsp/meta-ti/recipes-ti/bios/ti-biosutils.inc
new file mode 100644
index 00000000..d562c2dd
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/bios/ti-biosutils.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "TI DSP/BIOS Utilities"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/Bios_Utils"
+SECTION = "devel"
+LICENSE = "TI"
+LIC_FILES_CHKSUM = "file://packages/ti/bios/utils/Load.c;md5=e666d585907c3456e82b7e10f7a09a73"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+
+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/bsp/meta-ti/recipes-ti/bios/ti-biosutils_1.02.02.bb b/bsp/meta-ti/recipes-ti/bios/ti-biosutils_1.02.02.bb
new file mode 100644
index 00000000..01c070d7
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/bios/ti-biosutils_1.02.02.bb
@@ -0,0 +1,12 @@
+require ti-biosutils.inc
+
+PV = "1_02_02"
+PVsuffix = "_02"
+
+SRC_URI[biosutilstarball.md5sum] = "0654e9e72b0a6fc7a6575829c0cd90c9"
+SRC_URI[biosutilstarball.sha256sum] = "df486500bdc8dbe3800fc7efe4241e6fa5b1827ba7c0dc17a71b41d42ef921e1"
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/bios/ti-dspbios.inc b/bsp/meta-ti/recipes-ti/bios/ti-dspbios.inc
new file mode 100644
index 00000000..0e3fa62d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/bios/ti-dspbios.inc
@@ -0,0 +1,25 @@
+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"
+
+# We can't depend on license files to be present, so just use the TI logo
+LIC_FILES_CHKSUM = "file://docs/tilogo.gif;md5=f049a774c576a5cef3fca4932d707b39"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/ti-eula-unpack.inc
+
+TI_BIN_UNPK_WDEXT="/bios_${PV}"
+S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}"
+
+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"
+
+do_install() {
+ install -d ${D}${BIOS_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${BIOS_INSTALL_DIR_RECIPE}
+}
+
diff --git a/bsp/meta-ti/recipes-ti/bios/ti-sysbios.inc b/bsp/meta-ti/recipes-ti/bios/ti-sysbios.inc
new file mode 100644
index 00000000..d2a551fc
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/bios/ti-sysbios.inc
@@ -0,0 +1,29 @@
+DESCRIPTION = "TI SYS/BIOS v6 Kernel"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios"
+SECTION = "devel"
+LICENSE = "BSD"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/ti-eula-unpack.inc
+
+S = "${WORKDIR}/bios_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=sysbiosbin"
+
+BINFILE="bios_setuplinux_${PV}.bin"
+TI_BIN_UNPK_CMDS="Y: q:workdir:Y"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${SYSBIOS_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${SYSBIOS_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${SYSBIOS_INSTALL_DIR_RECIPE}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP_${PN}-dev = "arch ldflags staticdev file-rdeps"
diff --git a/bsp/meta-ti/recipes-ti/bios/ti-sysbios_6.75.02.00.bb b/bsp/meta-ti/recipes-ti/bios/ti-sysbios_6.75.02.00.bb
new file mode 100644
index 00000000..553d43e1
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/bios/ti-sysbios_6.75.02.00.bb
@@ -0,0 +1,15 @@
+require recipes-ti/bios/ti-sysbios.inc
+
+PV = "6_75_02_00"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://manifest_bios_${PV}.html;md5=5cf40699c51b26d36fc01647c0b27fb1"
+
+SRC_URI[sysbiosbin.md5sum] = "8bca751d3054e74b9edb510a0d099095"
+SRC_URI[sysbiosbin.sha256sum] = "c92cb72f86656b1e37454e238e9838f301eeeb4d711a0f4a84089ef80ccb6013"
+
+TI_BIN_UNPK_CMDS = ""
+TI_BIN_UNPK_ARGS = "--mode unattended --prefix ${WORKDIR}"
+
+BINFILE = "bios_${PV}.run"
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/${PV}/exports/${BINFILE};name=sysbiosbin"
diff --git a/bsp/meta-ti/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb b/bsp/meta-ti/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb
new file mode 100644
index 00000000..aa538412
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/codec-engine/ti-codec-engine_3.24.00.08.bb
@@ -0,0 +1,29 @@
+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"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-staging.inc
+
+PV = "3_24_00_08"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://codec_engine_${PV}_Manifest.html;md5=de7d9c2594a6f3868e42a33b6a748ce7"
+
+SRC_URI[cetarball.md5sum] = "d66a8ccbd6cdfe9f735af9f4a07e2b9b"
+SRC_URI[cetarball.sha256sum] = "ed7b7399903bbf76af06ee6457836f344ad75b903618339bae82b3967f27ffa1"
+
+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 "
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ # Install/Stage the Source Tree
+ install -d ${D}${CE_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${CE_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${CE_INSTALL_DIR_RECIPE}"
diff --git a/bsp/meta-ti/recipes-ti/ctoolslib/libaet_git.bb b/bsp/meta-ti/recipes-ti/ctoolslib/libaet_git.bb
new file mode 100644
index 00000000..626ba926
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ctoolslib/libaet_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "TI Emulation CTools AET library"
+DESCRIPTION = "The AETLIB library provides programmatic access to the Advanced Event Triggering capability on C6x processor cores"
+
+LICENSE = "BSD"
+
+PV = "4.19.0.0"
+
+LIC_FILES_CHKSUM = "file://../ctoolslib_manifest.html;md5=b7dd369a2e07ef9a71795ee5a9bd01bd"
+
+SRC_URI = "git://git.ti.com/sdo-emu/ctoolslib.git;protocol=git;branch=opencl_aetlib_build"
+SRCREV = "de7954abab0f0caa8a2c7b53095c30226d901a31"
+
+DEPENDS = "ti-cgt6x-native"
+PR = "r0"
+
+S = "${WORKDIR}/git/aet"
+
+DEVICE=""
+DEVICE_dra7xx = "DRA7xx"
+DEVICE_keystone = "C66AK2Hxx"
+
+EXTRA_OEMAKE = "C6X_C_DIR=${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x/include"
+
+do_install() {
+ install -d ${D}${datadir}/ti/ctoolslib/aet
+ install -d ${D}${datadir}/ti/ctoolslib/aet/include
+ install -d ${D}${datadir}/ti/ctoolslib/aet/lib
+ cp -rP --preserve=mode,links,timestamps --no-preserve=ownership ${S}/include/* ${D}${datadir}/ti/ctoolslib/aet/include/
+ install -m 0644 ${S}/build/c66/libaet.ae66 ${D}${datadir}/ti/ctoolslib/aet/lib/
+}
+
+COMPATIBLE_MACHINE = "dra7xx|keystone"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES_${PN}-dev += "\
+ ${datadir}/ti/ctoolslib/aet \
+"
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb b/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb
new file mode 100644
index 00000000..1fe5c525
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi-native_4.9.2015q3.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Baremetal GCC for ARM"
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "file://share/doc/gcc-arm-none-eabi/license.txt;md5=cba77c7fde3ed13e866b04a2f3d93918"
+
+inherit native
+require recipes-ti/includes/ti-paths.inc
+
+SRC_URI = "https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update/+download/gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2;name=gcc-arm-none"
+
+SRC_URI[gcc-arm-none.md5sum] = "8a4a74872830f80c788c944877d3ad8c"
+SRC_URI[gcc-arm-none.sha256sum] = "c50078bfbd29e6c15615900e746f4d0acde917338e55860b0f145f57387c12ab"
+
+S = "${WORKDIR}/gcc-arm-none-eabi-4_9-2015q3"
+
+do_install() {
+ install -d ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}
+ cp -r ${S}/. ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}
+}
+
+FILES_${PN} = "${GCC_ARM_NONE_TOOLCHAIN_RECIPE}/*"
+
+INSANE_SKIP_${PN} = "already-stripped"
diff --git a/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi_7-2018-q2-update.bb b/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi_7-2018-q2-update.bb
new file mode 100644
index 00000000..f474c87f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/gcc-arm-none-eabi_7-2018-q2-update.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Baremetal GCC for ARM"
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "file://share/doc/gcc-arm-none-eabi/license.txt;md5=f77466c63f5787f4bd669c402aabe061"
+
+require recipes-ti/includes/ti-paths.inc
+
+SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2018q2/gcc-arm-none-eabi-7-2018-q2-update-linux.tar.bz2;name=gcc-arm-none"
+
+SRC_URI[gcc-arm-none.md5sum] = "299ebd3f1c2c90930d28ab82e5d8d6c0"
+SRC_URI[gcc-arm-none.sha256sum] = "bb17109f0ee697254a5d4ae6e5e01440e3ea8f0277f2e8169bf95d07c7d5fe69"
+
+S = "${WORKDIR}/gcc-arm-none-eabi-7-2018-q2-update"
+
+# only x86_64 is supported
+COMPATIBLE_HOST = "x86_64.*-linux"
+COMPATIBLE_HOST_class-target = "null"
+
+do_install() {
+ install -d ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}
+ cp -r ${S}/. ${D}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}
+}
+
+FILES_${PN} = "${GCC_ARM_NONE_TOOLCHAIN_RECIPE}/*"
+
+INSANE_SKIP_${PN} = "already-stripped libdir staticdev build-deps file-rdeps"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-aarch64-native.bb b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-aarch64-native.bb
new file mode 100644
index 00000000..97344f90
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-aarch64-native.bb
@@ -0,0 +1,23 @@
+include recipes-ti/devtools/gcc-linaro.inc
+
+PACKAGE_DIR = "gcc-linaro-${PV}-${GCC_ARM_YEAR}-x86_64_aarch64-elf"
+S = "${WORKDIR}/${PACKAGE_DIR}"
+
+LIC_CHKSUM = "bc7fad4bba98e7a4cd5ab3042506493c"
+
+inherit native
+require recipes-ti/includes/ti-paths.inc
+
+SRC_URI = "https://releases.linaro.org/components/toolchain/binaries/7.2-${GCC_ARM_YEAR}/aarch64-elf/gcc-linaro-${PV}-${GCC_ARM_YEAR}-x86_64_aarch64-elf.tar.xz;name=gcc-linaro-aarch64"
+
+SRC_URI[gcc-linaro-aarch64.md5sum] = "4972f8943820bdd2f577f498de78964b"
+SRC_URI[gcc-linaro-aarch64.sha256sum] = "30fb7d876bcb982c502057c593d9c1f11b35d5158a26d986718e2b998388c4c8"
+
+do_install() {
+ install -d ${D}${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}
+ cp -r ${S}/. ${D}${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}
+}
+
+FILES_${PN} = "${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}/*"
+
+INSANE_SKIP_${PN} = "already-stripped"
diff --git a/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-native.bb b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-native.bb
new file mode 100644
index 00000000..0268ae3d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro-baremetal-native.bb
@@ -0,0 +1,23 @@
+include recipes-ti/devtools/gcc-linaro.inc
+
+PACKAGE_DIR = "gcc-linaro-${PV}-${GCC_ARM_YEAR}-x86_64_arm-eabi"
+S = "${WORKDIR}/${PACKAGE_DIR}"
+
+LIC_CHKSUM = "bc7fad4bba98e7a4cd5ab3042506493c"
+
+inherit native
+require recipes-ti/includes/ti-paths.inc
+
+SRC_URI = "https://releases.linaro.org/components/toolchain/binaries/7.2-${GCC_ARM_YEAR}/arm-eabi/gcc-linaro-${PV}-${GCC_ARM_YEAR}-x86_64_arm-eabi.tar.xz;name=gcc-linaro"
+
+SRC_URI[gcc-linaro.md5sum] = "9a4a39cfc78c84375b1160aa93587aed"
+SRC_URI[gcc-linaro.sha256sum] = "45fc4f90af2e2e9c3197a275f6005ef5639f7a1889fa3eb24c3125ccd70fcd3d"
+
+do_install() {
+ install -d ${D}${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}
+ cp -r ${S}/. ${D}${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}
+}
+
+FILES_${PN} = "${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}/*"
+
+INSANE_SKIP_${PN} = "already-stripped"
diff --git a/bsp/meta-ti/recipes-ti/devtools/gcc-linaro.inc b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro.inc
new file mode 100644
index 00000000..19f5a2cf
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/gcc-linaro.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Linaro GCC for ARM"
+HOMEPAGE = "https://launchpad.net/gcc-arm-embedded"
+SECTION = "devel"
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+LIC_FILES_CHKSUM = "file://share/doc/gcc/GNU-Free-Documentation-License.html;md5=${LIC_CHKSUM}"
+
+PV = "7.2.1"
+PR = "r0"
+
+GCC_ARM_YEAR = "2017.11"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cg-xml_2.61.00.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cg-xml_2.61.00.bb
new file mode 100644
index 00000000..e618af5a
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cg-xml_2.61.00.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "TI CG_XML"
+HOMEPAGE = "http://software-dl.ti.com/ccs/non-esd/releases/other/applications_packages/cg_xml/index.htm"
+SECTION = "devel"
+LICENSE = "BSD"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-staging.inc
+require recipes-ti/includes/ti-unpack.inc
+
+PV = "2.61.00"
+PE = "1"
+S = "${WORKDIR}/cg_xml_${PV}"
+
+SRC_URI = "\
+ http://software-dl.ti.com/ccs/non-esd/releases/other/applications_packages/cg_xml/cg_xml_v${@'${PV}'.replace('.','_')}/cgxml-${PV}-linux-installer.run;name=cgxmlbin_linux \
+"
+LIC_FILES_CHKSUM = "file://cg_xml_${PV}_Manifest.pdf;md5=fc02a39748ba50373f32b2f4a5e3a684"
+
+SRC_URI[cgxmlbin_linux.md5sum] = "6ce60caa97bbf15158d806fb062fadff"
+SRC_URI[cgxmlbin_linux.sha256sum] = "da77cb10bd3d5de89e27e4ce8f4408a2e50775c8980225f9a828ddc242bb81f9"
+
+BINFILE="cgxml-${PV}-linux-installer.run"
+TI_BIN_UNPK_CMDS=""
+TI_BIN_UNPK_ARGS="--prefix ${S} --mode unattended"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${CG_XML_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${CG_XML_INSTALL_DIR_RECIPE}
+}
+
+FILES_${PN} += "${CG_XML_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN} = "arch ldflags file-rdeps"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm-native_18.12.1.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm-native_18.12.1.bb
new file mode 100644
index 00000000..7df9660c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm-native_18.12.1.bb
@@ -0,0 +1,6 @@
+include ti-cgt-arm.inc
+
+LIC_FILES_CHKSUM = "file://ti-cgt-arm_${PV}.LTS/README.txt;md5=ab7a61241e90fcd144a756d88294cf30"
+
+BINFILE_MD5 = "af2378cf8d5d6f200ef3329f5a065529"
+BINFILE_SHA256 = "d90ae2360cd5b22912715ae7898d99352da1b97fd655f9a55d0d19a2a46bab0e"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm.inc b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm.inc
new file mode 100644
index 00000000..d2d768ce
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-arm.inc
@@ -0,0 +1,36 @@
+SUMMARY = "TI ARM Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Hewlett-Packard & Patrick-Powell & AFL-3.0 & MIT & BSD-2-Clause & PD & BSD-4-Clause"
+
+inherit native
+require recipes-ti/includes/ti-unpack.inc
+require recipes-ti/includes/ti-staging.inc
+require recipes-ti/includes/ti-paths.inc
+
+S = "${WORKDIR}/ti-cgt-arm-${PV}"
+
+PR = "r0"
+
+SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/TMS470/${PV}.LTS/${BINFILE};name=${BINFILE_NAME}"
+
+BINFILE = "ti_cgt_tms470_${PV}.LTS_linux_installer_x86.bin"
+TI_BIN_UNPK_ARGS = "--prefix ${S}"
+TI_BIN_UNPK_CMDS = ""
+
+do_install() {
+ install -d ${D}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}
+ cp -r ${S}/ti-cgt-arm*/. ${D}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}
+}
+
+SRC_URI[cgt_arm_installer.md5sum] = "${BINFILE_MD5}"
+SRC_URI[cgt_arm_installer.sha256sum] = "${BINFILE_SHA256}"
+
+BINFILE_NAME = "cgt_arm_installer"
+
+FILES_${PN} += "${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+INSANE_SKIP_${PN} += "arch staticdev"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt-pru_2.2.1.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-pru_2.2.1.bb
new file mode 100644
index 00000000..8d3887e5
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt-pru_2.2.1.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "TI PRU Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Hewlett-Packard & AFL-3.0 & MIT & BSD-2-Clause & PD"
+
+LIC_FILES_CHKSUM = "file://ti-cgt-pru_${PV}/PRU_Code_Generation_Tools_2.2.x_manifest.html;md5=e84b4022808f66b075095cb896747758"
+LIC_FILES_CHKSUM_class-target = "file://usr/share/doc/ti/cgt-pru/PRU_Code_Generation_Tools_2.2.x_manifest.html;md5=e84b4022808f66b075095cb896747758"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-unpack.inc
+
+BINFILE = "ti_cgt_pru_${PV}_linux_installer_x86.bin"
+BINFILE_NAME = "cgt-pru-x86"
+TI_BIN_UNPK_ARGS = "--prefix ${S}"
+TI_BIN_UNPK_CMDS = ""
+
+BINFILE_class-target = "ti_cgt_pru_${PV}_armlinuxa8hf_busybox_installer.sh"
+BINFILE_NAME_class-target = "cgt-pru-arm"
+
+SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/${PV}/${BINFILE};name=${BINFILE_NAME}"
+
+SRC_URI[cgt-pru-x86.md5sum] = "749d75841eef7b465c7cb08beaa1d135"
+SRC_URI[cgt-pru-x86.sha256sum] = "7dc37fd689d1d506bf410d2a00af658b93a58d4bc10ac32c2210129dab617377"
+
+SRC_URI[cgt-pru-arm.md5sum] = "389eef56777e30e6dab337efca4af2bf"
+SRC_URI[cgt-pru-arm.sha256sum] = "b47a032f67cb3a3e5bea8ee3ed1908038f42938dd08e2ff72fc64f7aae2c1ff8"
+
+do_install() {
+ install -d ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE}
+ cp -r ${S}/ti-cgt-pru_${PV}/. \
+ ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE}/
+}
+
+do_install_class-target() {
+ ${WORKDIR}/${BINFILE} --prefix ${D}
+}
+
+FILES_${PN} += "${datadir}/ti/*"
+
+FILES_${PN}-dbg = "${TI_CGT_PRU_INSTALL_DIR_RECIPE}/bin/.debug \
+ ${TI_CGT_PRU_INSTALL_DIR_RECIPE}/lib/.debug \
+"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+INSANE_SKIP_${PN} += "arch staticdev already-stripped"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt470.inc b/bsp/meta-ti/recipes-ti/devtools/ti-cgt470.inc
new file mode 100644
index 00000000..f0992aa7
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt470.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "TI ARM Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm"
+SECTION = "devel"
+LICENSE = "TI"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62f46f1125a152a2e213b414db7ac600"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/ti-eula-unpack.inc
+
+S = "${WORKDIR}/cgt470_${PV}"
+
+SRC_URI = "http://install.source.dir.local/ti_cgt_tms470_${PVwithdots}_setup_linux_x86.bin;name=cgt470bin"
+
+BINFILE="ti_cgt_tms470_${PVwithdots}_setup_linux_x86.bin"
+TI_BIN_UNPK_CMDS="Y:qY:workdir: : "
+TI_BIN_UNPK_WDEXT="/cgt470_${PV}"
+
+do_install() {
+ install -d ${D}${CODEGEN_ARM_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${CODEGEN_ARM_INSTALL_DIR_RECIPE}
+}
+
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt470_4.6.6.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt470_4.6.6.bb
new file mode 100644
index 00000000..6ff2cc48
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt470_4.6.6.bb
@@ -0,0 +1,8 @@
+require ti-cgt470.inc
+
+PV = "4_6_6"
+PVwithdots = "4.6.6"
+
+SRC_URI[cgt470bin.md5sum] = "29a316dc6b8c8c3a53e0d6c956acb62b"
+SRC_URI[cgt470bin.sha256sum] = "a17bc7139f450672503c932ef53b00c425522890e031b4a7c9135fdf90815740"
+
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x-7-native_7.4.16.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x-7-native_7.4.16.bb
new file mode 100644
index 00000000..7bb4c75e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x-7-native_7.4.16.bb
@@ -0,0 +1,41 @@
+SUMMARY = "TI DSP Code Generation Tools"
+DESCRIPTION = "Texas Instrument (TI) Code Generation Tools are custom \
+utilities targeted for TI embedded processors. This Digital Signal \
+Processor (DSP) suite contains tools needed to create and debug \
+applications for the C6000 DSP family. This includes tools such as: \
+compiler, linker, assembler, etc. This also includes C runtime \
+libraries and standard header files needed to produce a working DSP application."
+
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+LICENSE = "TI-TSPA"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b6311962635a4f15630e36ec2d875eca"
+
+S = "${WORKDIR}/c6000_7.4.16"
+
+inherit native
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-unpack.inc
+
+BINFILE = "ti_cgt_c6000_7.4.16_linux_installer_x86.bin"
+BINFILE_NAME = "cgt6x_7.4.16_x86_installer"
+TI_BIN_UNPK_ARGS = "--prefix ${WORKDIR} --mode unattended"
+TI_BIN_UNPK_CMDS=""
+
+SRC_URI = "http://install.source.dir.local/${BINFILE};name=${BINFILE_NAME}"
+
+SRC_URI[cgt6x_7.4.16_x86_installer.md5sum] = "21ca55c5b1f6b2d8d4fb7570d5eb5513"
+SRC_URI[cgt6x_7.4.16_x86_installer.sha256sum] = "baa0d1ef20397383f99f45068a6d160963a01419d42fbbb851263b54c91df82f"
+
+do_install() {
+ install -d ${D}/${TI_CGT6X_7_INSTALL_DIR_RECIPE}
+ cp -rP --preserve=mode,links,timestamps --no-preserve=ownership ${WORKDIR}/c6000_7.4.16/. ${D}/${TI_CGT6X_7_INSTALL_DIR_RECIPE}
+}
+
+FILES_${PN} += "${TI_CGT6X_7_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN} += "arch staticdev"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x.inc b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x.inc
new file mode 100644
index 00000000..1d00a553
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "TI DSP Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+SECTION = "devel"
+LICENSE = "TI"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/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="/cgt6x_${PV}"
+
+do_install() {
+ install -d ${D}${CODEGEN_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${CODEGEN_INSTALL_DIR_RECIPE}
+}
+
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_6.1.20.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_6.1.20.bb
new file mode 100644
index 00000000..1d6609c8
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_6.1.20.bb
@@ -0,0 +1,11 @@
+require ti-cgt6x.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62f46f1125a152a2e213b414db7ac600"
+
+PE = "1"
+PV = "6_1_20"
+PVwithdots = "6.1.20"
+
+SRC_URI[cgt6xbin.md5sum] = "39485ea8211960de0a958ab27106ab9b"
+SRC_URI[cgt6xbin.sha256sum] = "a020142011c8160e24f6386f7696ecfbfe02dab2a6c83af74ce6b67eb1da9900"
+
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_7.2.7.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_7.2.7.bb
new file mode 100644
index 00000000..a2266004
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_7.2.7.bb
@@ -0,0 +1,13 @@
+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"
+
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_8.3.2.bb b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_8.3.2.bb
new file mode 100644
index 00000000..deee61c7
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-cgt6x_8.3.2.bb
@@ -0,0 +1,104 @@
+DESCRIPTION = "TI DSP Code Generation Tools"
+HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"
+LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Patrick-Powell & AFL-3.0 & MIT & BSD-2-Clause & PD"
+
+LIC_FILES_CHKSUM = "file://ti-cgt-c6000_${PV}/C6000CodeGenerationTools_8.3.x_manifest.html;md5=d06c6f9acebf78df4108a8535396e9f1"
+LIC_FILES_CHKSUM_class-target = "file://usr/share/doc/ti/cgt-c6x/C6000CodeGenerationTools_8.3.x_manifest.html;md5=d06c6f9acebf78df4108a8535396e9f1"
+
+PE = "1"
+
+require recipes-ti/includes/ti-unpack.inc
+
+COMPATIBLE_HOST_class-target = "arm.*-linux"
+
+# For now we only have hardfp version for target class
+python __anonymous() {
+ c = d.getVar("CLASSOVERRIDE")
+
+ if c == "class-target":
+ tunes = d.getVar("TUNE_FEATURES")
+ if not tunes:
+ return
+ pkgn = d.getVar("PN")
+ pkgv = d.getVar("PV")
+ if "callconvention-hard" not in tunes:
+ bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
+ raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
+}
+
+BINFILE = "ti_cgt_c6000_${PV}_linux_installer_x86.bin"
+BINFILE_NAME = "cgt6x_x86_installer"
+TI_BIN_UNPK_ARGS = "--prefix ${S}"
+TI_BIN_UNPK_CMDS = ""
+
+BINFILE_class-target = "ti_cgt_c6000_${PV}_armlinuxa8hf_busybox_installer.sh"
+BINFILE_NAME_class-target = "cgt6x_arm_installer"
+
+SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/C6000/${PV}/${BINFILE};name=${BINFILE_NAME}"
+
+SRC_URI[cgt6x_x86_installer.md5sum] = "f1f534e6a4bdee6df39e8d0cb458d161"
+SRC_URI[cgt6x_x86_installer.sha256sum] = "1fba2a8f5532b33a23677771d686a866171ce7a0e567fed50d900d0ecd2e17e6"
+
+SRC_URI[cgt6x_arm_installer.md5sum] = "425d82308e71202ad004a36b7ec3cec9"
+SRC_URI[cgt6x_arm_installer.sha256sum] = "70c387ddde379194fed712087be6cb0ca5f4f0e65d7f29bd7462c38ee011928f"
+
+do_install() {
+ install -d ${D}${bindir}
+ for binfile in ${S}/ti-cgt-c6000_${PV}/bin/*; do
+ install -m 755 ${binfile} ${D}${bindir}
+ done
+
+ install -d ${D}${datadir}/ti/cgt-c6x/bin
+ for binfile in ${S}/ti-cgt-c6000_${PV}/bin/*; do
+ install -m 755 ${binfile} ${D}${datadir}/ti/cgt-c6x/bin
+ done
+
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ cp ${CP_ARGS} ${S}/ti-cgt-c6000_${PV}/include ${D}${datadir}/ti/cgt-c6x/include
+
+ install -d ${D}${datadir}/ti/cgt-c6x/lib
+ for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.a; do
+ install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib
+ done
+
+ for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.cmd; do
+ install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib
+ done
+
+ for libfile in ${S}/ti-cgt-c6000_${PV}/lib/*.lib; do
+ install -m 644 ${libfile} ${D}${datadir}/ti/cgt-c6x/lib
+ done
+
+ install -d ${D}${datadir}/man/man1
+ for manfile in ${S}/ti-cgt-c6000_${PV}/man/man1/*; do
+ if [ -e ${manfile} ]; then
+ install -m 644 ${manfile} ${D}${datadir}/man/man1
+ fi
+ done
+
+ install -d ${D}${datadir}/doc/ti/cgt-c6x
+ for docfile in ${S}/ti-cgt-c6000_${PV}/*.txt; do
+ install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x
+ done
+
+ for docfile in ${S}/ti-cgt-c6000_${PV}/*.html; do
+ install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x
+ done
+
+ for docfile in ${S}/ti-cgt-c6000_${PV}/*.spdx; do
+ install -m 644 ${docfile} ${D}${datadir}/doc/ti/cgt-c6x
+ done
+
+}
+
+do_install_class-target() {
+ ${WORKDIR}/${BINFILE} --prefix ${D}
+}
+
+FILES_${PN} += "${datadir}/ti/*"
+
+FILES_${PN}-dbg += "${datadir}/ti/cgt-c6x/bin/.debug"
+
+INSANE_SKIP_${PN} += "staticdev"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-common.inc b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-common.inc
new file mode 100644
index 00000000..27f8f908
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-common.inc
@@ -0,0 +1,68 @@
+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"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-staging.inc
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+
+ install -d ${D}${XDC_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${XDC_INSTALL_DIR_RECIPE}
+}
+
+FILES_${PN}-dev = "${XDC_INSTALL_DIR_RECIPE}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP_${PN}-dev = "libdir dev-elf arch file-rdeps"
+
+# 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 \
+"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
+COMPATIBLE_HOST_class-native = "(.*)"
+COMPATIBLE_HOST_class-nativesdk = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-core.inc b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-core.inc
new file mode 100644
index 00000000..47f73b6d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools-core.inc
@@ -0,0 +1,5 @@
+require ti-xdctools-common.inc
+
+S = "${WORKDIR}/xdctools_${PV}_core"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/${PV}/exports/xdccore/xdctools_${PV}_core_linux.zip;name=xdczip"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-xdctools.inc b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools.inc
new file mode 100644
index 00000000..1415f83e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools.inc
@@ -0,0 +1,10 @@
+require ti-xdctools-common.inc
+require ../includes/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:workdir:Y"
+TI_BIN_UNPK_WDEXT="/ti"
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff
new file mode 100644
index 00000000..26debf8f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/arm-linker-hack.diff
@@ -0,0 +1,19 @@
+--- a/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:33:53.000000000 +0100
++++ b/packages/gnu/targets/arm/linkcmd.xdt 2010-12-30 19:42:55.000000000 +0100
+@@ -40,12 +40,13 @@
+
+ %if ("BINVERS" in prog.build.target) {
+ % var _utils = xdc.loadCapsule("gnu/targets/linkUtils.xs");
++% if (prog.build.target.GCCVERS < "4.3.3") {
+ SECTIONS {
+ `_utils.genSections(prog)`
+ }
+-
+-% if (!prog.build.target.noStdLinkScript
+-% && prog.build.target.BINVERS >= "2.19") {
++% }
++% if (prog.build.target.noStdLinkScript
++% && prog.build.target.BINVERS >= "2.19") {
+ INSERT BEFORE .gnu.attributes
+ % }
+
diff --git a/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/fix-hardcoded-paths.diff b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/fix-hardcoded-paths.diff
new file mode 100644
index 00000000..36142c47
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools/fix-hardcoded-paths.diff
@@ -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/bsp/meta-ti/recipes-ti/devtools/ti-xdctools_3.51.01.18.bb b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools_3.51.01.18.bb
new file mode 100644
index 00000000..35258b4d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/devtools/ti-xdctools_3.51.01.18.bb
@@ -0,0 +1,9 @@
+require recipes-ti/devtools/ti-xdctools-core.inc
+
+PV = "3_51_01_18"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://docs/license/xdc/shelf/package.html;beginline=1;endline=140;md5=7d8508a640d8e76fe372141df01c351f"
+
+SRC_URI[xdczip.md5sum] = "54b80b603471623c1dbb0cfeb75b0fe2"
+SRC_URI[xdczip.sha256sum] = "9bbbf433f0970bcb0cbf938615afe4d54420ecc56bc6e872f1a004338a8f19d5"
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai.inc b/bsp/meta-ti/recipes-ti/dmai/ti-dmai.inc
new file mode 100644
index 00000000..50621184
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai.inc
@@ -0,0 +1,162 @@
+DESCRIPTION = "Davinci Multimedia Application Interface (DMAI) for TI ARM/DSP processors"
+HOMEPAGE = "https://gforge.ti.com/gf/project/dmai/"
+SECTION = "multimedia"
+LICENSE = "BSD"
+
+# TODO ::
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-staging.inc
+
+PROVIDES += "ti-dmai-apps"
+
+PE = "1"
+
+SRCREV ?= "UNDEFINED_SRCREV"
+DMAIBRANCH ?= "UNDEFINED_DMAIBRANCH"
+
+S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}/dmai"
+
+SRC_URI = "svn://gforge.ti.com/svn/dmai/;module=${DMAIBRANCH};protocol=https;user=anonymous;pswd='' \
+ file://loadmodules-ti-dmai-dm6446_al.sh \
+ file://loadmodules-ti-dmai-dm6467_al.sh \
+ file://loadmodules-ti-dmai-o3530_al.sh \
+ file://loadmodules-ti-dmai-dm355_al.sh \
+ file://loadmodules-ti-dmai-dm365_al.sh \
+ file://loadmodules-ti-dmai-ol137_al.sh \
+ file://loadmodules-ti-dmai-ol138_al.sh \
+ file://doxygen_templates.tar.gz \
+ file://arago-tdox \
+ "
+
+DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools-native"
+
+DEPENDS_append_dm6446 = " ti-codecs-dm6446 ti-dspbios ti-cgt6x ti-linuxutils"
+DEPENDS_append_dm6467 = " ti-codecs-dm6467 ti-dspbios ti-cgt6x ti-linuxutils"
+DEPENDS_append_omap3 = " ti-codecs-omap3530 ti-dspbios ti-cgt6x ti-linuxutils"
+DEPENDS_append_dm355 = " ti-codecs-dm355"
+DEPENDS_append_dm365 = " ti-codecs-dm365"
+DEPENDS_append_omapl137 = " ti-codecs-omapl137 ti-dspbios ti-cgt6x ti-linuxutils"
+DEPENDS_append_omapl138 = " ti-codecs-omapl138 ti-dspbios ti-cgt6x ti-linuxutils"
+
+# Define DMAI build time variables
+DMAIPLATFORM_dm6446 = "dm6446_al"
+DMAIPLATFORM_dm6467 = "dm6467_al"
+DMAIPLATFORM_omap3 = "o3530_al"
+DMAIPLATFORM_dm355 = "dm355_al"
+DMAIPLATFORM_dm365 = "dm365_al"
+DMAIPLATFORM_omapl137 = "ol137_al"
+DMAIPLATFORM_omapl138 = "ol138_al"
+DMAIPLATFORM ?= "UNDEFINED_DMAIPLATFORM"
+
+# Need to set this for other platforms as well
+#GPPOS_dm355 = "LINUX_GCC"
+#GPPOS_dm365 = "LINUX_GCC"
+#GPPOS ?= "UNDEFINEDGPPOS"
+
+# Need to re-define this for OMAP-L137/L138
+DSPSUFFIX_omapl137 = "x64P"
+DSPSUFFIX_omapl138 = "x64P"
+DSPSUFFIX ?= "x64p"
+
+# This is needed for dm355/dm365 targets in order to find ti.sdo.codecs.g711
+# TODO :: review - should we just pass this in do_compile?
+USER_XDC_PATH = "${CE_INSTALL_DIR}/examples"
+
+PARALLEL_MAKE = ""
+
+do_prepsources() {
+ # run the release steps - this will delete .svn file and run doxygen to
+ # generate proper documentation of the source etc.
+ find ${WORKDIR}/${DMAIBRANCH} -name .svn -type d | xargs rm -rf
+ cp -pPrf ${WORKDIR}/doxygen_templates ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface
+ cp -pPrf ${WORKDIR}/arago-tdox ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox
+ chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh
+ chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox
+ sed -i 's|tdox|./tdox|g' ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh
+ rm -rf ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}/*
+ (cd ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface; ./release.sh ${PV})
+}
+
+# run prepare sources before do_patch to ensure that sourceipk picks the right sources.
+addtask prepsources after do_unpack before do_patch
+
+do_compile () {
+ # Recent kernel headers warn against inclusion from userspace
+ for makefile in $(find ${S} -name "Makefile") ; do
+ sed -i -e s:-Werror::g $makefile
+ done
+
+ # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it
+ if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then
+ # Fix up linkerscripts, recent toolchains need -T to prepend the default script to the custom one
+ for appmakefile in $(find ${S} -name "Makefile.app") ; do
+ sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' $appmakefile
+ done
+ fi
+
+ # TODO :: Why do we do this?
+ unset DMAI_INSTALL_DIR
+ cd ${S}
+
+ make XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" PLATFORM="${DMAIPLATFORM}" clean
+
+ for dir in ${S}; do
+ cd $dir
+ # TODO: Figure out how to pass the alsa require location, currently
+ # LINUXLIBS_INSTALL_DIR is hard-coded for armv5te
+ make \
+ CE_INSTALL_DIR="${CE_INSTALL_DIR}" \
+ CODEC_INSTALL_DIR="${CODEC_INSTALL_DIR}" \
+ FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
+ CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
+ BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\
+ LINUXLIBS_INSTALL_DIR="${STAGING_DIR_TARGET}/usr" \
+ USER_XDC_PATH="${USER_XDC_PATH}" \
+ CROSS_COMPILE="${TOOLCHAIN_PATH}/${TARGET_PREFIX}" \
+ CSTOOL_DIR="${TOOLCHAIN_PATH}" \
+ VERBOSE="true" \
+ XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
+ LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
+ CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
+ LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
+ C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ PLATFORM="${DMAIPLATFORM}"
+ done
+}
+
+do_install () {
+
+ # TODO :: Why do we do this?
+ unset DMAI_INSTALL_DIR
+
+ install -d ${D}/${installdir}/ti-dmai-apps
+ cd ${S}
+ make PLATFORM="${DMAIPLATFORM}" EXEC_DIR=${D}/${installdir}/ti-dmai-apps install
+ install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${DMAIPLATFORM}.sh ${D}/${installdir}/ti-dmai-apps/loadmodules.sh
+
+ install -d ${D}${DMAI_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${DMAI_INSTALL_DIR_RECIPE}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES += "ti-dmai-apps"
+FILES_ti-dmai-apps = "${installdir}/ti-dmai-apps/*"
+INSANE_SKIP_ti-dmai-apps = "1"
+
+RDEPENDS_ti-dmai-apps_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module"
+RDEPENDS_ti-dmai-apps_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module"
+RDEPENDS_ti-dmai-apps_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module"
+RDEPENDS_ti-dmai-apps_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module"
+RDEPENDS_ti-dmai-apps_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module"
+RDEPENDS_ti-dmai-apps_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module"
+RDEPENDS_ti-dmai-apps_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module"
+
+pkg_postinst_ti-dmai-apps () {
+ ln -sf ${installdir}/ti-codecs-server/*.${DSPSUFFIX} ${installdir}/ti-dmai-apps/
+}
+
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/arago-tdox b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/arago-tdox
new file mode 100644
index 00000000..81538cf3
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/arago-tdox
@@ -0,0 +1,210 @@
+#!/bin/bash
+#
+#
+# This script sets a series of environment variable that are referenced
+# in a doxygen configuration file. The values passed in here are simply
+# plugged into the file locations and doxygen proceeds normaly.
+#
+# template location is ${VENDORS}/opensource/doxygen/templates/<version>
+#
+#
+
+# Revision history
+#! 02 Jul 2009 cring: Added cmd line args for doxygendir (-x) and template (-t)
+#! 13 Jul 2006 ada: New template smaller pdf generation
+#! 16 May 2006 ada: Added -p file to pdf for space in project names
+#! 08 May 2006 ada: Added pdf generation to tdox (Solaris/Linux only).
+#! 23 Jan 2006 ada: Overide file to change default doxyfile behaivior
+#! 19 Jan 2006 ada: 1093, ENUM_VALUES_PER_LINE set to 1, ref doxyfile via vers
+#! 05 Oct 2005 ada: 933, doxyfile in tools, removed win and unix vendors path
+#! 24 Aug 2005 ada: Added 897 changes, optional css c or jave optimization
+#! 18 Aug 2005 ada: inital version from AR 887
+
+# Set these defaults here as the usage statement uses them
+TDOX_TEMPLATEDIR=${TOOLS}/default/doxygen_templates
+DOXYGEN_EXECUTABLE=doxygen
+
+function usage
+{
+ OPTIONS="`basename $0` code_location out_doc_location [-x doxygen_exe ] [-t tdox_templatedir] [-n project_name] [-v version] [-f FILE_PATTERNS ] [-s strip_dir] [-c css location] [-e exclude dirs] [-b enabled sections] [-m generate chm] [-p pdf_file] [-o override doxyfile] [-j]"
+ echo "`basename $1` $OPTIONS"
+ echo "Where: "
+ echo "\tcode_location: Top of tree(s) to search for code (required as 1st param)"
+ echo "\tout_doc_location: Output location for generated files (required as 2nd param)"
+ echo "\t[-n project_name]: title of generated documentation (defaults to Project)"
+ echo "\t[-x doxygen_exe]: location of doxygen executable (defaults to $DOXYGEN_EXECUTABLE)"
+ echo "\t[-t tdox_templatedir]: location of tdox templates (defaults to $TDOX_TEMPLATEDIR)"
+ echo "\t[-v version]: version number or string (defaults to 1.0)"
+ echo "\t[-f FILE_PATTERNS]: Optional list of files to document (defaults to all)"
+ echo "\t[-s strip_dirs]: Remove directory prefix from generated files (defaults to not remove)"
+ echo "\t[-c path_to_css]: Path to a user suplied CSS style sheet"
+ echo "\t[-e exclude dirs]: List of directories to exclude"
+ echo "\t[-b enabled sections]: List of sections to enable"
+ echo "\t[-m generate chm]: chm file name (required)"
+ echo "\t[-p generate pdf <file>]: create <file>.pdf in html/pdf (Linux only)"
+ echo "\t[-o override doxyfile]: file (advanced) Overide any doxyfile default"
+ echo "\t[-j]: Optimize for Java (Generate class files) defaults to C"
+ echo "\t[-r]: Call rshd to windows for chm generation (defaults to wine)"
+ echo
+ exit
+}
+
+function optimizeForJava
+{
+ DOX_OPTIMIZE_OUTPUT_JAVA="YES"
+ DOX_OPTIMIZE_OUTPUT_FOR_C="NO"
+}
+
+if [ "$#" -lt 2 ]; then
+ echo "Invalid number of parameters"
+ usage $0
+fi
+
+# get the required parameters then shift for the getopts parameters
+export DOX_INPUT="$1"
+shift
+export DOX_OUTPUT_DIRECTORY="$1"
+shift
+
+#set the global defaults
+DOX_QUIET="YES"
+DOX_OPTIMIZE_OUTPUT_JAVA="NO"
+DOX_OPTIMIZE_OUTPUT_FOR_C="YES"
+DOX_CHM_FILE=
+DOX_GENERATE_HTMLHELP="NO"
+OVERRIDE_FILE=""
+PDF=""
+
+# Process the rest of the arguments as getopts
+# parameters
+while getopts b:c:e:f:m:n:o:p:s:t:v:x:dhjr arg
+do
+ case $arg in
+ b) DOX_ENABLED_SECTIONS=${OPTARG};;
+ c) DOX_HTML_STYLESHEET=${OPTARG};;
+ d) DEBUG=1;;
+ e) DOX_EXCLUDE=${OPTARG};;
+ f) DOX_FILE_PATTERNS=${OPTARG};;
+ h) usage;exit 0;;
+ j) optimizeForJava;;
+ r) USERSHD=1;;
+ m) DOX_CHM_FILE=${OPTARG};DOX_GENERATE_HTMLHELP="YES";;
+ n) DOX_PROJECT_NAME=${OPTARG};;
+ s) DOX_STRIP_FROM_PATH=${OPTARG};;
+ t) TDOX_TEMPLATEDIR=${OPTARG};;
+ v) DOX_PROJECT_NUMBER=${OPTARG};;
+ x) DOXYGEN_EXECUTABLE=${OPTARG};;
+ o) OVERRIDE_FILE=${OPTARG};;
+ p) PDF=${OPTARG};;
+ \?) usage
+ exit 2;;
+ esac
+done
+
+if [ "$DEBUG" = "1" ]; then
+ DOX_QUIET="NO"
+ set -x
+fi
+
+if [ "$DOX_PROJECT_NAME" = "" ]; then
+ DOX_PROJECT_NAME="Project"
+fi
+
+if [ "$DOX_PROJECT_NUMBER" = "" ]; then
+ DOX_PROJECT_NUMBER="1.0"
+fi
+
+if [ "$DOX_FILE_PATTERNS" = "" ]; then
+ DOX_FILE_PATTERNS="*.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox"
+fi
+
+export DOX_INPUT
+export DOX_OUTPUT_DIRECTORY
+export DOX_PROJECT_NAME
+export DOX_PROJECT_NUMBER
+export DOX_FILE_PATTERNS
+export DOX_STRIP_FROM_PATH
+export DOX_QUIET
+export DOX_HTML_STYLESHEET
+export DOX_OPTIMIZE_OUTPUT_FOR_C
+export DOX_OPTIMIZE_OUTPUT_JAVA
+export DOX_EXCLUDE
+export DOX_ENABLED_SECTIONS
+export DOX_CHM_FILE
+export DOX_GENERATE_HTMLHELP
+export TDOX_TEMPLATEDIR
+
+
+# Make sure the dir exists
+mkdir -p $DOX_OUTPUT_DIRECTORY
+
+# Create temp file copy of doxyfile and append overrides to the end of the file
+cp ${TDOX_TEMPLATEDIR}/doxyfile /tmp/doxyfile$$
+
+chmod +w /tmp/doxyfile$$
+if [ "$OVERRIDE_FILE" != "" ]; then
+ cat $OVERRIDE_FILE >> /tmp/doxyfile$$
+fi
+
+# Run doxygen and clean up temp file
+${DOXYGEN_EXECUTABLE} /tmp/doxyfile$$
+rm -f /tmp/doxyfile$$
+
+# Copy the TI banner gifs to the html directory.
+cp -p ${TDOX_TEMPLATEDIR}/*gif $DOX_OUTPUT_DIRECTORY/html
+
+# Generate PDF files
+if [ "$PDF" != "" ]; then
+ if [ "$BUILD_HOST_OS" = "Linux" ]; then
+ rm -rf $DOX_OUTPUT_DIRECTORY/html/pdf
+ mkdir -p $DOX_OUTPUT_DIRECTORY/html/pdf
+ cwd=`pwd`
+ cd $DOX_OUTPUT_DIRECTORY/latex
+ latex refman.tex
+ makeindex refman.idx
+ latex refman.tex
+ latex_count=5
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ]
+ do
+ latex refman.tex
+ latex_count=`expr $$latex_count - 1`
+ done
+ dvips -o refman.ps refman.dvi
+ ps2pdf refman.ps refman.pdf
+ cd $cwd
+ mv $DOX_OUTPUT_DIRECTORY/latex/refman.pdf $DOX_OUTPUT_DIRECTORY/html/pdf/${PDF}.pdf
+ else
+ echo "Sorry... pdf generation supported under Linux only"
+ fi
+fi
+
+# Generate Windows compressed help
+if [ "$DOX_GENERATE_HTMLHELP" = "YES" ]; then
+
+ echo "chm generation is not supported"
+fi
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz
new file mode 100644
index 00000000..6d613bf5
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz
Binary files differ
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh
new file mode 100755
index 00000000..7120b744
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh
@@ -0,0 +1,37 @@
+#
+# Default Memory Map - for OMAP3530 dvsdk examples from 3.00.00.29 - this memory map is used for DMAI apps
+#
+# Start Addr Size Description
+# -------------------------------------------
+# 0x80000000 88 MB Linux
+# 0x85800000 08 MB CMEM
+# 0x86800000 16 MB DDRALGHEAP
+# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
+# 0x87E00000 1 MB DSPLINK (MEM)
+# 0x87F00000 4 KB DSPLINK (RESET)
+# 0x87F01000 1020 KB unused
+
+# sanity check to verify that we're using the right mem=xxM (88M in this case)
+awk '/MemTotal:/ {
+ mem=$2
+
+ if (mem > 88 * 1024)
+ print "Warning! You need to use mem=88M or less on the kernel cmdline"
+
+ printf "You have %dkB total memory for Linux\n", mem
+}' /proc/meminfo
+
+# Select cmemk parameters for best fit, i.e. starting at 0x85000000
+modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440
+
+# insert DSP/BIOS Link driver
+#
+modprobe dsplinkk
+
+# make /dev/dsplink
+#rm -f /dev/dsplink
+#mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
+
+# insert Local Power Manager driver
+#
+modprobe lpm_omap3530
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
new file mode 100755
index 00000000..ca357e20
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+#
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# 12MB
+modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 pools=1x2903040,1x1529856,7x829440,1x524288,1x108680,1x81920,2x8192,6x4096
+
+./mapdmaq
+
+modprobe dm350mmap
+rm -f /dev/dm350mmap
+mknod /dev/dm350mmap c `awk "\\$2==\"dm350mmap\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh
new file mode 100644
index 00000000..36dc78ec
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# This loadmodules script is provided to support 1920x1080 resolution file based encode/decode DMAI unit test applications
+
+# Sample bootargs is given below
+# mem=60M console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=<nfsroot> ip=dhcp video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,2025K dm365_imp.oper_mode=0
+
+depmod -a
+rmmod cmemk 2>/dev/null
+rmmod irqk 2>/dev/null
+rmmod edmak 2>/dev/null
+rmmod dm365mmap 2>/dev/null
+
+# Pools configuration
+modprobe cmemk phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,2x5984,2x3133440,1x16384,1x48952,1x20480,1x60288,1x74,1x28,1x2048,1x6785280,1x146,1x896,1x65536,1x98,1x296,29x56,2x24,1x624,4x62,1x1456,1x18321120,1x65792,5x3523584,1x4194304,1x8355840
+
+#VC1 decode pool configuration
+# insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,1x112665,3x7680,1x319264,2x1024,5x7208960,1x80,1x116,1x29184,1x2688,1x30720,1x551680,2x128,1x74,1x28,1x10240,1x47232,1x448,2x1152,1x8192,2x272896,18x56,2x24,1x86,4x62,2x7808,1x2097152
+
+modprobe irqk
+modprobe edmak
+modprobe dm365mmap
+
+rm -f /dev/dm365mmap
+mknod /dev/dm365mmap c `awk "\\$2==\"dm365mmap\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
new file mode 100755
index 00000000..b4a230d5
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
@@ -0,0 +1,19 @@
+#
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
+modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
+
+rm -rf /dev/dsplink
+mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
new file mode 100755
index 00000000..b4a230d5
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
@@ -0,0 +1,19 @@
+#
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
+modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
+
+rm -rf /dev/dsplink
+mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
new file mode 100755
index 00000000..076af072
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
@@ -0,0 +1,42 @@
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+#
+# Default Memory Map
+#
+# Start Addr Size Description
+# -------------------------------------------
+# 0x80000000 88 MB Linux
+# 0x85800000 08 MB CMEM
+# 0x86800000 24 MB DDRALGHEAP
+# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
+# 0x87E00000 1 MB DSPLINK (MEM)
+# 0x87F00000 4 KB DSPLINK (RESET)
+# 0x87F01000 1020 KB unused
+
+modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
+
+
+# insert DSP/BIOS Link driver
+#
+modprobe dsplinkk
+
+# make /dev/dsplink
+rm -f /dev/dsplink
+mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
+
+
+# insert Local Power Manager driver
+#
+modprobe lpm_omap3530
+
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
new file mode 100755
index 00000000..2c98c787
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
@@ -0,0 +1,19 @@
+#
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
+modprobe dsplinkk
+
+rm -rf /dev/dsplink
+mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
new file mode 100755
index 00000000..2c98c787
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
@@ -0,0 +1,19 @@
+#
+# loadmodules.sh
+#
+# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation version 2.1 of the License.
+#
+# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
+# whether express or implied; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
+modprobe dsplinkk
+
+rm -rf /dev/dsplink
+mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/omap3530-r642-remove-include-videodev.diff b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/omap3530-r642-remove-include-videodev.diff
new file mode 100644
index 00000000..63f9cc68
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/omap3530-r642-remove-include-videodev.diff
@@ -0,0 +1,64 @@
+From 06c4cfeec98f4f1e31543878ceb74c5fff1907e4 Mon Sep 17 00:00:00 2001
+From: Enrico Butera <ebutera@users.berlios.de>
+Date: Thu, 22 Dec 2011 11:01:58 +0100
+Subject: [PATCH 1/2] adjust videdev headers for recent kernels
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ .../packages/ti/sdo/dmai/linux/omap3530/Capture.c | 1 -
+ .../ti/sdo/dmai/linux/omap3530/Display_v4l2.c | 1 -
+ .../ti/sdo/dmai/linux/omap3530/_VideoBuf.c | 1 -
+ .../ti/sdo/dmai/linux/omap3530/priv/_VideoBuf.h | 1 -
+ 4 files changed, 0 insertions(+), 4 deletions(-)
+
+diff --git a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Capture.c b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Capture.c
+index a924169..c2b45d2 100644
+--- a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Capture.c
++++ b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Capture.c
+@@ -40,7 +40,6 @@
+ #include <sys/mman.h>
+ #include <sys/ioctl.h>
+ #include <asm/types.h>
+-#include <linux/videodev.h>
+ #include <linux/videodev2.h>
+
+ #include <xdc/std.h>
+diff --git a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+index 0d01b39..0c35efe 100644
+--- a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
++++ b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/Display_v4l2.c
+@@ -38,7 +38,6 @@
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <errno.h>
+-#include <linux/videodev.h>
+ #include <linux/videodev2.h>
+
+ #include <xdc/std.h>
+diff --git a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/_VideoBuf.c b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/_VideoBuf.c
+index 5615e2f..5cb712d 100644
+--- a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/_VideoBuf.c
++++ b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/_VideoBuf.c
+@@ -38,7 +38,6 @@
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+ #include <errno.h>
+-#include <linux/videodev.h>
+ #include <linux/videodev2.h>
+
+ #include <xdc/std.h>
+diff --git a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/priv/_VideoBuf.h b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/priv/_VideoBuf.h
+index b2128a3..dbaa4eb 100644
+--- a/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/priv/_VideoBuf.h
++++ b/davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/omap3530/priv/_VideoBuf.h
+@@ -34,7 +34,6 @@
+ #ifndef ti_sdo_dai_linux_priv__VideoBuf_h_
+ #define ti_sdo_dai_linux_priv__VideoBuf_h_
+
+-#include <linux/videodev.h>
+ #include <linux/videodev2.h>
+
+ #include <ti/sdo/dmai/BufferGfx.h>
+--
+1.7.2.5
+
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/r642-fix-config-bld.diff b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/r642-fix-config-bld.diff
new file mode 100644
index 00000000..2f328c0e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/r642-fix-config-bld.diff
@@ -0,0 +1,48 @@
+From 86e89bb160cfe67c173f1260b93066b12dd73580 Mon Sep 17 00:00:00 2001
+From: Enrico Butera <ebutera@users.berlios.de>
+Date: Thu, 22 Dec 2011 11:03:58 +0100
+Subject: [PATCH 2/2] fix toolchain names in config.bld
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ .../dmai/packages/config.bld | 24 +------------------
+ 1 files changed, 2 insertions(+), 22 deletions(-)
+
+diff --git a/davinci_multimedia_application_interface/dmai/packages/config.bld b/davinci_multimedia_application_interface/dmai/packages/config.bld
+index 8c2e96e..566f907 100644
+--- a/davinci_multimedia_application_interface/dmai/packages/config.bld
++++ b/davinci_multimedia_application_interface/dmai/packages/config.bld
+@@ -44,28 +44,8 @@ var C6X = xdc.useModule('ti.targets.C64P');
+ C6X.rootDir = codegen;
+ C6X.platform = xdcplat;
+
+-/* User passes in $(CROSS_COMPILE) where $(CROSS_COMPILE)gcc is their compiler
+- Then the TOOLDIR and LONGNAME are derived based on a regex of CROSS_COMPILE
+-*/
+-var crosscompile = "" + java.lang.System.getenv("CROSS_COMPILE");
+-
+-var tooldir = "";
+-var longName = "";
+-
+-/* Search CROSS_COMPILE for bin/ If only 1 bin/ is found, set the tooldir to
+- the path prior to bin/ and the prefix to "bin/" + remainder of path,
+- else leave the tooldir as "" and set the LONGNAME to the full CROSS_COMPILE
+- path
+-*/
+-var regex = new RegExp("bin/");
+-var find = crosscompile.split( regex );
+-
+-if (find[0]!=crosscompile && find.length==2) {
+- tooldir = find[0];
+- longName = "bin/" + find[1] + "gcc";
+-} else {
+- longName = crosscompile + "gcc";
+-}
++var tooldir = "" + java.lang.System.getenv("CSTOOL_DIR");
++var longName = "" + java.lang.System.getenv("MVTOOL_PREFIX") + "gcc";
+
+ /* location of the GCC Arm9 tools */
+ var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+--
+1.7.2.5
+
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/remove-unneeded-includes.patch b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/remove-unneeded-includes.patch
new file mode 100644
index 00000000..cfd325a3
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/remove-unneeded-includes.patch
@@ -0,0 +1,26 @@
+Index: a/packages/ti/sdo/dmai/Makefile
+===================================================================
+--- a/packages/ti/sdo/dmai/Makefile
++++ b/packages/ti/sdo/dmai/Makefile
+@@ -107,7 +107,7 @@ XDCPATH += $(XDC_INSTALL_DIR)/packages;$
+
+ CPP_FLAGS += -I$(XDC_INSTALL_DIR)/packages -I$(DMAI_INSTALL_DIR)/packages -I$(CE_INSTALL_DIR)/packages -I$(FC_INSTALL_DIR)/packages -I$(XDAIS_INSTALL_DIR)/packages -I$(CODEC_INSTALL_DIR)/packages -DDmai_Device_$(PLATFORM_DEVICE)
+
+-GCC_CPP_FLAGS += $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_DIR)/include -I$(LINUXKERNEL_INSTALL_DIR)/arch/arm/include -I$(LINUXKERNEL_INSTALL_DIR)/arch/arm/$(PLATFORM_ARCH)/include $(HAVE_AUTOCONFIG) -I$(CMEM_INSTALL_DIR)/packages -I$(LINK_INSTALL_DIR) -DDmai_BuildOs_linux -Dxdc_target_types__=gnu/targets/std.h -I$(LINUXLIBS_INSTALL_DIR)/include -Dxdc_target_name__=arm/GCArmv5T
++GCC_CPP_FLAGS += $(CPP_FLAGS) $(HAVE_AUTOCONFIG) -I$(CMEM_INSTALL_DIR)/packages -I$(LINK_INSTALL_DIR) -DDmai_BuildOs_linux -Dxdc_target_types__=gnu/targets/std.h -I$(LINUXLIBS_INSTALL_DIR)/include -Dxdc_target_name__=arm/GCArmv5T
+ C64P_CPP_FLAGS += $(CPP_FLAGS) -I$(BIOS_INSTALL_DIR)/packages/ti/bios/include -I$(BIOS_INSTALL_DIR)/packages -DDmai_BuildOs_bios -Dxdc_target__='<ti/targets/std.h>' -I$(CODEGEN_INSTALL_DIR)/include -mv6400+ -pdse225 -eo$(PLATFORM_DEVICE).o$(EXT)
+
+ GCC_C_FLAGS += $(C_FLAGS) -Wall
+Index: a/packages/ti/sdo/dmai/apps/Makefile.app
+===================================================================
+--- a/packages/ti/sdo/dmai/apps/Makefile.app
++++ b/packages/ti/sdo/dmai/apps/Makefile.app
+@@ -121,7 +121,7 @@ C64P_C_FLAGS = $(C_FLAGS)
+ GCC_CPP_FLAGS = $(CPP_FLAGS) -I$(LINUXKERNEL_INSTALL_DIR)/include
+ C64P_CPP_FLAGS = $(CPP_FLAGS) -pdse225 -I$(CODEGEN_INSTALL_DIR)/include -mv6400+ -I$(BIOS_INSTALL_DIR)/packages/ti/bios/include -eo$(PLATFORM_DEVICE).o$(EXT)
+
+-GCC_LD_FLAGS = $(LD_FLAGS) -lpthread -lm -L$(LINUXLIBS_INSTALL_DIR)/lib -lasound
++GCC_LD_FLAGS = $(LD_FLAGS) -lpthread -lm --sysroot=$(PKG_CONFIG_SYSROOT_DIR) -L$(LINUXLIBS_INSTALL_DIR)/lib -lasound
+ C64P_LD_FLAGS = $(LD_FLAGS) -z -w -x -c -i$(RTDX_INSTALL_DIR)/packages/ti/rtdx/iom/lib/debug -i$(RTDX_INSTALL_DIR)/packages/ti/rtdx/cio/lib/release -i$(RTDX_INSTALL_DIR)/packages/ti/rtdx/lib/c6000
+
+ SOURCES = $(wildcard *.c)
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh
new file mode 100644
index 00000000..793d727f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh
@@ -0,0 +1,12 @@
+# Unload modules - DMAI - OMAP3530
+
+# remove lpm module
+rmmod lpm_omap3530
+
+# remove DSP/BIOS Link driver
+rmmod dsplinkk
+#rm -f /dev/dsplink
+
+# remove cmem module
+rmmod cmemk
+
diff --git a/bsp/meta-ti/recipes-ti/dmai/ti-dmai_svn.bb b/bsp/meta-ti/recipes-ti/dmai/ti-dmai_svn.bb
new file mode 100644
index 00000000..3cc54b91
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dmai/ti-dmai_svn.bb
@@ -0,0 +1,43 @@
+require ti-dmai.inc
+
+# Need to descend one level more to find source
+S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}/dmai"
+
+# Hack to be able to use recent kernel headers from userspace
+TARGET_CC_ARCH += " -D__EXPORTED_HEADERS__"
+
+PV = "2_10_00_01+svnr${SRCPV}"
+
+LIC_FILES_CHKSUM = "file://dmai_${PV}_License.html;md5=3302f728a5a42f97cabc26a54d7fa607"
+
+# This package has high dependence on kernel, use kernel PR as base and append a local version
+PR = "${MACHINE_KERNEL_PR}"
+PR_append = "p"
+
+DMAIBRANCH_dm6446 = "trunk"
+DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009"
+DMAIBRANCH_omap3 = "trunk"
+DMAIBRANCH_dm355 = "branches/GITPSP_INT_101009"
+DMAIBRANCH_dm365 = "trunk"
+DMAIBRANCH_omapl137 = "trunk"
+DMAIBRANCH_omapl138 = "trunk"
+DMAIBRANCH ?= "UNDEFINED_DMAIBRANCH"
+
+SRCREV_dm6446 = "482"
+SRCREV_dm6467 = "441"
+SRCREV_omap3 = "642"
+SRCREV_dm355 = "424"
+SRCREV_dm365 = "570"
+SRCREV_omapl137 = "482"
+SRCREV_omapl138 = "570"
+SRCREV ?= "UNDEFINED_SRCREV"
+
+SRC_URI_append = " file://omap3530-r642-remove-include-videodev.diff;striplevel=3 \
+ file://r642-fix-config-bld.diff;striplevel=3 \
+ file://remove-unneeded-includes.patch \
+ "
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/dsplib/dsplib-c64xp_git.bb b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c64xp_git.bb
new file mode 100644
index 00000000..1550a538
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c64xp_git.bb
@@ -0,0 +1,6 @@
+include dsplib.inc
+
+MATHLIB_INSTALL_DIR = "${MATHLIB_C64P_INSTALL_DIR}/packages"
+DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C64P_INSTALL_DIR_RECIPE}"
+DSPLIB_INSTALL_DIR = "${DSPLIB_C64P_INSTALL_DIR}"
+DSPLIB_BUILD_TARGET = "c64Px"
diff --git a/bsp/meta-ti/recipes-ti/dsplib/dsplib-c66x_git.bb b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c66x_git.bb
new file mode 100644
index 00000000..b28d8df6
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c66x_git.bb
@@ -0,0 +1,8 @@
+include dsplib.inc
+
+MATHLIB_INSTALL_DIR = "${MATHLIB_C66_INSTALL_DIR}/packages"
+DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C66_INSTALL_DIR_RECIPE}"
+DSPLIB_INSTALL_DIR = "${DSPLIB_C66_INSTALL_DIR}"
+DSPLIB_BUILD_TARGET = "c66x"
+
+DEPENDS += "mathlib-c66x"
diff --git a/bsp/meta-ti/recipes-ti/dsplib/dsplib-c674x_git.bb b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c674x_git.bb
new file mode 100644
index 00000000..47974ea1
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dsplib/dsplib-c674x_git.bb
@@ -0,0 +1,8 @@
+include dsplib.inc
+
+MATHLIB_INSTALL_DIR = "${MATHLIB_C674_INSTALL_DIR}/packages"
+DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C674_INSTALL_DIR_RECIPE}"
+DSPLIB_INSTALL_DIR = "${DSPLIB_C674_INSTALL_DIR}"
+DSPLIB_BUILD_TARGET = "c674x"
+
+DEPENDS += "mathlib-c674x"
diff --git a/bsp/meta-ti/recipes-ti/dsplib/dsplib.inc b/bsp/meta-ti/recipes-ti/dsplib/dsplib.inc
new file mode 100644
index 00000000..1dfbcd24
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/dsplib/dsplib.inc
@@ -0,0 +1,78 @@
+SUMMARY = "DSPLIB contains optimized signal processing functions for TI DSPs"
+HOMEPAGE = "http://git.ti.com/ep-processor-libraries/dsplib"
+LICENSE = "BSD-3-Clause"
+
+require ../includes/ti-paths.inc
+
+PV = "3_4_0_3"
+PR = "r2"
+
+DEPENDS = "ti-cgt6x-native \
+ ti-xdctools-native \
+ ti-sysbios \
+ doxygen-native \
+ zip-native \
+ swtools"
+
+S = "${WORKDIR}/git"
+
+DSPLIB_GIT_BRANCH = "master"
+DSPLIB_GIT_PROTOCOL = "git"
+DSPLIB_GIT_URI = "git://git.ti.com/ep-processor-libraries/dsplib.git"
+DSPLIB_SRCREV = "2cd21a04913648d040bd63234183cc6f81f5286a"
+
+SRC_URI = "${DSPLIB_GIT_URI};protocol=${DSPLIB_GIT_PROTOCOL};branch=${DSPLIB_GIT_BRANCH}"
+SRCREV = "${DSPLIB_SRCREV}"
+
+LIC_FILES_CHKSUM = "file://ti/dsplib/src/common/c66/lnk.cmd;beginline=1;endline=37;md5=0f0c9c4d51d8af75419781591ace190b"
+
+export DSPLIB_WORK_DIR="${S}"
+export CGTOOLS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
+export C64PCODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
+export C674CODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
+export C66CODEGENTOOL ="${CGTOOLS_INSTALL_DIR}"
+export SWTOOLS_PATH = "${SWTOOLS_INSTALL_DIR}/ti/mas/swtools"
+export XDCBUILDCFG="${SWTOOLS_PATH}/config.bld"
+export INCDIR="${MATHLIB_INSTALL_DIR}/"
+
+PATH_append = ":${XDC_INSTALL_DIR}"
+
+XDCPATH.="${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;"
+XDCPATH.="${SWTOOLS_INSTALL_DIR};${MATHLIB_INSTALL_DIR};${DSPLIB_WORK_DIR};"
+
+export XDCPATH
+
+DSPLIB_PACKAGE_NAME = "dsplib_${DSPLIB_BUILD_TARGET}_${PV}"
+
+do_compile() {
+ cd ${DSPLIB_WORK_DIR}/ti/dsplib;
+ xdc XDCARGS="${DSPLIB_BUILD_TARGET} bundle" XDCOPTIONS="-v"
+}
+
+do_install() {
+ install -d ${D}${DSPLIB_INSTALL_DIR_RECIPE}
+
+ find -name "${DSPLIB_PACKAGE_NAME}.zip" -exec unzip -o {} -d ${D}${DSPLIB_INSTALL_DIR_RECIPE} \;
+ cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib/. ${D}${DSPLIB_INSTALL_DIR_RECIPE}
+ rm -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib
+}
+
+inherit deploy
+addtask deploy before do_build after do_install
+
+do_deploy() {
+ install -d ${DEPLOYDIR}
+ # zip up files in ${D}${DSPLIB_INSTALL_DIR_RECIPE}
+ # and place the zip file in ${DEPLOYDIR}
+ mkdir ./${DSPLIB_PACKAGE_NAME}
+ cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/. ./${DSPLIB_PACKAGE_NAME}
+ zip -9 -y -r -q ${DEPLOYDIR}/${DSPLIB_PACKAGE_NAME}.zip ./${DSPLIB_PACKAGE_NAME}
+ rm -r ./${DSPLIB_PACKAGE_NAME}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${DSPLIB_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-dev = "arch"
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/engine-pkcs11/engine-pkcs11_git.bb b/bsp/meta-ti/recipes-ti/engine-pkcs11/engine-pkcs11_git.bb
new file mode 100644
index 00000000..7dd6f096
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/engine-pkcs11/engine-pkcs11_git.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "OpenSSL PKCS11 engine"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://src/engine_pkcs11.h;startline=1;endline=26;md5=471dacb7f0586e35729f422b8098585f"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+DEPENDS = "openssl10 libtool libp11"
+
+COMPATIBLE_MACHINE = "keystone"
+
+BRANCH = "master"
+
+PV = "1.3.0.1"
+# Commit corresponds to DEV.ENGINE_PKCS11-01.03.00.01
+SRCREV = "56ac060e2245907a442376d586924af26ed7e478"
+
+SRC_URI = "git://git.ti.com/keystone-linux/engine-pkcs11.git;protocol=git;branch=${BRANCH}"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/engines/*.so*"
+FILES_${PN}-dbg += "${libdir}/engines/.debug"
diff --git a/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components.inc b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components.inc
new file mode 100644
index 00000000..ca152328
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "TI Framework Components"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc"
+SECTION = "devel"
+LICENSE = "BSD"
+
+require recipes-ti/includes/ti-paths.inc
+
+S = "${WORKDIR}/framework_components_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/${PV}/exports/framework_components_${PV},lite.tar.gz;name=fctarball"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${FC_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${FC_INSTALL_DIR_RECIPE}
+}
+
+INSANE_SKIP_${PN} = "ldflags"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${FC_INSTALL_DIR_RECIPE}"
diff --git a/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb
new file mode 100644
index 00000000..1ec10b15
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_2.26.00.01.bb
@@ -0,0 +1,9 @@
+require ti-framework-components.inc
+
+PV = "2_26_00_01"
+PR = "r2"
+
+LIC_FILES_CHKSUM = "file://framework_components_2_26_00_01_manifest.html;md5=3250f9da7ee72284c07f8dd840400c75"
+
+SRC_URI[fctarball.md5sum] = "40b51cade2f9ae6e6f6dca73c17065af"
+SRC_URI[fctarball.sha256sum] = "3f7a12a51dfe87310828a31518d7ef8f9039e59269c0ca24f74a68433c235048"
diff --git a/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb
new file mode 100644
index 00000000..56c00283
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/framework-components/ti-framework-components_3.40.02.07.bb
@@ -0,0 +1,9 @@
+require ti-framework-components.inc
+
+PV = "3_40_02_07"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://framework_components_${PV}_Manifest.html;md5=0dd131dd53300f517b14dba8824f8b0a"
+
+SRC_URI[fctarball.md5sum] = "36dd2312ea8d70aa2ae0a05a24dbf54e"
+SRC_URI[fctarball.sha256sum] = "69082a0f86d12c24b39a1293ec35cf8007b850479898d5ae485ec1e8cf2e8c72"
diff --git a/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss.inc b/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss.inc
new file mode 100644
index 00000000..3c99b792
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss.inc
@@ -0,0 +1,20 @@
+DESCRIPTION = "TI HDVPSS"
+SECTION = "devel"
+LICENSE = "TI"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+
+S = "${WORKDIR}/REL.HDVPSS_${PV}"
+
+SRC_URI = "http://install.source.dir.local/REL.HDVPSS.${PV}.zip"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${HDVPSS_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${HDVPSS_INSTALL_DIR_RECIPE}
+}
+
diff --git a/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss_01.00.01.27.bb b/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss_01.00.01.27.bb
new file mode 100644
index 00000000..88b08442
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/hdvpss/ti-hdvpss_01.00.01.27.bb
@@ -0,0 +1,7 @@
+require ti-hdvpss.inc
+
+SRC_URI[md5sum] = "6db908bef3b933dc8cea666564d5d4d8"
+SRC_URI[sha256sum] = "2caa9c859cfe348197e860f07d174a8ab7048d38d6d3a12ec576802122c9e91e"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/imglib/imglib-c66x.inc b/bsp/meta-ti/recipes-ti/imglib/imglib-c66x.inc
new file mode 100644
index 00000000..164bf41d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/imglib/imglib-c66x.inc
@@ -0,0 +1,34 @@
+DESCRIPTION = "IMGLIB contains optimized general-purpose image/video processing routines for TI DSPs"
+HOMEPAGE = "http://www.ti.com/tool/sprc264"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/ti-unpack.inc
+
+COMPATIBLE_MACHINE = "omap-a15|keystone"
+
+SRC_URI = "http://software-dl.ti.com/sdoemb/sdoemb_public_sw/imglib/${PV}/exports/${BINFILE};name=imglib"
+
+S = "${WORKDIR}/imglib-c66x-${PV}"
+
+BINFILE = "imglib_c66x_${PV}_Linux.bin"
+TI_BIN_UNPK_ARGS = "--mode silent --prefix ${S}"
+TI_BIN_UNPK_CMDS = ""
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${IMGLIB_C66_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${IMGLIB_C66_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${IMGLIB_C66_INSTALL_DIR_RECIPE}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+RDEPENDS_${PN}-dev += "perl"
+INSANE_SKIP_${PN}-dev = "arch"
diff --git a/bsp/meta-ti/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb b/bsp/meta-ti/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb
new file mode 100644
index 00000000..e614352c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/imglib/imglib-c66x_3.1.1.0.bb
@@ -0,0 +1,9 @@
+require imglib-c66x.inc
+
+PV = "3_1_1_0"
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://packages/ti/imglib/src/common/IMG_profile.h;beginline=1;endline=35;md5=a21fc16da34b650ce33a9a7143908667"
+
+SRC_URI[imglib.md5sum] = "9d64f213e040899048446df5055deeca"
+SRC_URI[imglib.sha256sum] = "f3153e51530f26cfc638efca7ca6ae1bbaf7736daf287fc972592372a676ed21"
diff --git a/bsp/meta-ti/recipes-ti/includes/ti-eula-unpack.inc b/bsp/meta-ti/recipes-ti/includes/ti-eula-unpack.inc
new file mode 100644
index 00000000..ead06100
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/includes/ti-eula-unpack.inc
@@ -0,0 +1,15 @@
+# This file defines function used for unpacking the .bin file downloaded over
+# the http and display EULA.
+# BINFILE - name of the install jammer .bin file
+# TARFILE - name of the tar file inside the install jammer
+# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be
+# passed while unpacking the bin file. The keyword
+# workdir expands to WORKDIR and commands are appendded
+# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
+# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put
+# the output in some internal directory
+
+require recipes-ti/includes/ti-unpack.inc
+
+TI_BIN_UNPK_ARGS = "--mode console"
+
diff --git a/bsp/meta-ti/recipes-ti/includes/ti-paths.inc b/bsp/meta-ti/recipes-ti/includes/ti-paths.inc
new file mode 100644
index 00000000..250074b4
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/includes/ti-paths.inc
@@ -0,0 +1,122 @@
+installdir = "${datadir}/ti"
+
+export TOOLCHAIN_PATH ?= "${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_SYS}"
+# This is where do_install will put it
+export AUDIO_SOC_INSTALL_DIR_RECIPE = "${installdir}/ti-audio-soc-example-tree"
+export BIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-dspbios-tree"
+export BIOSPSP_INSTALL_DIR_RECIPE = "${installdir}/ti-biospsp-tree"
+export BIOSUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-biosutils-tree"
+export C6ACCEL_INSTALL_DIR_RECIPE = "${installdir}/ti-c6accel-tree"
+export C6RUN_INSTALL_DIR_RECIPE = "${installdir}/ti-c6run-tree"
+export CE_INSTALL_DIR_RECIPE = "${installdir}/ti-codec-engine-tree"
+export CMEM_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
+export CODEC_INSTALL_DIR_RECIPE = "${installdir}/ti-codecs-tree"
+export CODEGEN_ARM_INSTALL_DIR_RECIPE= "${installdir}/ti-cgt470-tree"
+export CODEGEN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt6x-tree"
+export DMAI_INSTALL_DIR_RECIPE = "${installdir}/ti-dmai-tree"
+export DSP_BENCHMARK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsp-benchmark-tree"
+export DSPLIB_C64P_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c64p-tree"
+export DSPLIB_C674_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c674x-tree"
+export DSPLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c66x-tree"
+export DVSDK_DEMOS_INSTALL_DIR_RECIPE= "${installdir}/ti-dvsdk-demos-tree"
+export DVTB_INSTALL_DIR_RECIPE = "${installdir}/ti-dvtb-tree"
+export EDMA3_LLD_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-tree"
+export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-sysbios-tree"
+export FASTMATHLIB_C674P_INSTALL_DIR_RECIPE = "${installdir}/ti-fastmathlib-c67x-tree"
+export FC3_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components3-tree"
+export FC_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components-tree"
+export GFX_SDK_INSTALL_DIR_RECIPE = "${installdir}/ti-gfx-sdk-tree"
+export HDVICP20_INSTALL_DIR_RECIPE = "${installdir}/ti-hdvicp20-tree"
+export HDVPSS_INSTALL_DIR_RECIPE = "${installdir}/ti-hdvpss-tree"
+export IMGLIB_C64P_INSTALL_DIR_RECIPE= "${installdir}/ti-imglib-tree"
+export IPC_INSTALL_DIR_RECIPE = "${installdir}/ti-ipc-tree"
+export LINK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplink-tree"
+export LINUXUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
+export LPM_INSTALL_DIR_RECIPE = "${installdir}/ti-local-power-manager-tree"
+export NDK_INSTALL_DIR_RECIPE = "${installdir}/ti-ndk-tree"
+export NS_INSTALL_DIR_RECIPE = "${installdir}/ti-ns-tree"
+export OMX_INSTALL_DIR_RECIPE = "${installdir}/ti-omx-tree"
+export OSAL_INSTALL_DIR_RECIPE = "${installdir}/ti-osal-tree"
+export RTFS_INSTALL_DIR_RECIPE = "${installdir}/ti-rtfs-tree"
+export SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-sysbios-tree"
+export SYSLINK_INSTALL_DIR_RECIPE = "${installdir}/ti-syslink-tree"
+export SWTOOLS_INSTALL_DIR_RECIPE = "${installdir}/ti-swtools-tree"
+export UIA_INSTALL_DIR_RECIPE = "${installdir}/ti-uia-tree"
+export VICPLIB_INSTALL_DIR_RECIPE = "${installdir}/ti-vicplib-tree"
+export XDAIS_INSTALL_DIR_RECIPE = "${installdir}/ti-xdais-tree"
+export XDC_INSTALL_DIR_RECIPE = "${installdir}/ti-xdctools-tree"
+export PDK_INSTALL_DIR_RECIPE = "${installdir}/ti-pdk-tree"
+export OSAL_INSTALL_DIR_RECIPE = "${installdir}/ti-osal-tree"
+export M4_TOOLCHAIN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt-arm"
+export GCC_ARM_NONE_TOOLCHAIN_RECIPE = "${installdir}/gcc-arm-none-eabi"
+export TI_CGT_PRU_INSTALL_DIR_RECIPE = "${installdir}/cgt-pru"
+export MATHLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-mathlib-c66x-tree"
+export MATHLIB_C674_INSTALL_DIR_RECIPE = "${installdir}/ti-mathlib-c674x-tree"
+export IMGLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-imglib-c66x-tree"
+export VLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-vlib-c66x-tree"
+export CG_XML_INSTALL_DIR_RECIPE = "${installdir}/ti-cg-xml-tree"
+export OMP_INSTALL_DIR_RECIPE = "${installdir}/ti-omp-tree"
+export MPM_INSTALL_DIR_RECIPE = "${installdir}/ti-mpm-tree"
+export TI_CGT6X_7_INSTALL_DIR_RECIPE = "${installdir}/cgt6x-7"
+export GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE = "${installdir}/gcc-linaro-baremetal"
+export GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE = "${installdir}/gcc-linaro-baremetal-aarch64"
+
+# This is where the tools will end up in sysroot
+export BIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOS_INSTALL_DIR_RECIPE}"
+export BIOSPSP_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOSPSP_INSTALL_DIR_RECIPE}"
+export BIOSUTILS_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOSUTILS_INSTALL_DIR_RECIPE}"
+export C6ACCEL_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6ACCEL_INSTALL_DIR_RECIPE}"
+export C6RUN_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6RUN_INSTALL_DIR_RECIPE}"
+export CE_INSTALL_DIR = "${STAGING_DIR_TARGET}${CE_INSTALL_DIR_RECIPE}"
+export CMEM_INSTALL_DIR = "${STAGING_DIR_TARGET}${CMEM_INSTALL_DIR_RECIPE}"
+export CODEC_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEC_INSTALL_DIR_RECIPE}"
+export CODEGEN_ARM_INSTALL_DIR= "${STAGING_DIR_TARGET}${CODEGEN_ARM_INSTALL_DIR_RECIPE}"
+export CODEGEN_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEGEN_INSTALL_DIR_RECIPE}"
+export DMAI_INSTALL_DIR = "${STAGING_DIR_TARGET}${DMAI_INSTALL_DIR_RECIPE}"
+export DSP_BENCHMARK_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSP_BENCHMARK_INSTALL_DIR_RECIPE}"
+export EDMA3_LLD_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_INSTALL_DIR_RECIPE}"
+export EDMA3_LLD_SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}"
+export FASTMATHLIB_C674P_INSTALL_DIR = "${STAGING_DIR_TARGET}${FASTMATHLIB_C674P_INSTALL_DIR_RECIPE}"
+export FC3_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC3_INSTALL_DIR_RECIPE}"
+export FC_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC_INSTALL_DIR_RECIPE}"
+export HDVICP20_INSTALL_DIR = "${STAGING_DIR_TARGET}${HDVICP20_INSTALL_DIR_RECIPE}"
+export HDVPSS_INSTALL_DIR = "${STAGING_DIR_TARGET}${HDVPSS_INSTALL_DIR_RECIPE}"
+export IMGLIB_C64P_INSTALL_DIR= "${STAGING_DIR_TARGET}${IMGLIB_C64P_INSTALL_DIR_RECIPE}"
+export IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}${IPC_INSTALL_DIR_RECIPE}"
+export LINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${LINK_INSTALL_DIR_RECIPE}"
+export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR_TARGET}${LINUXUTILS_INSTALL_DIR_RECIPE}"
+export LPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${LPM_INSTALL_DIR_RECIPE}"
+export NDK_INSTALL_DIR = "${STAGING_DIR_TARGET}${NDK_INSTALL_DIR_RECIPE}"
+export NS_INSTALL_DIR = "${STAGING_DIR_TARGET}${NS_INSTALL_DIR_RECIPE}"
+export OMX_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMX_INSTALL_DIR_RECIPE}"
+export SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSBIOS_INSTALL_DIR_RECIPE}"
+export SYSLINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSLINK_INSTALL_DIR_RECIPE}"
+export UIA_INSTALL_DIR = "${STAGING_DIR_TARGET}${UIA_INSTALL_DIR_RECIPE}"
+export XDAIS_INSTALL_DIR = "${STAGING_DIR_TARGET}${XDAIS_INSTALL_DIR_RECIPE}"
+export XDC_INSTALL_DIR = "${STAGING_DIR_NATIVE}${XDC_INSTALL_DIR_RECIPE}"
+export PDK_INSTALL_DIR = "${STAGING_DIR_TARGET}${PDK_INSTALL_DIR_RECIPE}"
+export OSAL_INSTALL_DIR = "${STAGING_DIR_TARGET}${OSAL_INSTALL_DIR_RECIPE}"
+export M4_TOOLCHAIN_INSTALL_DIR = "${STAGING_DIR_NATIVE}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}"
+export GCC_ARM_NONE_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}"
+export TI_CGT_PRU_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT_PRU_INSTALL_DIR_RECIPE}"
+export SWTOOLS_INSTALL_DIR = "${STAGING_DIR_TARGET}${SWTOOLS_INSTALL_DIR_RECIPE}"
+export DSPLIB_C64P_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C64P_INSTALL_DIR_RECIPE}"
+export DSPLIB_C674_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C674_INSTALL_DIR_RECIPE}"
+export DSPLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSPLIB_C66_INSTALL_DIR_RECIPE}"
+export MATHLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${MATHLIB_C66_INSTALL_DIR_RECIPE}"
+export MATHLIB_C674_INSTALL_DIR = "${STAGING_DIR_TARGET}${MATHLIB_C674_INSTALL_DIR_RECIPE}"
+export IMGLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${IMGLIB_C66_INSTALL_DIR_RECIPE}"
+export VLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${VLIB_C66_INSTALL_DIR_RECIPE}"
+export CG_XML_INSTALL_DIR = "${STAGING_DIR_NATIVE}${CG_XML_INSTALL_DIR_RECIPE}"
+export OMP_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMP_INSTALL_DIR_RECIPE}"
+export MPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${MPM_INSTALL_DIR_RECIPE}"
+export TI_CGT6X_7_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT6X_7_INSTALL_DIR_RECIPE}"
+export GCC_LINARO_BAREMETAL_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}"
+export GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}"
+
+
+DSPSUFFIX_omapl137 = "x674"
+DSPSUFFIX_omapl138 = "x674"
+DSPSUFFIX_ti816x = "xe674"
+DSPSUFFIX_ti814x = "xe674"
+DSPSUFFIX ?= "x64P"
diff --git a/bsp/meta-ti/recipes-ti/includes/ti-staging.inc b/bsp/meta-ti/recipes-ti/includes/ti-staging.inc
new file mode 100644
index 00000000..b5888055
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/includes/ti-staging.inc
@@ -0,0 +1,6 @@
+INHIBIT_PACKAGE_STRIP = "1"
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dev = "1"
+
+
diff --git a/bsp/meta-ti/recipes-ti/includes/ti-unpack.inc b/bsp/meta-ti/recipes-ti/includes/ti-unpack.inc
new file mode 100644
index 00000000..dbc49491
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/includes/ti-unpack.inc
@@ -0,0 +1,86 @@
+# This file defines function used for unpacking the .bin file downloaded over
+# the http.
+# BINFILE - name of the install jammer .bin file
+# TARFILE - name of the tar file inside the install jammer
+# TI_BIN_UNPK_ARGS - contains the arguments to be passed to the bin file.
+# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be
+# passed while unpacking the bin file. The keyword
+# workdir expands to WORKDIR and commands are appendded
+# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir"
+# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put
+# the output in some internal directory
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ bb.build.exec_func('ti_bin_do_unpack', d)
+}
+
+TI_BIN_UNPK_WDEXT ?= ""
+python ti_bin_do_unpack() {
+ import os
+
+ # InstallJammer requires 32bit version of glibc
+ lib32path = '/lib'
+ if os.path.exists('/lib64') and (os.path.islink('/lib64') or os.path.islink('/lib') or os.path.exists('/lib32')):
+ lib32path = '/lib32'
+ if not os.path.exists('%s/libc.so.6' % lib32path) and not os.path.exists('%s/i386-linux-gnu/libc.so.6' % lib32path):
+ bb.warn("TI installer requires 32bit glibc libraries for proper operation\nrun 'yum install glibc.i686' on Fedora or 'apt-get install libc6:i386' on Ubuntu/Debian")
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ binfile = localdata.getVar('BINFILE')
+ binfile = bb.data.expand(binfile, localdata)
+
+ # Change to the working directory
+ save_cwd = os.getcwd()
+ workdir = localdata.getVar('WORKDIR')
+ workdir = bb.data.expand(workdir, localdata)
+ os.chdir(workdir)
+
+ # Get unpack args
+ arg_string = localdata.getVar('TI_BIN_UNPK_ARGS')
+ arg_string = bb.data.expand(arg_string, localdata)
+
+ # Get unpack commands
+ cmd_string = localdata.getVar('TI_BIN_UNPK_CMDS')
+ cmd_list = cmd_string.split( ":" )
+
+ # Make the InstallJammer binary executable so we can run it
+ os.chmod(binfile, 0o755)
+
+ # Run the InstallJammer binary and accept the EULA
+ filename = "HOME=%s ./%s %s" % (workdir, binfile, arg_string)
+
+ # 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":
+ wdext = localdata.getVar('TI_BIN_UNPK_WDEXT')
+ wdext = bb.data.expand(wdext, localdata)
+ cmd = workdir+wdext
+ f.write(cmd+'\n');
+ f.close()
+
+ # Expand the tarball that was created if required
+ tarfile = localdata.getVar('TARFILE')
+ if bool(tarfile) == True:
+ tarfile = bb.data.expand(tarfile, localdata)
+ 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)
+}
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
+COMPATIBLE_HOST_class-native = "(.*)"
+COMPATIBLE_HOST_class-nativesdk = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-common-rtos_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-common-rtos_git.bb
new file mode 100644
index 00000000..6fec0f0d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-common-rtos_git.bb
@@ -0,0 +1,23 @@
+require recipes-ti/includes/ti-paths.inc
+require ipc-transport.inc
+
+PR = "${INC_PR}.1"
+
+LIC_FILES_CHKSUM = "file://common_src/bench_common.h;beginline=1;endline=31;md5=a6ddfb26d2097041d513e3881f40e4e8"
+
+COMPATIBLE_MACHINE = "k2hk|k2l|k2e"
+
+IPC_TRANSPORT_COMMON_DESTSUFFIX = "git/c66/example"
+
+S = "${WORKDIR}/${IPC_TRANSPORT_COMMON_DESTSUFFIX}"
+
+do_compile() {
+ :
+}
+
+do_install () {
+ install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/transport/ipc/c66/example
+ cp -r ${S} ${D}${PDK_INSTALL_DIR_RECIPE}/packages/ti/transport/ipc/c66
+}
+
+FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages/ti/transport/ipc/c66/example/*"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-rtos_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-rtos_git.bb
new file mode 100644
index 00000000..6655ab7e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-rtos_git.bb
@@ -0,0 +1,23 @@
+inherit ti-pdk
+require ipc-transport.inc
+
+PR = "${INC_PR}.4"
+
+LIC_FILES_CHKSUM = "file://TransportQmss.xdc;beginline=1;endline=35;md5=ad783760d74a4cc5b8d4ad3d8a1f28a2"
+
+COMPATIBLE_MACHINE = "k2hk|k2l|k2e"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS_append = " qmss-lld-rtos \
+ cppi-lld-rtos \
+ ti-ipc-rtos \
+ ipc-transport-common-rtos \
+"
+
+IPC_TRANSPORT_QMSS_DESTSUFFIX = "git/c66/qmss"
+
+S = "${WORKDIR}/${IPC_TRANSPORT_QMSS_DESTSUFFIX}"
+
+export IPC_INSTALL_PATH = "${IPC_INSTALL_DIR}"
+XDCPATH_append = ";${IPC_INSTALL_DIR}/packages"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-test_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-test_git.bb
new file mode 100644
index 00000000..3561ef95
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss-test_git.bb
@@ -0,0 +1,37 @@
+include ipc-transport-qmss.inc
+
+PR = "${INC_PR}.0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = "ipc-transport-qmss ti-ipc"
+
+#FILES_${PN}-test = "${bindir}/multiProcessTest_*.out"
+
+CHOICELIST = "yes no"
+
+DEVICELIST_k2hk = "k2h k2k"
+DEVICELIST_k2e = "k2e"
+DEVICELIST_k2l = "k2l"
+
+do_compile () {
+# Now build the test code
+ for device in ${DEVICELIST}
+ do
+ for choice in ${CHOICELIST}
+ do
+ oe_runmake tests \
+ IPC_DEVKIT_INSTALL_PATH=${STAGING_INCDIR} \
+ USEDYNAMIC_LIB="$choice" DEVICE="$device"
+ done
+ done
+}
+
+do_install () {
+ for device in ${DEVICELIST}
+ do
+ oe_runmake installbin \
+ INSTALL_BIN_BASE_DIR=${D}${bindir} DEVICE="$device"
+ done
+
+}
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss.inc b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss.inc
new file mode 100644
index 00000000..f029656e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "TI QMSS-Based IPC MessageQ Transport"
+LICENSE = "BSD-3-Clause"
+
+require ipc-transport.inc
+
+INC_PR_append = ".1"
+
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=27bb0deb260c60120a8d7b91da7c3b02"
+
+COMPATIBLE_MACHINE = "keystone"
+
+S = "${WORKDIR}/git/linux/qmss"
+
+EXTRA_OEMAKE += "PDK_INSTALL_PATH=${STAGING_INCDIR} TRANS_QMSS_SRC_DIR=${S}"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss_git.bb
new file mode 100644
index 00000000..4c9aaded
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-qmss_git.bb
@@ -0,0 +1,17 @@
+include ipc-transport-qmss.inc
+
+PR = "${INC_PR}.0"
+
+DEPENDS = "ti-ipc mpm-transport"
+
+do_compile () {
+# Now build the transport
+ oe_runmake clean
+ oe_runmake lib
+}
+
+do_install () {
+ oe_runmake install INSTALL_INC_BASE_DIR=${D}${includedir} \
+ INSTALL_LIB_BASE_DIR=${D}${libdir}
+ chown -R root:root ${D}
+}
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-rtos_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-rtos_git.bb
new file mode 100644
index 00000000..3f96598f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-rtos_git.bb
@@ -0,0 +1,22 @@
+inherit ti-pdk
+require ipc-transport.inc
+
+PR = "${INC_PR}.2"
+
+LIC_FILES_CHKSUM = "file://TransportSrio.xdc;beginline=1;endline=35;md5=4d466471e4b933a0cc353a46bb546fe7"
+
+COMPATIBLE_MACHINE = "k2hk"
+
+DEPENDS_append = " qmss-lld-rtos \
+ cppi-lld-rtos \
+ srio-lld-rtos \
+ ti-ipc-rtos \
+ ipc-transport-common-rtos \
+"
+
+IPC_TRANSPORT_SRIO_DESTSUFFIX = "git/c66/srio"
+
+S = "${WORKDIR}/${IPC_TRANSPORT_SRIO_DESTSUFFIX}"
+
+export IPC_INSTALL_PATH = "${IPC_INSTALL_DIR}"
+XDCPATH_append = ";${IPC_INSTALL_DIR}/packages"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-test_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-test_git.bb
new file mode 100644
index 00000000..4e23fb21
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio-test_git.bb
@@ -0,0 +1,32 @@
+include ipc-transport-srio.inc
+
+PR = "${INC_PR}.0"
+
+DEPENDS = "ipc-transport-srio ipc-transport-qmss ti-ipc"
+
+DEVICELIST = "k2h k2k"
+
+CHOICELIST = "yes no"
+
+do_compile () {
+# Now build the test code
+ for device in ${DEVICELIST}
+ do
+ for choice in ${CHOICELIST}
+ do
+ oe_runmake tests \
+ IPC_DEVKIT_INSTALL_PATH=${STAGING_INCDIR} \
+ USEDYNAMIC_LIB="$choice" DEVICE="$device"
+ done
+ done
+}
+
+do_install () {
+
+ for device in ${DEVICELIST}
+ do
+ oe_runmake installbin \
+ INSTALL_BIN_BASE_DIR=${D}${bindir} DEVICE="$device"
+ done
+
+}
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio.inc b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio.inc
new file mode 100644
index 00000000..6c477388
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "TI SRIO-Based IPC MessageQ Transport"
+LICENSE = "BSD-3-Clause"
+
+require ipc-transport.inc
+
+INC_PR_append = ".1"
+
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=27bb0deb260c60120a8d7b91da7c3b02"
+
+COMPATIBLE_MACHINE = "k2hk"
+
+S = "${WORKDIR}/git/linux/srio"
+
+EXTRA_OEMAKE += "PDK_INSTALL_PATH=${STAGING_INCDIR} TRANS_SRIO_SRC_DIR=${S}"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio_git.bb b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio_git.bb
new file mode 100644
index 00000000..f0586d8b
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport-srio_git.bb
@@ -0,0 +1,16 @@
+include ipc-transport-srio.inc
+
+PR = "${INC_PR}.0"
+
+DEPENDS = "ti-ipc mpm-transport"
+
+do_compile () {
+# Now build the transport
+ oe_runmake clean
+ oe_runmake lib
+}
+
+do_install () {
+ oe_runmake install INSTALL_INC_BASE_DIR=${D}${includedir} \
+ INSTALL_LIB_BASE_DIR=${D}${libdir}
+}
diff --git a/bsp/meta-ti/recipes-ti/ipc/ipc-transport.inc b/bsp/meta-ti/recipes-ti/ipc/ipc-transport.inc
new file mode 100644
index 00000000..25c49e72
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ipc-transport.inc
@@ -0,0 +1,15 @@
+LICENSE = "BSD-3-Clause"
+
+IPC_TRANSPORT_GIT_URI = "git://git.ti.com/keystone-linux/ipc-transport.git"
+IPC_TRANSPORT_GIT_PROTOCOL = "git"
+IPC_TRANSPORT_GIT_BRANCH = "master"
+
+# Below commit ID corresponds to "DEV.IPC-TRANSPORT.02.00.00.02"
+IPC_TRANSPORT_SRCREV = "8cb22733115f7c1ee1e1cf3f7d704158080f383c"
+
+BRANCH = "${IPC_TRANSPORT_GIT_BRANCH}"
+SRC_URI = "${IPC_TRANSPORT_GIT_URI};protocol=${IPC_TRANSPORT_GIT_PROTOCOL};branch=${BRANCH}"
+
+SRCREV = "${IPC_TRANSPORT_SRCREV}"
+PV = "02.00.00.02"
+INC_PR = "r0"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-common.inc b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-common.inc
new file mode 100644
index 00000000..036e46d8
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-common.inc
@@ -0,0 +1,21 @@
+PV = "3.50.03.05"
+INC_PR = "r0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
+
+PLATFORM = "UNKNOWN"
+PLATFORM_omap5-evm = "OMAP54XX"
+PLATFORM_dra7xx = "DRA7XX"
+PLATFORM_k2hk = "TCI6638"
+PLATFORM_k2l = "TCI6630"
+PLATFORM_k2e = "66AK2E"
+PLATFORM_k2g = "66AK2G"
+PLATFORM_omapl138 = "OMAPL138"
+PLATFORM_c667x-evm = "C6678"
+PLATFORM_c665x-evm = "C6678"
+PLATFORM_am65xx = "AM65XX"
+
+ALT_PLATFORM_k2hk = "TCI6636"
+ALT_PLATFORM_am57xx-evm = "AM572X AM571X"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples-linux_git.bb b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
new file mode 100644
index 00000000..471d7ff2
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
@@ -0,0 +1,47 @@
+DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running bios"
+require ti-ipc-examples.inc
+
+DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native"
+
+do_compile_append() {
+
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+
+ if [ ! -z ${ALT_PLATFORM} ]; then
+ oe_runmake extract PLATFORM="${ALT_PLATFORM}" HOSTOS="linux" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+ fi
+ oe_runmake -C examples all HOSTOS="linux" \
+ LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+
+ if [ ! -z ${ALT_PLATFORM} ]; then
+ oe_runmake -C examples all HOSTOS="linux" \
+ LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ PLATFORM="${ALT_PLATFORM}"
+ fi
+ fi
+}
+
+do_install_append() {
+ cd ${S_ipc-examples}/src
+
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ # Install directory for linux examples
+ install -d ${D}${bindir}/ipc/examples
+ oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
+ HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples"
+
+ if [ ! -z ${ALT_PLATFORM} ]; then
+ oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ LINUX_SYSROOT_DIR="${STAGING_INCDIR}" \
+ HOSTOS="linux" EXEC_DIR="${D}/${bindir}/ipc/examples" \
+ PLATFORM="${ALT_PLATFORM}"
+ fi
+ fi
+}
+
+FILES_${PN} += "${bindir}/*"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples.inc b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples.inc
new file mode 100644
index 00000000..022b13f0
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples.inc
@@ -0,0 +1,31 @@
+HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:IPC"
+require ti-ipc-common.inc
+require ti-ipc-rtos.inc
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S_ipc-examples}/src/makefile;beginline=1;endline=30;md5=a52324bd5033bb49ea07bade1244ac9a"
+
+INSANE_SKIP_${PN} += "arch"
+
+ALLOW_EMPTY_${PN} = "1"
+
+IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}/usr/share/ti/ti-ipc-tree"
+
+do_compile() {
+
+ cd ${S_ipc-examples}/src
+ oe_runmake .examples \
+ IPCTOOLS="${S_ipc-metadata}/src/etc"
+
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake .examples "PLATFORM=${alt_platform}" \
+ IPCTOOLS="${S_ipc-metadata}/src/etc"
+ done
+}
+
+do_install() {
+ cd ${S_ipc-examples}/src
+ IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples_git.bb b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples_git.bb
new file mode 100644
index 00000000..43e45e64
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-examples_git.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "TI Inter Process Communication (IPC) examples with Host running linux"
+require ti-ipc-examples.inc
+
+DEPENDS = "ti-ipc ti-xdctools-native ti-sysbios ti-ipc-rtos zip-native"
+
+DEPENDS_append_am65xx = " sciclient-rtos"
+
+do_compile_append() {
+
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake extract PLATFORM="${alt_platform}" HOSTOS="bios" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+ done
+ oe_runmake -C examples all HOSTOS="bios" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}"
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake -C examples all HOSTOS="bios" \
+ IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" PLATFORM="${alt_platform}"
+ done
+ fi
+}
+
+do_install_append() {
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ # Install directory for bios examples
+ install -d ${D}/ipc_${IPC_VERSION}/examples/bios
+ oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios"
+ oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/bios"
+
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake -C examples install IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \
+ PLATFORM="${alt_platform}"
+ oe_runmake -C examples install_rov IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
+ HOSTOS="bios" EXEC_DIR="${D}/ipc_${IPC_VERSION}/examples/${alt_platform}/bios" \
+ PLATFORM="${alt_platform}"
+ done
+ fi
+}
+
+FILES_${PN} += "ipc_*"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos.inc b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos.inc
new file mode 100644
index 00000000..dcd6309f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos.inc
@@ -0,0 +1,96 @@
+require recipes-ti/includes/ti-paths.inc
+
+TI_IPC_EXAMPLES_GIT_URI = "git://git.ti.com/ipc/ipc-examples.git"
+TI_IPC_EXAMPLES_DEST_SUFFIX = "git/ipc-examples"
+TI_IPC_EXAMPLES_GIT_PROTOCOL = "git"
+TI_IPC_EXAMPLES_GIT_BRANCH = "master"
+TI_IPC_EXAMPLES_NAME = "ipc-examples"
+
+SRC_URI += "${TI_IPC_EXAMPLES_GIT_URI};\
+destsuffix=${TI_IPC_EXAMPLES_DEST_SUFFIX};\
+protocol=${TI_IPC_EXAMPLES_GIT_PROTOCOL};\
+branch=${TI_IPC_EXAMPLES_GIT_BRANCH};\
+name=${TI_IPC_EXAMPLES_NAME}"
+
+TI_IPC_METADATA_GIT_URI = "git://git.ti.com/ipc/ipc-metadata.git"
+TI_IPC_METADATA_DEST_SUFFIX = "git/ipc-metadata"
+TI_IPC_METADATA_GIT_PROTOCOL = "git"
+TI_IPC_METADATA_GIT_BRANCH = "master"
+TI_IPC_METADATA_NAME = "ipc-metadata"
+
+SRC_URI += "${TI_IPC_METADATA_GIT_URI};\
+destsuffix=${TI_IPC_METADATA_DEST_SUFFIX};\
+protocol=${TI_IPC_METADATA_GIT_PROTOCOL};\
+branch=${TI_IPC_METADATA_GIT_BRANCH};\
+name=${TI_IPC_METADATA_NAME}"
+
+# Corresponds to tag: 3.50.03.05
+TI_IPC_METADATA_SRCREV = "3936c41d021c6d56c25f4bb07b647314a6589a57"
+# Corresponds to tag: 3.50.03.05
+TI_IPC_EXAMPLES_SRCREV = "55a8341c60a91c0ba2d79b7e4b805e2e39b3060f"
+
+SRCREV_FORMAT = "default"
+SRCREV_ipc-metadata = "${TI_IPC_METADATA_SRCREV}"
+SRCREV_ipc-examples = "${TI_IPC_EXAMPLES_SRCREV}"
+
+S_ipc-examples = "${WORKDIR}/git/ipc-examples"
+S_ipc-metadata = "${WORKDIR}/git/ipc-metadata"
+
+RELEASE_TYPE = "GA"
+RELEASE_SUFFIX = ""
+
+PR = "${INC_PR}.r0"
+
+DEPENDS_append_keystone = " ti-cgt6x-native \
+ gcc-arm-none-eabi-native \
+"
+DEPENDS_append_omap-a15 = " ti-cgt6x-native \
+ ti-cgt-arm-native \
+ gcc-arm-none-eabi-native \
+"
+DEPENDS_append_omapl138 = " ti-cgt6x-native \
+"
+DEPENDS_append_c66x = " ti-cgt6x-native \
+"
+
+DEPENDS_append_am65xx = " ti-cgt-arm-native \
+ gcc-linaro-baremetal-aarch64-native"
+
+IPC_TARGETS = ""
+
+IPC_TARGETS_omap-a15 = "\
+ gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \
+ ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+ ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+ ti.targets.arm.elf.M4="${M4_TOOLCHAIN_INSTALL_DIR}" \
+"
+
+IPC_TARGETS_omapl138 = "\
+ ti.targets.elf.C674="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+"
+
+IPC_TARGETS_keystone = " \
+ gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \
+ ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+ ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+"
+IPC_TARGETS_c66x = " \
+ ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+ ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+"
+
+IPC_TARGETS_am65xx = "\
+ gnu.targets.arm.A53F="${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN}" \
+ ti.targets.arm.elf.R5F="${M4_TOOLCHAIN_INSTALL_DIR}" \
+"
+
+EXTRA_OEMAKE = "\
+ PLATFORM=${PLATFORM} \
+ XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
+ BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
+ ${IPC_TARGETS} \
+ JOBS="--jobs=${BB_NUMBER_THREADS}" \
+ JAVA_TOOL_OPTIONS=-Xss2560k \
+"
+EXTRA_OEMAKE_append_am65xx = " PDK_INSTALL_DIR=${PDK_INSTALL_DIR}"
+
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
new file mode 100644
index 00000000..4c0e71e6
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc-rtos_git.bb
@@ -0,0 +1,141 @@
+require ti-ipc.inc
+require ti-ipc-common.inc
+require ti-ipc-rtos.inc
+
+DEPENDS = "ti-xdctools-native ti-sysbios doxygen-native zip-native"
+DEPENDS_append_am65xx = " sciclient-rtos"
+
+PACKAGES =+ "${PN}-fw"
+FILES_${PN}-fw = "${base_libdir}/firmware/*"
+FILES_${PN}-dev += "${IPC_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-fw += "arch"
+INSANE_SKIP_${PN}-dev += "arch"
+
+ALLOW_EMPTY_${PN} = "1"
+
+IPC_PACKAGE_DIR = "${S}/ipc-package"
+
+do_compile() {
+ oe_runmake -f ipc-bios.mak clean
+ oe_runmake -f ipc-bios.mak release
+
+ cd ${S_ipc-metadata}
+ oe_runmake .all-files IPC_INSTALL_DIR="${S}" \
+ BUILD_HOST_OS="linux" \
+ RELEASE_TYPE="${RELEASE_TYPE}"
+
+ cd ${S_ipc-examples}/src
+ oe_runmake .examples \
+ IPCTOOLS="${S_ipc-metadata}/src/etc"
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake .examples \
+ IPCTOOLS="${S_ipc-metadata}/src/etc" \
+ PLATFORM=${alt_platform}
+ done
+
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${S}"
+ oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${S}"
+
+ for alt_platform in ${ALT_PLATFORM}; do
+ oe_runmake extract PLATFORM=${alt_platform} HOSTOS="bios" IPC_INSTALL_DIR="${S}"
+ oe_runmake extract PLATFORM=${alt_platform} HOSTOS="linux" IPC_INSTALL_DIR="${S}"
+ done
+ fi
+
+ IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
+ install -d ${IPC_PACKAGE_DIR}
+ # Copy docs and other meta files
+ cp -pPrf ${S_ipc-metadata}/exports/ipc_${IPC_VERSION}/* -d ${IPC_PACKAGE_DIR}
+
+ # Copy example folders corresponding to the platforms
+ if [ "${PLATFORM}" != "UNKNOWN" ]; then
+ install -d ${IPC_PACKAGE_DIR}/examples
+ cp -pPf ${S_ipc-examples}/src/examples/*.* ${IPC_PACKAGE_DIR}/examples/
+ cp -pPf ${S_ipc-examples}/src/examples/makefile ${IPC_PACKAGE_DIR}/examples/
+ cp -pPrf ${S_ipc-examples}/src/examples/${PLATFORM}* ${IPC_PACKAGE_DIR}/examples/
+ for alt_platform in ${ALT_PLATFORM}; do
+ cp -pPrf ${S_ipc-examples}/src/examples/${alt_platform}* ${IPC_PACKAGE_DIR}/examples/
+ done
+ find ${IPC_PACKAGE_DIR}/examples/ -name "*zip" -type f | xargs -I {} rm {}
+ fi
+}
+
+do_install_prepend_am65xx () {
+ # Trim directory name
+ mv ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_false_R5F0 ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_R5F0
+ mv ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_false_R5F1 ${S}/packages/ti/ipc/tests/bin/ti_platforms_cortexR_AM65X_R5F1
+}
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
+ # Copy docs and other meta files
+ install -d ${D}${IPC_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${IPC_PACKAGE_DIR}/* -d ${D}${IPC_INSTALL_DIR_RECIPE}
+
+ install -d ${D}${base_libdir}/firmware/ipc
+ cp ${CP_ARGS} ${S}/packages/ti/ipc/tests/bin/* ${D}${base_libdir}/firmware/ipc || true
+}
+
+KFDSPNUM = "0"
+KFDSPNUM_k2hk = "8"
+KFDSPNUM_k2l = "4"
+KFDSPNUM_keystone = "1"
+
+KFPLAT = ""
+KFPLAT_k2hk = "TCI6638K2K"
+KFPLAT_k2l = "TCI6630K2L"
+KFPLAT_k2e = "C66AK2E"
+KFPLAT_k2g = "TCI66AK2G02"
+
+ALTERNATIVE_PRIORITY = "5"
+
+pkg_postinst_${PN}-fw_keystone () {
+ i=0
+ while [ $i -lt ${KFDSPNUM} ]; do
+ update-alternatives --install /lib/firmware/keystone-dsp$i-fw keystone-dsp$i-fw ipc/ti_platforms_evm${KFPLAT}_core0/messageq_single.xe66 ${ALTERNATIVE_PRIORITY}
+ i=$(($i + 1))
+ done
+}
+
+pkg_postrm_${PN}-fw_keystone () {
+ i=0
+ while [ $i -lt ${KFDSPNUM} ]; do
+ update-alternatives --remove keystone-dsp$i-fw ipc/ti_platforms_evm${KFPLAT}_core0/messageq_single.xe66
+ i=$(($i + 1))
+ done
+}
+
+pkg_postinst_${PN}-fw_omap-a15 () {
+ update-alternatives --install /lib/firmware/dra7-dsp1-fw.xe66 dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66 ${ALTERNATIVE_PRIORITY}
+ update-alternatives --install /lib/firmware/dra7-dsp2-fw.xe66 dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66 ${ALTERNATIVE_PRIORITY}
+ update-alternatives --install /lib/firmware/dra7-ipu1-fw.xem4 dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4 ${ALTERNATIVE_PRIORITY}
+ update-alternatives --install /lib/firmware/dra7-ipu2-fw.xem4 dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4 ${ALTERNATIVE_PRIORITY}
+}
+
+pkg_postrm_${PN}-fw_omap-a15 () {
+ update-alternatives --remove dra7-dsp1-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp1/test_omx_dsp1_vayu.xe66
+ update-alternatives --remove dra7-dsp2-fw.xe66 ipc/ti_platforms_evmDRA7XX_dsp2/test_omx_dsp2_vayu.xe66
+ update-alternatives --remove dra7-ipu1-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4
+ update-alternatives --remove dra7-ipu2-fw.xem4 ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4
+}
+
+pkg_postinst_${PN}-fw_omapl138 () {
+ update-alternatives --install /lib/firmware/rproc-dsp-fw rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674 ${ALTERNATIVE_PRIORITY}
+}
+
+pkg_postrm_${PN}-fw_omapl138 () {
+ update-alternatives --remove rproc-dsp-fw ipc/ti_platforms_evmOMAPL138_DSP/messageq_single.xe674
+}
+
+pkg_postinst_${PN}-fw_am65xx () {
+ update-alternatives --install /lib/firmware/am65x-mcu-r5f0_0-fw am65x-mcu-r5f0_0-fw ipc/ti_platforms_cortexR_AM65X_R5F0/messageq_single.xer5f ${ALTERNATIVE_PRIORITY}
+ update-alternatives --install /lib/firmware/am65x-mcu-r5f0_1-fw am65x-mcu-r5f0_1-fw ipc/ti_platforms_cortexR_AM65X_R5F1/messageq_single.xer5f ${ALTERNATIVE_PRIORITY}
+}
+
+pkg_postrm_${PN}-fw_am65xx () {
+ update-alternatives --remove am65x-mcu-r5f0_0-fw ipc/ti_platforms_cortexR_AM65X_R5F0/messageq_single.xer5f
+ update-alternatives --remove am65x-mcu-r5f0_1-fw ipc/ti_platforms_cortexR_AM65X_R5F1/messageq_single.xer5f
+}
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc.inc b/bsp/meta-ti/recipes-ti/ipc/ti-ipc.inc
new file mode 100644
index 00000000..482fdcc2
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "TI Inter Process Communication (IPC) Mechanisms (for Uni- and Multi- Processor Configurations)"
+HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://${S}/ipc-linux.mak;beginline=1;endline=30;md5=7b327f9b710fd7c95e545b91cec79255"
+
+TI_IPC_GIT_URI = "git://git.ti.com/ipc/ipcdev.git"
+TI_IPC_GIT_PROTOCOL = "git"
+TI_IPC_GIT_BRANCH = "3.50"
+
+#Corresponds to 3.50.03.05
+TI_IPC_SRCREV = "7007b8adff409fd8c90757c9adafd264a3ff15e3"
+
+BRANCH = "${TI_IPC_GIT_BRANCH}"
+SRC_URI = "${TI_IPC_GIT_URI};protocol=${TI_IPC_GIT_PROTOCOL};branch=${BRANCH};name=ipcdev"
+SRCREV = "${TI_IPC_SRCREV}"
+
+S = "${WORKDIR}/git"
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch
new file mode 100644
index 00000000..e612ddc1
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/0001-Add-kernel-build-dir.patch
@@ -0,0 +1,112 @@
+From 7d9f57983c6d14ac14f26987eddc555ea5c75d61 Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@ti.com>
+Date: Mon, 27 Jul 2015 11:51:52 -0400
+Subject: [PATCH] Add kernel build dir
+
+We build kernel outside of the source directory and the generated version.h
+file ends up being in a separate directory from the rest of kernel headers.
+Use another variable to point to the kernel build artifacts.
+
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+
+---
+ configure.ac | 6 ++++++
+ ipc-linux.mak | 3 +++
+ linux/src/mm/Makefile.am | 2 +-
+ packages/ti/ipc/mm/MmRpc.c | 4 ++++
+ 4 files changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f0b4b61..9b5d07c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -71,6 +71,7 @@ AC_SUBST([AM_LDFLAGS])
+ AC_ARG_VAR(PLATFORM, Platform to build. Options are: 'OMAPL138' 'OMAP54XX' '66AK2E' 'TCI6630' 'TCI6636' 'TCI6638' '66AK2G' and 'DRA7XX'. If not defined all platforms will be built.)
+ AC_ARG_VAR(CMEM_INSTALL_DIR, Installation path directory to the CMEM libraries)
+ AC_ARG_VAR(KERNEL_INSTALL_DIR, Installation path to the Linux kernel.)
++AC_ARG_VAR(KERNEL_BUILD_DIR, Path to the Linux kernel build artifacts.)
+ AC_ARG_VAR(AF_RPMSG, Address Family used by the RPMSG driver)
+ AC_ARG_VAR(DRM_PREFIX, Installation location to the DRM library.)
+
+@@ -111,6 +112,7 @@ AS_IF([test "x$PLATFORM" = "x"], [CMEM_INSTALL_DIR=])
+ AC_SUBST([PLATFORM])
+ AC_SUBST([CMEM_INSTALL_DIR])
+ AC_SUBST([KERNEL_INSTALL_DIR])
++AC_SUBST([KERNEL_BUILD_DIR])
+ AC_SUBST([AF_RPMSG])
+ AC_SUBST([DRM_PREFIX])
+
+@@ -127,6 +129,7 @@ AM_CONDITIONAL([DRA7XX], [test "x$PLATFORM" = "xDRA7XX"])
+ AM_CONDITIONAL([CMEM], [test "x$CMEM_INSTALL_DIR" != "x"])
+ AM_CONDITIONAL([KDIR], [test "x$KERNEL_INSTALL_DIR" != "x"])
+ AM_CONDITIONAL([KERNEL_INSTALL_DIR], [test -n "$KERNEL_INSTALL_DIR"])
++AM_CONDITIONAL([KERNEL_BUILD_DIR], [test -n "$KERNEL_BUILD_DIR"])
+ AM_CONDITIONAL([DRM], [test "x$DRM_PREFIX" != "x"])
+ AM_CONDITIONAL([AF_RPMSG], [test -n "$AF_RPMSG"])
+
+@@ -157,6 +160,9 @@ You have configured to build for the '${PLATFORM}' platform
+ Your KERNEL installation directory is set to:
+ '${KERNEL_INSTALL_DIR}'
+
++Your KERNEL build artifacts directory is set to:
++ '${KERNEL_BUILD_DIR}'
++
+ Your DRM installation directory is set to:
+ '${DRM_PREFIX}'
+
+diff --git a/ipc-linux.mak b/ipc-linux.mak
+index 58a9cea..4e543ff 100644
+--- a/ipc-linux.mak
++++ b/ipc-linux.mak
+@@ -60,6 +60,7 @@ config:
+ PLATFORM=$(PLATFORM) \
+ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
+ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \
++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \
+ DRM_PREFIX=$(DRM_PREFIX) \
+ AF_RPMSG=$(AF_RPMSG)
+
+@@ -72,6 +73,7 @@ config-static:
+ PLATFORM=$(PLATFORM) \
+ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
+ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \
++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \
+ DRM_PREFIX=$(DRM_PREFIX) \
+ AF_RPMSG=$(AF_RPMSG)
+
+@@ -84,5 +86,6 @@ config-shared:
+ PLATFORM=$(PLATFORM) \
+ CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
+ KERNEL_INSTALL_DIR=$(KERNEL_INSTALL_DIR) \
++ KERNEL_BUILD_DIR=$(KERNEL_BUILD_DIR) \
+ DRM_PREFIX=$(DRM_PREFIX) \
+ AF_RPMSG=$(AF_RPMSG)
+diff --git a/linux/src/mm/Makefile.am b/linux/src/mm/Makefile.am
+index 59aa312..8fb51a3 100644
+--- a/linux/src/mm/Makefile.am
++++ b/linux/src/mm/Makefile.am
+@@ -32,7 +32,7 @@
+ ##
+
+ # additional include paths necessary to compile the library
+-AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)"
++AM_CFLAGS = -Wall @AM_CFLAGS@ -DKERNEL_INSTALL_DIR="$(KERNEL_INSTALL_DIR)" -DKERNEL_BUILD_DIR="$(KERNEL_BUILD_DIR)"
+
+ ###############################################################################
+ # THE LIBRARIES TO BUILD
+diff --git a/packages/ti/ipc/mm/MmRpc.c b/packages/ti/ipc/mm/MmRpc.c
+index 2df7420..797e100 100644
+--- a/packages/ti/ipc/mm/MmRpc.c
++++ b/packages/ti/ipc/mm/MmRpc.c
+@@ -56,7 +56,11 @@
+ #endif
+
+ #define linux_version_include(kd) <kd/include/generated/uapi/linux/version.h>
++#if defined(KERNEL_BUILD_DIR)
++#include linux_version_include(KERNEL_BUILD_DIR)
++#else
+ #include linux_version_include(KERNEL_INSTALL_DIR)
++#endif
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0)
+ #define linux_include(kd,m) <kd/include/linux/m.h>
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf
new file mode 100644
index 00000000..6b5034cd
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/omap_remoteproc.conf
@@ -0,0 +1 @@
+softdep omap_remoteproc pre: virtio_rpmsg_bus
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service
new file mode 100644
index 00000000..ea26845e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=TI IPC Daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/__LAD_DAEMON__ -g -l lad.txt
+
+[Install]
+WantedBy=basic.target
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh
new file mode 100644
index 00000000..9ebfa35a
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc/tiipclad-daemon.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+
+tiipclad_daemon=/usr/bin/__LAD_DAEMON__
+tiipclad_params="-g -l lad.txt"
+
+test -x "$tiipclad_daemon" || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting tiipclad daemon"
+ start-stop-daemon --start --quiet \
+ --exec $tiipclad_daemon -- $tiipclad_params
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping tiipclad daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/tiipclad.pid
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/tiipclad-daemon.sh {start|stop}"
+ exit 1
+esac
+
+exit 0
diff --git a/bsp/meta-ti/recipes-ti/ipc/ti-ipc_git.bb b/bsp/meta-ti/recipes-ti/ipc/ti-ipc_git.bb
new file mode 100644
index 00000000..2ebd03fd
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ipc/ti-ipc_git.bb
@@ -0,0 +1,69 @@
+DESCRIPTION = "TI Inter Process Communication (IPC) Mechanisms (for Uni- and Multi- Processor Configurations)"
+HOMEPAGE="http://processors.wiki.ti.com/index.php/Category:IPC"
+
+require ti-ipc.inc
+require ti-ipc-common.inc
+
+PR = "${INC_PR}.2"
+
+DEPENDS += "virtual/kernel"
+
+SRC_URI += "file://tiipclad-daemon.sh \
+ file://omap_remoteproc.conf \
+ file://tiipclad-daemon.service \
+ file://0001-Add-kernel-build-dir.patch \
+ "
+
+DAEMON = "UNKNOWN"
+DAEMON_omap5-evm = "lad_omap54xx_smp"
+DAEMON_dra7xx = "lad_dra7xx"
+DAEMON_k2hk = "lad_tci6638"
+DAEMON_k2l = "lad_tci6630"
+DAEMON_k2e = "lad_66ak2e"
+DAEMON_k2g = "lad_66ak2g"
+DAEMON_omapl138 = "lad_omapl138"
+DAEMON_k3 = "lad_am65xx"
+
+inherit autotools-brokensep pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "tiipclad-daemon.sh"
+INITSCRIPT_PARAMS = "defaults 10"
+
+SYSTEMD_SERVICE_${PN} = "tiipclad-daemon.service"
+
+EXTRA_OECONF += "PLATFORM=${PLATFORM} KERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} KERNEL_BUILD_DIR=${STAGING_KERNEL_BUILDDIR}"
+
+do_compile[depends] += "virtual/kernel:do_shared_workdir"
+
+do_configure() {
+ ( cd ${S}; autoreconf -f -i -s )
+ oe_runconf
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d/
+
+ # Modify the startup scripts to point to the right
+ # lad daemon executable.
+ sed -i -e "s/__LAD_DAEMON__/${DAEMON}/" ${WORKDIR}/tiipclad-daemon.sh
+ sed -i -e "s/__LAD_DAEMON__/${DAEMON}/" ${WORKDIR}/tiipclad-daemon.service
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/tiipclad-daemon.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/init.d/
+ install -c -m 755 ${WORKDIR}/tiipclad-daemon.sh ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+}
+
+do_install_append_dra7xx() {
+ install -d ${D}${sysconfdir}/modprobe.d/
+ install -c -m 644 ${WORKDIR}/omap_remoteproc.conf ${D}${sysconfdir}/modprobe.d/
+}
+
+PACKAGES =+ "${PN}-test"
+RDEPENDS_${PN}-test += "${PN}"
+
+FILES_${PN}-test = " \
+ ${bindir}/NameServerApp \
+ ${bindir}/MessageQApp \
+ ${bindir}/MessageQMulti \
+ ${bindir}/ping_rpmsg"
diff --git a/bsp/meta-ti/recipes-ti/libp11/libp11_git.bb b/bsp/meta-ti/recipes-ti/libp11/libp11_git.bb
new file mode 100644
index 00000000..9b1ea3e9
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/libp11/libp11_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "PKCS11 abstraction library"
+LICENSE = "LGPL2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+SECTION = "libs"
+
+inherit autotools pkgconfig
+
+DEPENDS = "openssl10 libtool"
+RDEPENDS_${PN} = "ti-softhsmv2"
+
+COMPATIBLE_MACHINE = "keystone"
+
+SRC_URI = "git://git.ti.com/keystone-linux/libp11.git;protocol=git;branch=${BRANCH}"
+BRANCH = "master"
+# Following commit corresponds to DEV.LIBP11-01.03.00.00
+SRCREV = "43c4f63a8d803fde2bcd8e4f8969e5fe9edf0e33"
+PV = "1.3.0.0"
+
+S = "${WORKDIR}/git"
diff --git a/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils.inc b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils.inc
new file mode 100644
index 00000000..c8f93209
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils.inc
@@ -0,0 +1,93 @@
+DESCRIPTION = "MFP Linux utils for TI ARM/DSP processors"
+SECTION = "devel"
+LICENSE = "GPLv2 & BSD"
+
+BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/${PV}/exports"
+SRC_URI = "${BASE_SRC_URI}/linuxutils_${PV}.tar.gz "
+
+LIC_FILES_CHKSUM = "file://gpl_2.0.txt;md5=1298794fc2eed3df92a89f3c9d317440"
+
+S = "${WORKDIR}/linuxutils_${PV}"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/includes/ti-staging.inc
+
+PR = "${MACHINE_KERNEL_PR}"
+
+#This is a kernel module, don't set PR directly
+MACHINE_KERNEL_PR_append = "f"
+
+inherit module
+
+do_compile() {
+ do_make_scripts
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+
+ case "${SOC_FAMILY}" in
+ "dm365")
+ modules="cmem edma irq";;
+ "omap3")
+ modules="cmem sdma";;
+ "dm355")
+ modules="cmem edma irq";;
+ *)
+ modules="cmem"
+ esac
+
+ for module in $modules ; do
+ cd ${S}/packages/ti/sdo/linuxutils/$module
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ clean debug release
+ done
+}
+
+do_install () {
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ # Install CMEM
+ for module in $(find ${S}/packages/ti/sdo/linuxutils/ -name "*.ko") ; do
+ install -m 0755 $module ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
+ done
+ cd ${S}/packages/ti/sdo/linuxutils/cmem/apps
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ EXEC_DIR="${D}${installdir}/ti-linuxutils-app/cmem-app" \
+ install
+ # Install EDMA
+ if [ "${SOC_FAMILY}" = "dm365" ] ; then
+ cd ${S}/packages/ti/sdo/linuxutils/edma/apps
+ make \
+ LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
+ MVTOOL_PREFIX="${TARGET_PREFIX}" \
+ UCTOOL_PREFIX="${TARGET_PREFIX}" \
+ EXEC_DIR="${D}${installdir}/ti-linuxutils-app/edma-app" \
+ install
+ fi
+
+ # stage tree - other packages may need this
+ install -d ${D}${LINUXUTILS_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${LINUXUTILS_INSTALL_DIR_RECIPE}
+}
+
+
+
+
+PACKAGES =+ " ti-cmem-module \
+ ti-sdma-module \
+ ti-edma-module \
+ ti-irq-module \
+ ti-linuxutils-app"
+
+FILES_ti-cmem-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmem*.ko"
+FILES_ti-sdma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdma*.ko"
+FILES_ti-edma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/edma*.ko"
+FILES_ti-irq-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/irq*.ko"
+
+FILES_ti-linuxutils-app = "${installdir}/ti-linuxutils-app/*/*"
+
+INSANE_SKIP_ti-linuxutils-app = "True"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix-2.patch b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix-2.patch
new file mode 100644
index 00000000..1438003c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix-2.patch
@@ -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/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch
new file mode 100644
index 00000000..29b0a444
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils-BKL-fix.patch
@@ -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/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-cmemk-fixes.patch b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-cmemk-fixes.patch
new file mode 100644
index 00000000..3ce66f8c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-cmemk-fixes.patch
@@ -0,0 +1,59 @@
+Index: linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
+===================================================================
+--- linuxutils_2_26_01_02.orig/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
++++ linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
+@@ -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>
+@@ -1072,7 +1073,7 @@ static int set_noncached(struct vm_area_
+ {
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+
+- vma->vm_flags |= VM_RESERVED | VM_IO;
++ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_IO;
+
+ if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+ vma->vm_end - vma->vm_start, vma->vm_page_prot)) {
+@@ -1095,7 +1096,7 @@ static int set_cached(struct vm_area_str
+ );
+ #endif
+
+- vma->vm_flags |= VM_RESERVED | VM_IO;
++ vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP | VM_IO;
+
+ if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+ vma->vm_end - vma->vm_start, vma->vm_page_prot)) {
+@@ -2062,8 +2063,13 @@ int __init cmem_init(void)
+ block_avail_size[bi] = length;
+
+ /* attempt to determine the end of Linux kernel memory */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0)
+ phys_end_kernel = virt_to_phys((void *)PAGE_OFFSET) +
+ (num_physpages << PAGE_SHIFT);
++#else
++ phys_end_kernel = virt_to_phys((void *)PAGE_OFFSET) +
++ (get_num_physpages() << PAGE_SHIFT);
++#endif
+
+ if (phys_end_kernel > block_start[bi]) {
+ if (allowOverlap == 0) {
+@@ -2186,10 +2192,14 @@ int __init cmem_init(void)
+ }
+
+ /* Create the /proc entry */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ cmem_proc_entry = create_proc_entry("cmem", 0, NULL);
+ if (cmem_proc_entry) {
+ cmem_proc_entry->proc_fops = &cmem_proc_ops;
+ }
++#else
++ cmem_proc_entry = proc_create_data("cmem", 0, NULL, &cmem_proc_ops, NULL);
++#endif
+
+ mutex_init(&cmem_mutex);
+
diff --git a/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-sdmak-fixes.patch b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-sdmak-fixes.patch
new file mode 100644
index 00000000..5ec85fc2
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils/linuxutils_2_26-sdmak-fixes.patch
@@ -0,0 +1,25 @@
+Index: linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
+===================================================================
+--- linuxutils_2_26_01_02.orig/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
++++ linuxutils_2_26_01_02/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
+@@ -44,7 +44,7 @@
+ #include <mach/hardware.h>
+ #include <mach/dma.h>
+ #include <mach/tc.h>
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)
+ #include <plat/hardware.h>
+ #include <plat/dma.h>
+ #include <plat/tc.h>
+@@ -97,6 +97,11 @@
+
+ #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) */
+
++#ifndef OMAP_DMA_NO_DEVICE
++#include <linux/omap-dma.h>
++#define OMAP_DMA_NO_DEVICE 0
++#endif
++
+ #include "../interface/sdma.h"
+
+ struct channel {
diff --git a/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb
new file mode 100644
index 00000000..113e6a69
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/linuxutils/ti-linuxutils_2.26.01.02.bb
@@ -0,0 +1,17 @@
+require ti-linuxutils.inc
+
+SRC_URI += "file://linuxutils-BKL-fix-2.patch \
+ file://linuxutils_2_26-cmemk-fixes.patch \
+ file://linuxutils_2_26-sdmak-fixes.patch \
+ "
+
+PE = "1"
+PV = "2_26_01_02"
+
+SRC_URI[md5sum] = "70b4918bc35c1bcfef34d6ba3fbce0c8"
+SRC_URI[sha256sum] = "51266dd928f8d629cd417c869789a6c0d596612120f165619119cbaadfd66ee2"
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/mathlib/mathlib-c66x_git.bb b/bsp/meta-ti/recipes-ti/mathlib/mathlib-c66x_git.bb
new file mode 100644
index 00000000..22683855
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/mathlib/mathlib-c66x_git.bb
@@ -0,0 +1,5 @@
+include mathlib.inc
+
+MATHLIB_BUILD_TARGET = "c66x"
+MATHLIB_INSTALL_DIR_RECIPE = "${MATHLIB_C66_INSTALL_DIR_RECIPE}"
+MATHLIB_INSTALL_DIR = "${MATHLIB_C66_INSTALL_DIR}"
diff --git a/bsp/meta-ti/recipes-ti/mathlib/mathlib-c674x_git.bb b/bsp/meta-ti/recipes-ti/mathlib/mathlib-c674x_git.bb
new file mode 100644
index 00000000..1654baf2
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/mathlib/mathlib-c674x_git.bb
@@ -0,0 +1,5 @@
+include mathlib.inc
+
+MATHLIB_BUILD_TARGET = "c674x"
+MATHLIB_INSTALL_DIR_RECIPE = "${MATHLIB_C674_INSTALL_DIR_RECIPE}"
+MATHLIB_INSTALL_DIR = "${MATHLIB_C674_INSTALL_DIR}"
diff --git a/bsp/meta-ti/recipes-ti/mathlib/mathlib.inc b/bsp/meta-ti/recipes-ti/mathlib/mathlib.inc
new file mode 100644
index 00000000..b0cd62ec
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/mathlib/mathlib.inc
@@ -0,0 +1,77 @@
+SUMMARY = "MATHLIB contains optimized floating-point math functions for TI DSPs"
+HOMEPAGE = "http://git.ti.com/ep-processor-libraries/mathlib"
+LICENSE = "BSD-3-Clause"
+
+require ../includes/ti-paths.inc
+
+PV = "3_1_2_3"
+PR = "r2"
+
+DEPENDS = "ti-cgt6x-native \
+ ti-xdctools-native \
+ ti-sysbios \
+ doxygen-native \
+ zip-native \
+ swtools"
+
+S = "${WORKDIR}/git"
+
+MATHLIB_GIT_BRANCH = "master"
+MATHLIB_GIT_PROTOCOL = "git"
+MATHLIB_GIT_URI = "git://git.ti.com/ep-processor-libraries/mathlib.git"
+MATHLIB_SRCREV = "faedd650c47becb48b2d179242c8310327ef9853"
+
+SRC_URI = "${MATHLIB_GIT_URI};protocol=${MATHLIB_GIT_PROTOCOL};branch=${MATHLIB_GIT_BRANCH}"
+SRCREV = "${MATHLIB_SRCREV}"
+
+LIC_FILES_CHKSUM = "file://ti/mathlib/src/acosdp/acosdp.h;beginline=1;endline=35;md5=c133f7e139b46385906c861dd9552250"
+
+export MATHLIB_WORK_DIR="${S}"
+export CGTOOLS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
+export C64PCODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
+export C674CODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
+export C66CODEGENTOOL ="${CGTOOLS_INSTALL_DIR}"
+export SWTOOLS_PATH = "${SWTOOLS_INSTALL_DIR}/ti/mas/swtools"
+export XDCBUILDCFG="${SWTOOLS_PATH}/config.bld"
+
+PATH_append = ":${XDC_INSTALL_DIR}"
+
+XDCPATH.="${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;"
+XDCPATH.="${SWTOOLS_INSTALL_DIR};${MATHLIB_WORK_DIR};"
+
+export XDCPATH
+
+MATHLIB_PACKAGE_NAME = "mathlib_${MATHLIB_BUILD_TARGET}_${PV}"
+
+do_compile() {
+ cd ${MATHLIB_WORK_DIR}/ti/mathlib;
+ xdc XDCARGS="${MATHLIB_BUILD_TARGET} bundle" XDCOPTIONS="-v"
+}
+
+do_install() {
+ install -d ${D}${MATHLIB_INSTALL_DIR_RECIPE}
+
+ find -name "${MATHLIB_PACKAGE_NAME}.zip" -exec unzip -o {} -d ${D}${MATHLIB_INSTALL_DIR_RECIPE} \;
+ cp -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/mathlib/. ${D}${MATHLIB_INSTALL_DIR_RECIPE}
+ rm -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/mathlib
+}
+
+inherit deploy
+addtask deploy before do_build after do_install
+
+do_deploy() {
+ install -d ${DEPLOYDIR}
+ # zip up files in ${D}${MATHLIB_INSTALL_DIR_RECIPE}
+ # and place the zip file in ${DEPLOYDIR}
+ mkdir ./${MATHLIB_PACKAGE_NAME}
+ cp -r ${D}${MATHLIB_INSTALL_DIR_RECIPE}/. ./${MATHLIB_PACKAGE_NAME}
+ zip -9 -y -r -q ${DEPLOYDIR}/${MATHLIB_PACKAGE_NAME}.zip ./${MATHLIB_PACKAGE_NAME}
+ rm -r ./${MATHLIB_PACKAGE_NAME}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${MATHLIB_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-dev = "arch"
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/mpm-transport/mpm-transport_git.bb b/bsp/meta-ti/recipes-ti/mpm-transport/mpm-transport_git.bb
new file mode 100644
index 00000000..3c28f28c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/mpm-transport/mpm-transport_git.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "Multiproc transport layer for KeyStone devices: Provide basic transport layer for moving data between different processing nodes"
+HOMEPAGE = "http://git.ti.com/cgit/cgit.cgi/keystone-linux/mpm-transport.git"
+LICENSE = "BSD-3-Clause & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=122b7757f366f3f6fe11988715258fc9"
+COMPATIBLE_MACHINE = "keystone"
+
+DEPENDS = "common-csl-ip edma3-lld mmap-lld cmem rm-lld qmss-lld cppi-lld uio-module-drv"
+DEPENDS_append_k2hk = " hyplnk-lld srio-lld"
+DEPENDS_append_k2e = " hyplnk-lld"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "git://git.ti.com/keystone-linux/mpm-transport.git;protocol=git;branch=${BRANCH}"
+
+BRANCH = "master"
+# This commit corresponds to tag DEV.MPM-TRANSPORT-02.00.04.00
+SRCREV = "e0e44fe55bef7ddf89f7ff3574f07fa906e72a37"
+
+PV = "2.0.4.0"
+PR = "r0"
+
+EXTRA_OEMAKE = "PDK_INSTALL_PATH=${STAGING_INCDIR}"
+EXTRA_OEMAKE_append_k2hk += "HYPLNK_TRANSPORT=true SRIO_TRANSPORT=true"
+EXTRA_OEMAKE_append_k2e += "HYPLNK_TRANSPORT=true"
+INSANE_SKIP_${PN} += "ldflags"
+
+S = "${WORKDIR}/git"
+
+PACKAGES =+ "${PN}-test"
+FILES_${PN}-test = "${bindir}/mpm_transport_test.out \
+ ${bindir}/mpm_transport_hyplnk_loopback.out \
+ ${bindir}/mpm_transport_hyplnk_remote.out \
+ ${bindir}/mpm_transport_hyplnk_loopback_dma.out \
+ ${bindir}/mpm_transport_hyplnk_loopback64.out \
+ ${bindir}/mpm_transport_qmss_arm_mt.out \
+ ${bindir}/mpm_transport_srio_arm_mt.out"
+
+do_install() {
+ oe_runmake installbin BASE_DIR=${S} INSTALL_BIN_BASE_DIR=${D}/${bindir}
+
+ install -d ${D}${includedir}/
+ install -c -m 644 ${S}/include/* ${D}${includedir}/
+
+ install -d ${D}${libdir}/
+ cp -a --preserve=mode,timestamps --no-preserve=ownership ${S}/lib/* ${D}${libdir}/
+
+ install -d ${D}${sysconfdir}/mpm/
+ install -c -m 644 ${S}/scripts/mpm_config.json ${D}${sysconfdir}/mpm/mpm_config.json
+}
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-rtos_git.bb b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-rtos_git.bb
new file mode 100644
index 00000000..7a6e0f63
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-rtos_git.bb
@@ -0,0 +1,44 @@
+SUMMARY = "TI Multiproc Manager (RTOS) for KeyStone II"
+DESCRIPTION = "Provides download, debug and other utilities for other cores in the SOC like DSP"
+
+require recipes-ti/includes/ti-paths.inc
+require recipes-ti/multiprocmgr/multiprocmgr.inc
+
+DEPENDS = "ti-cgt6x-native"
+
+PR = "${INC_PR}.2"
+
+PACKAGES =+ "${PN}-test"
+FILES_${PN}-test = "${datadir}/ti/examples/mpm/test/filetestdemo/c66x/demo_loopback/build/bin/*.out \
+ ${datadir}/ti/examples/mpm/test/sync_test/c66x/bin/*.out"
+
+EXTRA_OEMAKE = "LOCAL_SYSROOT="${STAGING_DIR_TARGET}" \
+ C6X_GEN_INSTALL_PATH="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
+ "
+
+do_compile() {
+ oe_runmake c66x
+ oe_runmake test_c66x
+}
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${MPM_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${MPM_INSTALL_DIR_RECIPE}
+
+ # Copy C66x binaries
+ install -d ${D}${datadir}/ti/examples/mpm/test/filetestdemo/c66x/demo_loopback/build/bin
+ cp ${S}/test/filetestdemo/c66x/demo_loopback/build/bin/*.out \
+ ${D}${datadir}/ti/examples/mpm/test/filetestdemo/c66x/demo_loopback/build/bin/
+ install -d ${D}${datadir}/ti/examples/mpm/test/sync_test/c66x/bin
+ cp ${S}/test/sync_test/c66x/bin/*.out \
+ ${D}${datadir}/ti/examples/mpm/test/sync_test/c66x/bin/
+}
+
+FILES_${PN}-dev += "${MPM_INSTALL_DIR_RECIPE}"
+INSANE_SKIP_${PN}-dev = "arch"
+INSANE_SKIP_${PN}-test = "arch"
+
+RDEPENDS_${PN}-dev = "bash"
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-test_git.bb b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-test_git.bb
new file mode 100644
index 00000000..f01d6513
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr-test_git.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "TI Multiproc Manager test code"
+
+include multiprocmgr.inc
+
+PR = "${INC_PR}.2"
+
+DEPENDS = "multiprocmgr cmem"
+RDEPENDS_${PN} = "multiprocmgr mpm-transport cmem"
+RDEPENDS_${PN} += "multiprocmgr-rtos-test bash"
+
+CC += "-I${STAGING_KERNEL_DIR}/include"
+
+# Assuming the multiprocmgr kernel API is safe
+CC[vardepsexclude] = "STAGING_KERNEL_DIR"
+
+FILES_${PN} += "\
+ ${datadir}/ti/examples/mpm \
+"
+
+FILES_${PN}-dbg += "\
+ ${datadir}/ti/examples/mpm/*/.debug \
+"
+
+do_compile() {
+ oe_runmake -C ${S} test
+}
+
+do_install() {
+ # Copy Sources and binary
+ install -d ${D}${datadir}/ti/examples/mpm/src
+ cp -r ${S}/src/mailbox ${D}${datadir}/ti/examples/mpm/src
+ cp -r ${S}/src/sync ${D}${datadir}/ti/examples/mpm/src
+ cp -r ${S}/test ${D}${datadir}/ti/examples/mpm
+}
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr.inc b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr.inc
new file mode 100644
index 00000000..998e5507
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr.inc
@@ -0,0 +1,21 @@
+HOMEPAGE = "http://git.ti.com/cgit/cgit.cgi/keystone-linux/multi-proc-manager.git"
+LICENSE = "BSD-3-Clause & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fce208c498eb9669223724dc9c1d8fe4"
+SECTION = "console"
+COMPATIBLE_MACHINE = "keystone"
+
+MULTIPROCMGR_GIT_URI = "git://git.ti.com/keystone-linux/multi-proc-manager.git"
+MULTIPROCMGR_GIT_PROTOCOL = "git"
+MULTIPROCMGR_GIT_BRANCH = "master"
+
+# The following commits correspond to DEV.MPM-3.00.04.00
+MULTIPROCMGR_SRCREV = "21579a066b469ff4620e7cff12803ae152880bb5"
+
+PV = "3.0.4.0"
+INC_PR = "r0"
+
+BRANCH = "${MULTIPROCMGR_GIT_BRANCH}"
+SRC_URI = "${MULTIPROCMGR_GIT_URI};protocol=${MULTIPROCMGR_GIT_PROTOCOL};branch=${BRANCH}"
+SRCREV = "${MULTIPROCMGR_SRCREV}"
+
+S = "${WORKDIR}/git"
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/0001-mpmdlif.c-don-t-hardcode-kernel-s-uapi-location-keys.patch b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/0001-mpmdlif.c-don-t-hardcode-kernel-s-uapi-location-keys.patch
new file mode 100644
index 00000000..25deedcc
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/0001-mpmdlif.c-don-t-hardcode-kernel-s-uapi-location-keys.patch
@@ -0,0 +1,27 @@
+From 17c307ff6e67af43f243366baa2ccc01f89cdddd Mon Sep 17 00:00:00 2001
+From: Denys Dmytriyenko <denys@ti.com>
+Date: Mon, 23 Apr 2018 15:35:44 -0400
+Subject: [PATCH] mpmdlif.c: don't hardcode kernel's "uapi" location
+ keystone_remoteproc.h
+
+Signed-off-by: Denys Dmytriyenko <denys@ti.com>
+---
+ src/daemon/mpmdlif.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/daemon/mpmdlif.c b/src/daemon/mpmdlif.c
+index 0c31604..d287bbc 100644
+--- a/src/daemon/mpmdlif.c
++++ b/src/daemon/mpmdlif.c
+@@ -47,7 +47,7 @@
+ #include <stdint.h>
+
+ #define _LINUX_TYPES_H
+-#include "uapi/linux/keystone_remoteproc.h"
++#include "linux/keystone_remoteproc.h"
+ #include "internal/rsc_types.h"
+ //#include <elf.h>
+ // #define LOADER_DEBUG
+--
+2.7.4
+
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/mpmsrv-daemon.service b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/mpmsrv-daemon.service
new file mode 100644
index 00000000..40eb4650
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr/mpmsrv-daemon.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=TI Multiproc Manager
+
+[Service]
+ExecStartPre=/sbin/modprobe keystone_remoteproc
+ExecStartPre=/sbin/modprobe keystone_dsp_mem
+ExecStartPre=/sbin/modprobe uio_module_drv
+
+Type=forking
+PIDFile=/var/run/mpm/pid
+ExecStart=/usr/bin/mpmsrv
+
+[Install]
+WantedBy=basic.target
diff --git a/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr_git.bb b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr_git.bb
new file mode 100644
index 00000000..6143341d
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/multiprocmgr/multiprocmgr_git.bb
@@ -0,0 +1,47 @@
+DESCRIPTION = "TI Multiproc Manager for KeyStone II"
+SUMMARY = "Provides download, debug and other utilities for other cores in the SOC like DSP"
+
+include multiprocmgr.inc
+
+SRC_URI += " \
+ file://mpmsrv-daemon.service \
+ file://0001-mpmdlif.c-don-t-hardcode-kernel-s-uapi-location-keys.patch \
+"
+
+PR = "${INC_PR}.2"
+
+DEPENDS = "mpm-transport libdaemon virtual/kernel cmem"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CC += "-I${STAGING_KERNEL_DIR}/include -I${STAGING_KERNEL_DIR}/include/uapi"
+
+INITSCRIPT_NAME = "mpmsrv-daemon.sh"
+INITSCRIPT_PARAMS = "defaults 10"
+
+SYSTEMD_SERVICE_${PN} = "mpmsrv-daemon.service"
+
+inherit update-rc.d systemd
+
+do_install() {
+ install -d ${D}${bindir}/
+ install -c -m 755 ${S}/bin/mpmsrv ${D}${bindir}/mpmsrv
+ install -c -m 755 ${S}/bin/mpmcl ${D}${bindir}/mpmcl
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/mpmsrv-daemon.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/init.d/
+ install -c -m 755 ${S}/scripts/mpmsrv-daemon.sh ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+
+ install -d ${D}${sysconfdir}/mpm/
+ install -c -m 755 ${S}/scripts/crash_callback.sh ${D}${sysconfdir}/mpm/crash_callback.sh
+
+ install -d ${D}${includedir}/
+ install -c -m 755 ${S}/include/* ${D}${includedir}/
+
+ install -d ${D}${libdir}/
+ cp -a ${S}/lib/* ${D}${libdir}/
+ chown -R root:root ${D}${libdir}/
+}
+
+INSANE_SKIP_${PN} = "ldflags"
diff --git a/bsp/meta-ti/recipes-ti/ndk/ti-ndk.inc b/bsp/meta-ti/recipes-ti/ndk/ti-ndk.inc
new file mode 100644
index 00000000..9afde316
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ndk/ti-ndk.inc
@@ -0,0 +1,20 @@
+SUMMARY = "TI RTOS_Networking"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ndk/index.html"
+SECTION = "devel"
+LICENSE = "BSD"
+
+require recipes-ti/includes/ti-paths.inc
+
+S = "${WORKDIR}/ndk_${PV}"
+SRC_URI = "http://software-dl.ti.com/targetcontent/ndk/${PV}/exports/ndk_${PV}.zip;name=ndkzip"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${NDK_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${NDK_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${NDK_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-dev = "arch ldflags staticdev file-rdeps"
diff --git a/bsp/meta-ti/recipes-ti/ndk/ti-ndk_3.60.00.13.bb b/bsp/meta-ti/recipes-ti/ndk/ti-ndk_3.60.00.13.bb
new file mode 100644
index 00000000..700ad7d3
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ndk/ti-ndk_3.60.00.13.bb
@@ -0,0 +1,16 @@
+require ti-ndk.inc
+
+PV = "3_60_00_13"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://manifest_ndk_${PV}.html;md5=6d1d16547344a4418e565586fa45b458"
+
+SRC_URI[ndkzip.md5sum] = "cc1bbe67b46bd02c4a423814360a4e00"
+SRC_URI[ndkzip.sha256sum] = "86407d4b423419e020b38a44d1a61705fdec0ae0d5e35eb07b99fcfe5ceee7dd"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/ns/ti-ns.inc b/bsp/meta-ti/recipes-ti/ns/ti-ns.inc
new file mode 100644
index 00000000..2a50c56c
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ns/ti-ns.inc
@@ -0,0 +1,21 @@
+SUMMARY = "TI Network Services"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ns/index.html"
+SECTION = "devel"
+LICENSE = "BSD"
+
+require recipes-ti/includes/ti-paths.inc
+
+S = "${WORKDIR}/ns_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/ns/${PV}/exports/ns_${PV}.zip;name=nszip"
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${NS_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${NS_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${NS_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-dev = "arch ldflags staticdev file-rdeps"
diff --git a/bsp/meta-ti/recipes-ti/ns/ti-ns_2.60.00.07.bb b/bsp/meta-ti/recipes-ti/ns/ti-ns_2.60.00.07.bb
new file mode 100644
index 00000000..a5da7f9e
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ns/ti-ns_2.60.00.07.bb
@@ -0,0 +1,14 @@
+require ti-ns.inc
+
+PV = "2_60_00_07"
+PR = "r0"
+SRC_URI = "http://software-dl.ti.com/targetcontent/ns/${PV}/exports/ns_${PV}.zip;name=nszip"
+
+LIC_FILES_CHKSUM = "file://manifest_ns_${PV}.html;md5=e15dc261b0ef14c6fbabba24abcde4f0"
+
+SRC_URI[nszip.md5sum] = "7ad9f9fc79b4718bfa9b0042cb28d06f"
+SRC_URI[nszip.sha256sum] = "8d2901e49ee72dde2e88370981e931c656e89efc7e0d5e3f775dde7d720e2b19"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_SYSROOT_STRIP = "1"
diff --git a/bsp/meta-ti/recipes-ti/openmp-rtos/openmp-rtos_git.bb b/bsp/meta-ti/recipes-ti/openmp-rtos/openmp-rtos_git.bb
new file mode 100644
index 00000000..67d9edf5
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/openmp-rtos/openmp-rtos_git.bb
@@ -0,0 +1,68 @@
+DESCRIPTION = "TI OpenMP RTOS"
+HOMEPAGE = "git://git.ti.com/openmp/ti-openmp-dsp-runtime.git"
+LICENSE = "BSD"
+
+require recipes-ti/includes/ti-paths.inc
+
+PV = "2_06_03_00"
+PR = "r0"
+
+OPENMP_RTOS_GIT_URI = "git://git.ti.com/openmp/ti-openmp-dsp-runtime.git"
+OPENMP_RTOS_GIT_PROTOCOL = "git"
+OPENMP_RTOS_GIT_BRANCH = "master"
+
+BRANCH = "${OPENMP_RTOS_GIT_BRANCH}"
+SRC_URI = "${OPENMP_RTOS_GIT_URI};protocol=${OPENMP_RTOS_GIT_PROTOCOL};branch=${BRANCH}"
+
+SRCREV = "c090eb664d9815a36ead0e14f31e102590680fb8"
+
+LIC_FILES_CHKSUM = "file://docs/license/omp_manifest_template.html;md5=61a6972303c0447b7c056195d7ebafee"
+
+DEPENDS = "common-csl-ip-rtos doxygen-native libulm ti-xdctools-native ti-ipc-rtos ti-sysbios ti-cgt6x-native zip-native"
+DEPENDS_append_k2hk = " qmss-lld-rtos cppi-lld-rtos"
+DEPENDS_append_k2e = " qmss-lld-rtos cppi-lld-rtos"
+DEPENDS_append_k2l = " qmss-lld-rtos cppi-lld-rtos"
+
+COMPATIBLE_MACHINE = "keystone|omap-a15"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+export IPC_DIR = "${IPC_INSTALL_DIR}"
+export XDC_DIR = "${XDC_INSTALL_DIR}"
+export BIOS_DIR = "${SYSBIOS_INSTALL_DIR}"
+export ULM_DIR ="${STAGING_DIR_TARGET}/usr/share/ti/ulm"
+export C6636_PDK_DIR ="${PDK_INSTALL_DIR}"
+export AM572_PDK_DIR ="${PDK_INSTALL_DIR}"
+export K2G_PDK_DIR ="${PDK_INSTALL_DIR}"
+export XDCCGROOT = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
+
+export BUILD_K2H = "0"
+export BUILD_AM572 = "0"
+export BUILD_K2G = "0"
+
+BUILD_K2H_keystone = "1"
+BUILD_AM572_omap-a15 = "1"
+BUILD_K2H_k2g = "0"
+BUILD_K2G_k2g = "1"
+
+RELEASE_TARGET = ""
+RELEASE_TARGET_keystone = "k2x"
+RELEASE_TARGET_omap-a15 = "am57xx"
+RELEASE_TARGET_k2g = "k2g"
+
+do_compile() {
+ make -f utils/product/Makefile .zipfile
+}
+
+do_install() {
+ install -d ${D}${OMP_INSTALL_DIR_RECIPE}
+ cp -r ${S}/exports/openmp_dsp_${RELEASE_TARGET}_*/. -d ${D}${OMP_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev += " \
+ ${OMP_INSTALL_DIR_RECIPE}/ \
+"
+
+INSANE_SKIP_${PN}-dev = "arch"
diff --git a/bsp/meta-ti/recipes-ti/osal/ti-osal.inc b/bsp/meta-ti/recipes-ti/osal/ti-osal.inc
new file mode 100644
index 00000000..0a966d40
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/osal/ti-osal.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "TI Operating System Abstraction Library (OSAL)"
+HOMEPAGE = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/osal"
+LICENSE = "BSD & EPL-1.0"
+SECTION = "devel"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+
+S = "${WORKDIR}/osal_${PV}"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/osal/${PV}/exports/osal_${PV}.tar.gz;name=osaltarball"
+
+do_install() {
+ install -d ${D}${OSAL_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${OSAL_INSTALL_DIR_RECIPE}
+}
+
+INSANE_SKIP_${PN}-dev = "staticdev"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${OSAL_INSTALL_DIR_RECIPE}"
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/osal/ti-osal_1.24.00.09.bb b/bsp/meta-ti/recipes-ti/osal/ti-osal_1.24.00.09.bb
new file mode 100644
index 00000000..226458be
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/osal/ti-osal_1.24.00.09.bb
@@ -0,0 +1,9 @@
+require ti-osal.inc
+
+PV = "1_24_00_09"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://osal_${PV}_Manifest.html;md5=c110191994d011cee4cd02189ed3c9f4"
+
+SRC_URI[osaltarball.md5sum] = "a7ea85447fa0ff0f786d527a52fa6e8b"
+SRC_URI[osaltarball.sha256sum] = "d14f1f43c8a7965e86add69bd813cea56ea7e38abeb55de3fdcdaf4a69f19bf3"
diff --git a/bsp/meta-ti/recipes-ti/swtools/swtools_git.bb b/bsp/meta-ti/recipes-ti/swtools/swtools_git.bb
new file mode 100644
index 00000000..796909f1
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/swtools/swtools_git.bb
@@ -0,0 +1,52 @@
+SUMMARY = "TI Software Tools"
+HOMEPAGE = "https://git.ti.com/ep-processor-libraries/swtools"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://ti/mas/swtools/copyright.txt;md5=b1f52a1435051fdb18f8885b0384147d"
+
+require ../includes/ti-paths.inc
+
+DEPENDS = "ti-cgt6x-native \
+ ti-sysbios \
+ ti-xdctools-native"
+
+PV = "5_0_8"
+PR = "r2"
+S = "${WORKDIR}/git"
+
+SWTOOLS_GIT_BRANCH = "master"
+SWTOOLS_GIT_PROTOCOL = "git"
+SWTOOLS_GIT_URI = "git://git.ti.com/ep-processor-libraries/swtools.git"
+SWTOOLS_SRCREV = "d0c1022954b489d5f3d8d2f5c81d8c6a392f4af4"
+
+SRC_URI = "${SWTOOLS_GIT_URI};protocol=${SWTOOLS_GIT_PROTOCOL};branch=${SWTOOLS_GIT_BRANCH}"
+SRCREV = "${SWTOOLS_SRCREV}"
+
+
+export C64PCODEGENTOOL = "${CGTOOLS_INSTALL_DIR}"
+export C674CODEGENTOOL = "${CGTOOLS_INSTALL_DIR}"
+export C66CODEGENTOOL = "${CGTOOLS_INSTALL_DIR}"
+
+PATH_append = ":${XDC_INSTALL_DIR}"
+
+XDCPATH .= "${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;"
+
+export XDCPATH
+
+do_compile() {
+ cd ${S}/ti/mas/swtools
+ xdc
+}
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${SWTOOLS_INSTALL_DIR_RECIPE}
+ cp -pPrf ${S}/* ${D}${SWTOOLS_INSTALL_DIR_RECIPE}
+}
+
+FILES_${PN}-dev += "${SWTOOLS_INSTALL_DIR_RECIPE}"
+
+INSANE_SKIP_${PN}-dev = "arch staticdev"
+ALLOW_EMPTY_${PN} = "1"
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST_ti-soc = "(.*)"
diff --git a/bsp/meta-ti/recipes-ti/ti-pdk-build/ti-pdk-build-rtos_git.bb b/bsp/meta-ti/recipes-ti/ti-pdk-build/ti-pdk-build-rtos_git.bb
new file mode 100644
index 00000000..b71e7cf7
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ti-pdk-build/ti-pdk-build-rtos_git.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "Package containing PDK makefile infrastructure"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;beginline=1;endline=31;md5=92ab6f5e10f1502081c6080207e57ec1"
+
+require recipes-ti/includes/ti-paths.inc
+
+PV = "01.00.00.12B"
+PR = "r0"
+
+PDK_BUILD_GIT_URI = "git://git.ti.com/keystone-rtos/processor-pdk-build.git"
+PDK_BUILD_GIT_PROTOCOL = "git"
+PDK_BUILD_GIT_BRANCH = "master"
+
+# Below Commit ID corresponds to "DEV.PDK_BUILD.01.00.00.12B"
+PDK_BUILD_SRCREV = "40e09c24dc988ff79f0e4757201d6b87fb84af56"
+
+BRANCH = "${PDK_BUILD_GIT_BRANCH}"
+SRC_URI = "\
+ ${PDK_BUILD_GIT_URI};protocol=${PDK_BUILD_GIT_PROTOCOL};branch=${BRANCH} \
+ "
+
+SRCREV = "${PDK_BUILD_SRCREV}"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|keystone|omapl1|c66x|k3"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git/"
+
+PARALLEL_MAKE = ""
+CLEANBROKEN = "1"
+
+do_compile() {
+ :
+}
+
+EXTRA_OEMAKE = "-f make_install LIMIT_SOCS="${TI_PDK_LIMIT_SOCS}" PDK_INSTALL_DIR="${D}${PDK_INSTALL_DIR_RECIPE}""
+
+do_install() {
+ oe_runmake
+}
+
+FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages/*"
+INSANE_SKIP_${PN} += " file-rdeps"
diff --git a/bsp/meta-ti/recipes-ti/ti-softhsmv2/ti-softhsmv2_git.bb b/bsp/meta-ti/recipes-ti/ti-softhsmv2/ti-softhsmv2_git.bb
new file mode 100644
index 00000000..d281a515
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/ti-softhsmv2/ti-softhsmv2_git.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "TI softhsmv2 package"
+LICENSE = "BSD-2-Clause | BSD-3-Clause | ISC | IBM-License | FSFULLR | Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=700a883962ccff663f888f3f7221ce8f"
+SECTION = "libs"
+
+mntdir = "/mnt"
+
+inherit autotools pkgconfig
+
+DEPENDS = "openssl10 libdaemon zlib"
+COMPATIBLE_MACHINE = "keystone"
+
+BRANCH = "ti-softhsm-rebase"
+SRC_URI = "git://git.ti.com/keystone-linux/ti-softhsmv2.git;protocol=git;branch=${BRANCH}"
+#Following commit corresponds to tag DEV.SOFTHSM-02.00.00.00
+SRCREV = "b0eef602c03583e59c289ba113b64eaa4f5cac13"
+PV = "2.0.0.0"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-mno-unaligned-access"
+CPPFLAGS += "-mno-unaligned-access"
+
+EXTRA_OECONF += " \
+ --with-zlib=${STAGING_EXECPREFIXDIR} \
+ --with-openssl=${STAGING_EXECPREFIXDIR} \
+"
+
+INITSCRIPT_NAME = "softhsm-daemon.sh"
+INITSCRIPT_PARAMS = "defaults 10"
+
+inherit update-rc.d
+
+FILES_${PN} += "${libdir}/softhsm/lib*.so.* ${mntdir}/*"
+FILES_${PN}-dbg += "${libdir}/softhsm/.debug"
+FILES_${PN}-staticdev += "${libdir}/softhsm/*.a"
+FILES_${PN}-dev += "${libdir}/softhsm/*.la ${libdir}/softhsm/lib*.so"
+
+INSANE_SKIP_${PN}-dev = "dev-elf"
+
+do_install_append() {
+ install -d ${D}${mntdir}/securedbv0
+ install -d ${D}${mntdir}/securedbv1
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -c -m 755 ${S}/src/bin/daemon/softhsm-daemon.sh ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+}
diff --git a/bsp/meta-ti/recipes-ti/udma/udma_git.bb b/bsp/meta-ti/recipes-ti/udma/udma_git.bb
new file mode 100644
index 00000000..0374d37f
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/udma/udma_git.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Provides zero copy access from user-space to packet dma channels via udma kernel driver"
+LICENSE = "BSD-3-Clause"
+
+COMPATIBLE_MACHINE = "keystone"
+LIC_FILES_CHKSUM = "file://include/udma.h;startline=1;endline=39;md5=ba3c7f91f970afe073b759ced61d0f27"
+
+BRANCH = "master"
+SRC_URI = "git://git.ti.com/keystone-linux/udma.git;protocol=git;branch=${BRANCH}"
+S = "${WORKDIR}/git"
+# Commit corresponds to UDMA.01.00.00.00
+SRCREV = "53d09fb0bc98c41c5eb43623097e363c497d6fd8"
+
+PACKAGES =+ "${PN}-test"
+
+FILES_${PN}-test = "${bindir}/udma_test"
+
+do_install_append() {
+ install -d ${D}${bindir}/
+ install -d ${D}${libdir}/
+ install -d ${D}${includedir}/
+ install -c -m 755 ${S}/udma_test ${D}${bindir}/
+ install -c -m 755 ${S}/libudma.a ${D}${libdir}/
+ install -c -m 755 ${S}/libudma.so ${D}${libdir}/libudma.so.1.0.0
+ cd ${D}${libdir}/
+ ln -sf libudma.so.1.0.0 libudma.so.1
+ ln -sf libudma.so.1.0.0 libudma.so
+ install -c -m 755 ${S}/include/* ${D}${includedir}/
+}
diff --git a/bsp/meta-ti/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb b/bsp/meta-ti/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb
new file mode 100644
index 00000000..cbae1b11
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/uio-test-pruss/uio-test-pruss_git.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Provides test pruss firmware for uio based tests"
+LICENSE = "BSD-3-Clause"
+PV = "1.0.2.0"
+require recipes-ti/includes/ti-paths.inc
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "ti-cgt-pru-native"
+
+BRANCH = "master"
+LIC_FILES_CHKSUM = "file://Makefile;startline=1;endline=31;md5=0ee4f2c42eb6b04e37859bb55a18b144"
+
+UIO_TEST_PRUSS_GIT_URI = "git://git.ti.com/processor-sdk/uio-test-pruss.git"
+UIO_TEST_PRUSS_GIT_PROTOCOL = "git"
+SRC_URI = "${UIO_TEST_PRUSS_GIT_URI};protocol=${UIO_TEST_PRUSS_GIT_PROTOCOL};branch=${BRANCH}"
+
+# Corresponds to version 01.00.02.00
+UIO_TEST_PRUSS_SRCREV = "e52a7b099d7203ca52519650df51419e9fef7e0c"
+
+SRCREV = "${UIO_TEST_PRUSS_SRCREV}"
+
+PR = "r0"
+
+COMPATIBLE_MACHINE = "omap-a15|ti33x|ti43x|k2g"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEVICE_NAME = ""
+DEVICE_NAME_append_am57xx-evm = "am57xx"
+DEVICE_NAME_append_ti33x = "am33xx"
+DEVICE_NAME_append_ti43x = "am43xx"
+DEVICE_NAME_append_k2g = "k2g"
+
+EXTRA_OEMAKE = "CGT_PRU=${TI_CGT_PRU_INSTALL_DIR} DEVICE=${DEVICE_NAME}"
+
+do_install() {
+ install -d ${D}${bindir}/
+ cp -r *.bin ${D}${bindir}/
+}
diff --git a/bsp/meta-ti/recipes-ti/vlib/vlib-c66x.inc b/bsp/meta-ti/recipes-ti/vlib/vlib-c66x.inc
new file mode 100644
index 00000000..a539e4d7
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/vlib/vlib-c66x.inc
@@ -0,0 +1,32 @@
+DESCRIPTION = "TI Vision Library (VLIB) for C66x"
+HOMEPAGE = "http://software-dl.ti.com/libs/vlib/latest/index_FDS.html"
+SECTION = "devel"
+LICENSE = "TI-TSPA & BSD-3-Clause"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+require ../includes/ti-eula-unpack.inc
+
+COMPATIBLE_MACHINE = "omap-a15|keystone"
+
+SRC_URI = "http://software-dl.ti.com/libs/vlib/${PV}//exports/vlib_c66x_obj_${PV}_Linux.bin;name=vlibbin"
+
+S = "${WORKDIR}/vlib_c66x_${PV}"
+
+BINFILE="vlib_c66x_obj_${PV}_Linux.bin"
+TI_BIN_UNPK_ARGS = "--mode silent --prefix ${S}"
+TI_BIN_UNPK_CMDS=""
+
+do_install() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${VLIB_C66_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${VLIB_C66_INSTALL_DIR_RECIPE}
+}
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${VLIB_C66_INSTALL_DIR_RECIPE}"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP_${PN}-dev = "installed-vs-shipped arch"
diff --git a/bsp/meta-ti/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb b/bsp/meta-ti/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb
new file mode 100644
index 00000000..e3742d10
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/vlib/vlib-c66x_3.2.1.0.bb
@@ -0,0 +1,9 @@
+require vlib-c66x.inc
+
+PV = "3_2_1_0"
+PR = "r0"
+
+LIC_FILES_CHKSUM = "file://docs/VLIB_Software_Manifest.html;md5=75151b04457c8a1ae3c2172ada0eedda"
+
+SRC_URI[vlibbin.md5sum] = "e292fa3f74be60b9110e0ebcc6840fe7"
+SRC_URI[vlibbin.sha256sum] = "05bf16473d60e0252d3a73a7c3d268e540783a226b4bda930e5f6042e7b01bd8"
diff --git a/bsp/meta-ti/recipes-ti/xdais/ti-xdais.inc b/bsp/meta-ti/recipes-ti/xdais/ti-xdais.inc
new file mode 100644
index 00000000..24268b3a
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/xdais/ti-xdais.inc
@@ -0,0 +1,25 @@
+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"
+
+require ../includes/ti-paths.inc
+require ../includes/ti-staging.inc
+
+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() {
+ CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
+ install -d ${D}${XDAIS_INSTALL_DIR_RECIPE}
+ cp ${CP_ARGS} ${S}/* ${D}${XDAIS_INSTALL_DIR_RECIPE}
+}
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP_${PN}-dev = "arch"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN}-dev += "${XDAIS_INSTALL_DIR_RECIPE}"
diff --git a/bsp/meta-ti/recipes-ti/xdais/ti-xdais_6.26.01.03.bb b/bsp/meta-ti/recipes-ti/xdais/ti-xdais_6.26.01.03.bb
new file mode 100644
index 00000000..3d358632
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/xdais/ti-xdais_6.26.01.03.bb
@@ -0,0 +1,11 @@
+require ti-xdais.inc
+
+PV = "6_26_01_03"
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://xdais_6_26_01_03_manifest.html;md5=a5a675d49db2f658bb98746ec80cda4e"
+
+SRC_URI[xdaistarball.md5sum] = "9b2bea3408254e737ec0d819a031adf6"
+SRC_URI[xdaistarball.sha256sum] = "d7bcbd8bcfe6fdfc5f402e4b125ced6c806dc30bc5296e98d5d43b0b5a237a0d"
+
+INSANE_SKIP_${PN} = "installed-vs-shipped"
diff --git a/bsp/meta-ti/recipes-ti/xdais/ti-xdais_7.24.00.04.bb b/bsp/meta-ti/recipes-ti/xdais/ti-xdais_7.24.00.04.bb
new file mode 100644
index 00000000..8148f73a
--- /dev/null
+++ b/bsp/meta-ti/recipes-ti/xdais/ti-xdais_7.24.00.04.bb
@@ -0,0 +1,9 @@
+require ti-xdais.inc
+
+PV = "7_24_00_04"
+PR = "r1"
+
+LIC_FILES_CHKSUM = "file://xdais_7_24_00_04_Manifest.html;md5=fd16442230745f0877cfe1c622669fd6"
+
+SRC_URI[xdaistarball.md5sum] = "f7514085b531f2ae49b37b30194e4989"
+SRC_URI[xdaistarball.sha256sum] = "79fd30377ab4c497292aeefb0565f81703d9020d1242b02ca9968c561e0de9a1"