aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ti-bsp/recipes-bsp')
-rw-r--r--meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb18
-rw-r--r--meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb29
-rw-r--r--meta-ti-bsp/recipes-bsp/cmem/cmem.inc16
-rw-r--r--meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb11
-rw-r--r--meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb29
-rwxr-xr-xmeta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb41
-rw-r--r--meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb19
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.3.6512818.bb42
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_24.1.6554834.bb44
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb45
-rw-r--r--meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb33
-rw-r--r--meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb24
-rw-r--r--meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb29
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb112
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb104
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb20
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb20
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb17
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc46
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb29
-rw-r--r--meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc10
-rw-r--r--meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend4
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/ti-extras.inc12
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-bb.org_git.bb17
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc7
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb16
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2023.04.bb9
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2024.04.bb11
-rw-r--r--meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc357
-rw-r--r--meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb35
-rw-r--r--meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb22
-rw-r--r--meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb30
-rw-r--r--meta-ti-bsp/recipes-bsp/zephyr-fw/zephyr-openamp-rsc-table-fw.bb83
35 files changed, 1401 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb b/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb
new file mode 100644
index 00000000..ed1c7817
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cadence-mhdp-fw/cadence-mhdp-fw_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Cadence MHDP DP bridge firmware"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+LICENSE = "BSD-3-Clause | Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0"
+
+PV = "${CADENCE_MHDP_FW_VERSION}"
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "j721e|j721s2|j784s4"
+
+TARGET = "mhdp8546.bin"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/cadence
+ install -m 0644 ${S}/cadence/${TARGET} ${D}${nonarch_base_libdir}/firmware/cadence/${TARGET}
+}
diff --git a/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb b/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb
new file mode 100644
index 00000000..ecdae123
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
+
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
+
+PV = "1.9.2"
+PR = "r0"
+
+SRCREV = "fb484c5e54f2e31cf0a338d2927a06a2870bcc2c"
+BRANCH ?= "ti-v4.1.y"
+
+SRC_URI = "git://git.ti.com/git/processor-firmware/ti-amx3-cm3-pm-firmware.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ make CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${SECURITY_NOPIE_CFLAGS} ${DEBUG_PREFIX_MAP}"
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 bin/am335x-pm-firmware.elf ${D}${nonarch_base_libdir}/firmware/
+ install -m 0644 bin/*-scale-data.bin ${D}${nonarch_base_libdir}/firmware/
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware"
+
+COMPATIBLE_MACHINE = "(ti-soc)"
+TOOLCHAIN = "gcc"
diff --git a/meta-ti-bsp/recipes-bsp/cmem/cmem.inc b/meta-ti-bsp/recipes-bsp/cmem/cmem.inc
new file mode 100644
index 00000000..e8dbbe8f
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cmem/cmem.inc
@@ -0,0 +1,16 @@
+HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:CMEM"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://include/ti/cmem.h;beginline=1;endline=30;md5=26be509e4bb413905bda8309e338e2b1"
+
+BRANCH = "master"
+# This corresponds to version 4.20.00.01
+SRCREV = "86269258a48e0a9008dd9d5ebfae9da7ce843393"
+
+PV = "4.20.00.01+git"
+
+SRC_URI = "git://git.ti.com/git/ipc/ludev.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb b/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb
new file mode 100644
index 00000000..2042b08a
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cmem/cmem_git.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "The cmem component supports contiguous memory allocation from userspace"
+
+include cmem.inc
+
+PR = "r0"
+
+PACKAGES =+ "${PN}-test"
+
+FILES:${PN}-test = "${bindir}/*"
+
+inherit autotools
diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
new file mode 100644
index 00000000..b28bea92
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Chips&Media codec firmware files"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+inherit update-alternatives
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0"
+
+PV = "${CNM_WAVE521_FW_VERSION}"
+PR = "${INC_PR}.1"
+
+COMPATIBLE_MACHINE = "j721s2|j784s4|j722s|am62axx|am62pxx"
+
+TARGET_WAVE521C = "wave521c_k3_codec_fw.bin"
+
+SOURCE_WAVE521C = "wave521c_k3_codec_fw.bin"
+
+ALTERNATIVE_LINK_NAME[wave521c_codec_fw.bin] = "${nonarch_base_libdir}/firmware/${TARGET_WAVE521C}"
+ALTERNATIVE_TARGET[wave521c_codec_fw.bin] = "${nonarch_base_libdir}/firmware/cnm/${TARGET_WAVE521C}"
+ALTERNATIVE_PRIORITY = "10"
+
+# Set up names for the firmwares
+ALTERNATIVE:${PN} = "wave521c_codec_fw.bin"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/cnm
+ install -m 0644 ${S}/cnm/${SOURCE_WAVE521C} ${D}${nonarch_base_libdir}/firmware/cnm/${TARGET_WAVE521C}
+}
diff --git a/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb b/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb
new file mode 100755
index 00000000..95ba1e2d
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "R5 PSDK CPSW9G Ethernet Switch Firmware"
+
+LICENSE = "TI-TFL"
+LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=04ad0a015d4bb63c2b9e7b112debf3db"
+
+PV = "6.2+git"
+
+inherit update-alternatives
+
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "91f1628507bf7f8716f0bc7cafe88ad7f14c94f5"
+
+SRC_URI = "git://git.ti.com/git/glsdk/ti-eth-fw.git;protocol=${PROTOCOL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+CPSW9G_FW_DIR = "${S}/ethfw"
+CPSW9G_FW_FILENAME = "app_remoteswitchcfg_server_pdk_mem_map_strip.xer5f"
+
+# make sure that lib/firmware, and all its contents are part of the package
+FILES:${PN} += "${nonarch_base_libdir}/firmware"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+# Ethernet firmware to be loaded on Main R5 core(needs read permission)
+ install -m 0644 ${CPSW9G_FW_DIR}/${CPSW9G_FW_FILENAME} ${D}${nonarch_base_libdir}/firmware
+}
+
+TARGET_MAIN_R5FSS0_0 = "j7-main-r5f0_0-fw"
+ALTERNATIVE:${PN} = "j7-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}"
+ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/${CPSW9G_FW_FILENAME}"
+ALTERNATIVE_PRIORITY = "17"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INSANE_SKIP:${PN} += "arch"
+
+do_compile[noexec] = "1"
+do_configure[noexec] = "1"
diff --git a/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb b/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb
new file mode 100644
index 00000000..a56810d4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/gc320-drivers/ti-gc320-driver_5.0.11.p7.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Kernel drivers for the Vivante GC320 chipset found in TI SoCs"
+HOMEPAGE = "https://git.ti.com/graphics/ti-gc320-driver"
+LICENSE = "MIT | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=78d9818a51b9a8e9bb89dea418bac297"
+
+inherit module features_check
+
+REQUIRED_MACHINE_FEATURES = "gc320"
+
+MACHINE_KERNEL_PR:append = "i"
+PR = "${MACHINE_KERNEL_PR}"
+
+# Need to branch out with ${PV} var
+BRANCH = "ti-${PV}-k5.10"
+
+SRCREV = "e2a10f31e255a65ec30a6e10b890e77d7e9cb107"
+
+SRC_URI = "git://git.ti.com/git/graphics/ti-gc320-driver.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git/src"
+
+EXTRA_OEMAKE += "-f Kbuild AQROOT=${S} KERNEL_DIR=${STAGING_KERNEL_DIR} TOOLCHAIN_PATH=${TOOLCHAIN_PATH} CROSS_COMPILE=${TARGET_PREFIX} ARCH_TYPE=${TARGET_ARCH}"
+
+do_install() {
+ install -d ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
+ install -m 644 ${S}/galcore.ko ${D}/${base_libdir}/modules/${KERNEL_VERSION}/extra
+}
+
+COMPATIBLE_HOST ?= "null"
+COMPATIBLE_HOST:ti-soc = "(.*)"
diff --git a/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb b/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb
new file mode 100644
index 00000000..ee3a94dc
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/goodix-fw/goodix-fw_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Goodix GT9271 config firmware"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENCE.Spectrum-GT9271;md5=2a6de6be7af1fe46370c684daf27c852"
+
+PV = "${GOODIX_FW_VERSION}"
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+ORIGIN = "DRA71x-RevA-GT9271_SpecDig_Config.bin"
+TARGET = "goodix_9271_cfg.bin"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/ti-evm/${ORIGIN} ${D}${nonarch_base_libdir}/firmware/${TARGET}
+}
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.3.6512818.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.3.6512818.bb
new file mode 100644
index 00000000..02ec9fe9
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.3.6512818.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Kernel drivers for the PowerVR Rogue GPU found in the TI SoCs"
+HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-driver"
+LICENSE = "MIT | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://README;beginline=14;endline=19;md5=0403c7dea01a2b8232261e805325fac2"
+
+inherit module
+
+PROVIDES = "virtual/gpudriver"
+
+MACHINE_KERNEL_PR:append = "b"
+PR = "${MACHINE_KERNEL_PR}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s"
+
+DEPENDS = "virtual/kernel"
+
+BRANCH = "linuxws/scarthgap/k6.6/${PV}"
+
+SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "2f409b4dd2540e896b54bff02219d4fc51129b81"
+
+TARGET_PRODUCT:j721e = "j721e_linux"
+TARGET_PRODUCT:j721s2 = "j721s2_linux"
+TARGET_PRODUCT:j784s4 = "j784s4_linux"
+TARGET_PRODUCT:am62xx = "am62_linux"
+TARGET_PRODUCT:am62pxx = "am62p_linux"
+TARGET_PRODUCT:j722s = "j722s_linux"
+PVR_BUILD = "release"
+PVR_WS = "lws-generic"
+
+EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} PVR_BUILD_DIR=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
+
+do_install() {
+ make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+}
+
+RRECOMMENDS:${PN} += "ti-img-rogue-umlibs"
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_24.1.6554834.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_24.1.6554834.bb
new file mode 100644
index 00000000..a1b76d27
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_24.1.6554834.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Kernel drivers for the PowerVR Rogue GPU found in the TI SoCs"
+HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-driver"
+LICENSE = "MIT | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://README;beginline=14;endline=19;md5=0403c7dea01a2b8232261e805325fac2"
+
+DEFAULT_PREFERENCE = "-1"
+
+inherit module
+
+PROVIDES = "virtual/gpudriver"
+
+MACHINE_KERNEL_PR:append = "b"
+PR = "${MACHINE_KERNEL_PR}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s"
+
+DEPENDS = "virtual/kernel"
+
+BRANCH = "linuxws/scarthgap/k6.6/${PV}"
+
+SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "e2dfdfee991dadc18175f27fe9e8676e910a2f8d"
+
+TARGET_PRODUCT:j721e = "j721e_linux"
+TARGET_PRODUCT:j721s2 = "j721s2_linux"
+TARGET_PRODUCT:j784s4 = "j784s4_linux"
+TARGET_PRODUCT:am62xx = "am62_linux"
+TARGET_PRODUCT:am62pxx = "am62p_linux"
+TARGET_PRODUCT:j722s = "j722s_linux"
+PVR_BUILD = "release"
+PVR_WS = "lws-generic"
+
+EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} PVR_BUILD_DIR=${TARGET_PRODUCT} WINDOW_SYSTEM=${PVR_WS}'
+
+do_install() {
+ make -C ${STAGING_KERNEL_DIR} M=${B}/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+}
+
+RRECOMMENDS:${PN} += "ti-img-rogue-umlibs"
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
new file mode 100644
index 00000000..ca28ae76
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-sgx-ddk-km_1.17.4948957.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the TI SoCs"
+HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-linux"
+LICENSE = "MIT | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
+
+inherit module
+
+PROVIDES = "virtual/gpudriver"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|am65xx"
+
+MACHINE_KERNEL_PR:append = "x"
+PR = "${MACHINE_KERNEL_PR}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = "virtual/kernel"
+
+BRANCH = "${PV}/mesa/k6.1"
+
+SRC_URI = "git://git.ti.com/git/graphics/omap5-sgx-ddk-linux.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "2cb2c9609b7740cb2c348e669a96f26e1cc858da"
+
+TARGET_PRODUCT:omap-a15 = "ti572x_linux"
+TARGET_PRODUCT:ti33x = "ti335x_linux"
+TARGET_PRODUCT:ti43x = "ti437x_linux"
+TARGET_PRODUCT:am65xx = "ti654x_linux"
+PVR_BUILD = "release"
+PVR_WS = "lws-generic"
+
+EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}" BUILD=${PVR_BUILD} \
+WINDOW_SYSTEM=${PVR_WS} PVR_BUILD_DIR=${TARGET_PRODUCT}'
+
+do_install() {
+ make -C ${STAGING_KERNEL_DIR} M=${B}/eurasiacon/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_armhf/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+}
+
+do_install:am65xx() {
+ make -C ${STAGING_KERNEL_DIR} M=${B}/eurasiacon/binary_${TARGET_PRODUCT}_${PVR_WS}_${PVR_BUILD}/target_aarch64/kbuild INSTALL_MOD_PATH=${D}${root_prefix} PREFIX=${STAGING_DIR_HOST} modules_install
+}
+
+RRECOMMENDS:${PN} += "ti-sgx-ddk-um"
diff --git a/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb
new file mode 100644
index 00000000..b85355e4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prueth-fw/prueth-fw_5.6.15.bb
@@ -0,0 +1,33 @@
+SUMMARY = "PRU Ethernet firmware"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx|am65xx|am64xx"
+
+TARGET = " \
+ am335x-pru0-prueth-fw.elf \
+ am335x-pru1-prueth-fw.elf \
+ am437x-pru0-prueth-fw.elf \
+ am437x-pru1-prueth-fw.elf \
+ am57xx-pru0-prueth-fw.elf \
+ am57xx-pru1-prueth-fw.elf \
+ am65x-pru0-prueth-fw.elf \
+ am65x-pru1-prueth-fw.elf \
+ am65x-rtu0-prueth-fw.elf \
+ am65x-rtu1-prueth-fw.elf \
+ am65x-sr2-pru0-prueth-fw.elf \
+ am65x-sr2-pru1-prueth-fw.elf \
+ am65x-sr2-rtu0-prueth-fw.elf \
+ am65x-sr2-rtu1-prueth-fw.elf \
+ am65x-sr2-txpru0-prueth-fw.elf \
+ am65x-sr2-txpru1-prueth-fw.elf \
+"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-pruss
+ for f in ${TARGET}; do
+ install -m 0644 ${S}/ti-pruss/$f ${D}${nonarch_base_libdir}/firmware/ti-pruss/$f
+ done
+}
diff --git a/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb
new file mode 100644
index 00000000..3b06de9c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pruhsr-fw/pruhsr-fw_2.17.25.bb
@@ -0,0 +1,30 @@
+SUMMARY = "PRU HSR firmware"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PE = "1"
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx|am65xx|am64xx"
+
+TARGET = " \
+ am335x-pru0-pruhsr-fw.elf \
+ am335x-pru1-pruhsr-fw.elf \
+ am437x-pru0-pruhsr-fw.elf \
+ am437x-pru1-pruhsr-fw.elf \
+ am57xx-pru0-pruhsr-fw.elf \
+ am57xx-pru1-pruhsr-fw.elf \
+ am65x-sr2-pru0-pruhsr-fw.elf \
+ am65x-sr2-pru1-pruhsr-fw.elf \
+ am65x-sr2-rtu0-pruhsr-fw.elf \
+ am65x-sr2-rtu1-pruhsr-fw.elf \
+ am65x-sr2-txpru0-pruhsr-fw.elf \
+ am65x-sr2-txpru1-pruhsr-fw.elf \
+"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-pruss
+ for f in ${TARGET}; do
+ install -m 0644 ${S}/ti-pruss/$f ${D}${nonarch_base_libdir}/firmware/ti-pruss/$f
+ done
+}
diff --git a/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb b/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb
new file mode 100644
index 00000000..9d5136c2
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/pruprp-fw/pruprp-fw_2.17.25.bb
@@ -0,0 +1,24 @@
+SUMMARY = "PRU PRP firmware for AM335x/AM437x/AM57xx"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PE = "1"
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx"
+
+TARGET = " \
+ am335x-pru0-pruprp-fw.elf \
+ am335x-pru1-pruprp-fw.elf \
+ am437x-pru0-pruprp-fw.elf \
+ am437x-pru1-pruprp-fw.elf \
+ am57xx-pru0-pruprp-fw.elf \
+ am57xx-pru1-pruprp-fw.elf \
+"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-pruss
+ for f in ${TARGET}; do
+ install -m 0644 ${S}/ti-pruss/$f ${D}${nonarch_base_libdir}/firmware/ti-pruss/$f
+ done
+}
diff --git a/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb
new file mode 100644
index 00000000..be407363
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/prusw-fw/prusw-fw_3.2.9.bb
@@ -0,0 +1,29 @@
+SUMMARY = "PRU Switch firmware"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "ti33x|ti43x|am57xx|am65xx|am64xx"
+
+TARGET = " \
+ am335x-pru0-prusw-fw.elf \
+ am335x-pru1-prusw-fw.elf \
+ am437x-pru0-prusw-fw.elf \
+ am437x-pru1-prusw-fw.elf \
+ am57xx-pru0-prusw-fw.elf \
+ am57xx-pru1-prusw-fw.elf \
+ am65x-sr2-pru0-prusw-fw.elf \
+ am65x-sr2-pru1-prusw-fw.elf \
+ am65x-sr2-rtu0-prusw-fw.elf \
+ am65x-sr2-rtu1-prusw-fw.elf \
+ am65x-sr2-txpru0-prusw-fw.elf \
+ am65x-sr2-txpru1-prusw-fw.elf \
+"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-pruss
+ for f in ${TARGET}; do
+ install -m 0644 ${S}/ti-pruss/$f ${D}${nonarch_base_libdir}/firmware/ti-pruss/$f
+ done
+}
diff --git a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb
new file mode 100644
index 00000000..1ad236ce
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb
@@ -0,0 +1,112 @@
+SUMMARY = "TI DM prebuilt binary firmware images"
+
+LICENSE = "TI-TFL"
+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
+
+COMPATIBLE_MACHINE = "k3"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+inherit deploy
+inherit update-alternatives
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PV = "${TI_DM_FW_VERSION}"
+PR = "${INC_PR}.0"
+
+# Secure Build
+inherit ti-secdev
+
+PLAT_SFX = ""
+PLAT_SFX:j721e = "j721e"
+PLAT_SFX:j7200 = "j7200"
+PLAT_SFX:j721s2 = "j721s2"
+PLAT_SFX:j784s4 = "j784s4"
+PLAT_SFX:j722s = "j722s"
+PLAT_SFX:am65xx = "am65xx"
+PLAT_SFX:am64xx = "am64xx"
+PLAT_SFX:am62xx = "am62xx"
+PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62pxx = "am62pxx"
+
+DM_FW_DIR = "ti-dm/${PLAT_SFX}"
+
+INSTALL_DM_FW_DIR = "${nonarch_base_libdir}/firmware/${DM_FW_DIR}"
+
+DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
+
+DM_FW_LIST = ""
+DM_FW_LIST:j721e = "${DM_FIRMWARE}"
+DM_FW_LIST:j7200 = "${DM_FIRMWARE}"
+DM_FW_LIST:j721s2 = "${DM_FIRMWARE}"
+DM_FW_LIST:j784s4 = "${DM_FIRMWARE}"
+DM_FW_LIST:j722s = "${DM_FIRMWARE}"
+DM_FW_LIST:am65xx = ""
+DM_FW_LIST:am64xx = ""
+DM_FW_LIST:am62xx = "${DM_FIRMWARE}"
+DM_FW_LIST:am62axx = "${DM_FIRMWARE}"
+DM_FW_LIST:am62pxx = "${DM_FIRMWARE}"
+
+do_install() {
+ # Sign the firmware
+ # DM Firmware
+ for FW_NAME in ${DM_FW_LIST}
+ do
+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${DM_FW_DIR}/${FW_NAME} ${S}/${DM_FW_DIR}/${FW_NAME}.signed
+ done
+
+ # DM Firmware
+ install -d ${D}${INSTALL_DM_FW_DIR}
+ for FW_NAME in ${DM_FW_LIST}
+ do
+ install -m 0644 ${S}/${DM_FW_DIR}/${FW_NAME} ${D}${INSTALL_DM_FW_DIR}/
+ install -m 0644 ${S}/${DM_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_DM_FW_DIR}/
+ done
+}
+
+do_deploy() {
+ # DM Firmware is needed for rebuilding U-Boot
+ install -d ${DEPLOYDIR}/${DM_FW_DIR}
+ for FW_NAME in ${DM_FW_LIST}
+ do
+ install -m 0644 ${S}/${DM_FW_DIR}/${FW_NAME} ${DEPLOYDIR}/${DM_FW_DIR}
+ install -m 0644 ${S}/${DM_FW_DIR}/${FW_NAME}.signed ${DEPLOYDIR}/${DM_FW_DIR}
+ done
+}
+
+# Set up names for the firmwares
+ALTERNATIVE:${PN}:am62xx = "am62-main-r5f0_0-fw"
+ALTERNATIVE:${PN}:am62pxx = "am62p-main-r5f0_0-fw"
+ALTERNATIVE:${PN}:am62axx = "am62a-main-r5f0_0-fw"
+ALTERNATIVE:${PN}:j721e = "j7-mcu-r5f0_0-fw"
+ALTERNATIVE:${PN}:j7200 = "j7200-mcu-r5f0_0-fw"
+ALTERNATIVE:${PN}:j721s2 = "j721s2-mcu-r5f0_0-fw"
+ALTERNATIVE:${PN}:j784s4 = "j784s4-mcu-r5f0_0-fw"
+ALTERNATIVE:${PN}:j722s = "j722s-wkup-r5f0_0-fw"
+
+# Set up link names for the firmwares
+ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[am62p-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62p-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[am62a-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62a-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7200-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j721s2-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j721s2-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-mcu-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j722s-wkup-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j722s-wkup-r5f0_0-fw"
+
+# Create the firmware alternatives
+ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[am62p-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[am62a-main-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[j7200-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[j721s2-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[j784s4-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+ALTERNATIVE_TARGET[j722s-wkup-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
+
+ALTERNATIVE_PRIORITY = "10"
+
+addtask deploy after do_install
diff --git a/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
new file mode 100644
index 00000000..6bcc824b
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-eth-fw/ti-eth-fw.bb
@@ -0,0 +1,104 @@
+SUMMARY = "TI Ethernet prebuilt binary firmware images"
+
+LICENSE = "TI-TFL"
+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
+
+COMPATIBLE_MACHINE = "k3"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+inherit update-alternatives
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PV = "${CORESDK_RTOS_VERSION}"
+PR = "${INC_PR}.0"
+
+# Secure Build
+inherit ti-secdev
+
+PLAT_SFX = ""
+PLAT_SFX:j721e = "j721e"
+PLAT_SFX:j7200 = "j7200"
+PLAT_SFX:j721s2 = "j721s2"
+PLAT_SFX:j784s4 = "j784s4"
+PLAT_SFX:j722s = "j722s"
+PLAT_SFX:am65xx = "am65xx"
+PLAT_SFX:am64xx = "am64xx"
+PLAT_SFX:am62xx = "am62xx"
+PLAT_SFX:am62pxx = "am62pxx"
+PLAT_SFX:am62axx = "am62axx"
+
+ETH_FW_DIR = "ti-eth/${PLAT_SFX}"
+
+INSTALL_ETH_FW_DIR = "${nonarch_base_libdir}/firmware/${ETH_FW_DIR}"
+
+ETH_FW = "app_remoteswitchcfg_server_strip.xer5f"
+
+ETH_FW_LIST = ""
+ETH_FW_LIST:j721e = "${ETH_FW}"
+ETH_FW_LIST:j7200 = "${ETH_FW}"
+ETH_FW_LIST:j721s2 = ""
+ETH_FW_LIST:j784s4 = "${ETH_FW}"
+ETH_FW_LIST:j722s = ""
+ETH_FW_LIST:am65xx = ""
+ETH_FW_LIST:am64xx = ""
+ETH_FW_LIST:am62xx = ""
+ETH_FW_LIST:am62pxx = ""
+ETH_FW_LIST:am62axx = ""
+
+do_install() {
+ # ETH firmware
+ for FW_NAME in ${ETH_FW_LIST}
+ do
+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${ETH_FW_DIR}/${FW_NAME} ${S}/${ETH_FW_DIR}/${FW_NAME}.signed
+ done
+
+ # ETH firmware
+ install -d ${D}${INSTALL_ETH_FW_DIR}
+ for FW_NAME in ${ETH_FW_LIST}
+ do
+ install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME} ${D}${INSTALL_ETH_FW_DIR}
+ install -m 0644 ${S}/${ETH_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_ETH_FW_DIR}
+ done
+}
+
+# Set up names for the firmwares
+ALTERNATIVE:${PN}:j721e = "\
+ j7-main-r5f0_0-fw \
+ j7-main-r5f0_0-fw-sec \
+ "
+
+ALTERNATIVE:${PN}:j7200 = "\
+ j7200-main-r5f0_0-fw \
+ j7200-main-r5f0_0-fw-sec \
+ "
+
+ALTERNATIVE:${PN}:j784s4 = "\
+ j784s4-main-r5f0_0-fw \
+ j784s4-main-r5f0_0-fw-sec \
+ "
+
+# Set up link names for the firmwares
+ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_0-fw-sec"
+
+ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j7200-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_0-fw-sec"
+
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f0_0-fw"
+ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f0_0-fw-sec"
+
+# Create the firmware alternatives
+ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
+ALTERNATIVE_TARGET[j7-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
+
+ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
+ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
+
+ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}"
+ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw-sec] = "${INSTALL_ETH_FW_DIR}/${ETH_FW}.signed"
+
+ALTERNATIVE_PRIORITY = "5"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb
new file mode 100644
index 00000000..29af4863
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/viddec-test-app_1.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Test applications for TI DEC (v4l2 decoder for IMG D5520)"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=f17e17d664f72942124e4fcf06c178ee"
+
+DEPENDS = "libdrm ffmpeg"
+
+inherit autotools pkgconfig
+
+COMPATIBLE_MACHINE = "j721e"
+
+PR = "r1"
+SRCREV = "94a80c8c090dbfdc7fafd4e5bb78c2091e715af2"
+
+EXTRA_OEMAKE = "CC="${CC}""
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+BRANCH = "master"
+SRC_URI = "git://git.ti.com/git/jacinto7_multimedia/viddec-test-app.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb
new file mode 100644
index 00000000..b674c764
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/videnc-test-app_1.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Test applications for TI ENC (v4l2 encoder for IMG VXE384)"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://main.c;beginline=1;endline=14;md5=3545dd5bdf513840937d38c10b866605"
+
+DEPENDS = "libdrm"
+
+inherit autotools pkgconfig
+
+COMPATIBLE_MACHINE = "j721e"
+
+PR = "r0"
+SRCREV = "a5e7d820bea1be24f25a8369d4d4521c784f869a"
+
+EXTRA_OEMAKE = "CC="${CC}""
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+BRANCH = "master"
+SRC_URI = "git://git.ti.com/git/jacinto7_multimedia/videnc-test-app.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb
new file mode 100644
index 00000000..74729c16
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/vxd-dec-fw_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Video Decoding Firmware"
+LICENSE = "TI-IMG"
+LIC_FILES_CHKSUM = "file://LICENSE.ti-img;md5=84ca7278930db001870686ad997d6bb1"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PV = "${IMG_DEC_FW_VERSION}"
+PR = "${INC_PR}.0"
+
+COMPATIBLE_MACHINE = "j721e"
+
+TARGET = "pvdec_full_bin.fw"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -m 0644 ${S}/ti-img/${TARGET} ${D}${nonarch_base_libdir}/firmware/${TARGET}
+}
diff --git a/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc b/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc
new file mode 100644
index 00000000..adf8e698
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-linux-fw/ti-linux-fw.inc
@@ -0,0 +1,46 @@
+SUMMARY = "Common include for TI Linux firmware"
+
+LICENSE = "TI-TFL"
+LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76"
+
+PV = "2022.01"
+INC_PR = "r4"
+
+# Firmware versions
+CORESDK_RTOS_VERSION = "08.02.00.04"
+PRUETH_FW_AM65X_VERSION = "08.00.00.20"
+PRUETH_FW_AM65X_SR2_VERSION = "02.02.13.00"
+GOODIX_FW_VERSION = "1.0.0.0"
+CADENCE_MHDP_FW_VERSION = "2.1.0"
+IMG_DEC_FW_VERSION = "1.0"
+CNM_WAVE521_FW_VERSION = "1.0.3"
+TI_DM_FW_VERSION = "09.02.04"
+TI_SYSFW_VERSION = "09.02.08"
+
+TI_LINUX_FW_SRCREV ?= "3987d170fc522565c5e4a9293aba1db75951b8c0"
+SRCREV = "${TI_LINUX_FW_SRCREV}"
+
+BRANCH ?= "ti-linux-firmware"
+
+SRC_URI = "git://git.ti.com/git/processor-firmware/ti-linux-firmware.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+CLEANBROKEN = "1"
+
+# Make sure that lib/firmware, and all its contents are part of the package
+FILES:${PN} = "${nonarch_base_libdir}/firmware"
+
+# This is used to prevent the build system from stripping the firmwares
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+# This is used to prevent the build system from splitting out the firmware debug info into a separate file
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+# Disable arch checking as firmware is likely to be a different arch from the Yocto build
+INSANE_SKIP:${PN} += "arch"
+
+# Firmware in Linux Firmware has no configure nor build steps
+do_compile[noexec] = "1"
+do_configure[noexec] = "1"
diff --git a/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
new file mode 100644
index 00000000..12292c88
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "TI SYSFW/TIFS Firmware"
+
+inherit deploy
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PV = "${TI_SYSFW_VERSION}"
+PR = "${INC_PR}.0"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-sci-firmware-* ${D}${nonarch_base_libdir}/firmware/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-fs-firmware-* ${D}${nonarch_base_libdir}/firmware/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-fs-stub-firmware-* ${D}${nonarch_base_libdir}/firmware/ti-sysfw
+}
+
+do_deploy(){
+}
+
+do_deploy:k3r5() {
+ install -d ${DEPLOYDIR}/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-sci-firmware-* ${DEPLOYDIR}/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-fs-firmware-* ${DEPLOYDIR}/ti-sysfw
+ install -m 644 ${S}/ti-sysfw/ti-fs-stub-firmware-* ${DEPLOYDIR}/ti-sysfw
+}
+
+addtask deploy before do_build after do_compile
diff --git a/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc
new file mode 100644
index 00000000..291259c0
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc
@@ -0,0 +1,10 @@
+PV:k3 = "2.10+git"
+SRCREV_tfa:k3 = "00f1ec6b8740ccd403e641131e294aabacf2a48b"
+SRC_URI:k3 = "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https;name=tfa;branch=master"
+COMPATIBLE_MACHINE:k3 = "k3"
+TFA_BUILD_TARGET:k3 = "all"
+TFA_INSTALL_TARGET:k3 = "bl31"
+TFA_SPD:k3 = "opteed"
+
+EXTRA_OEMAKE:append:k3 = "${@ ' K3_USART=' + d.getVar('TFA_K3_USART') if d.getVar('TFA_K3_USART') else ''}"
+EXTRA_OEMAKE:append:k3 = "${@ ' K3_PM_SYSTEM_SUSPEND=' + d.getVar('TFA_K3_SYSTEM_SUSPEND') if d.getVar('TFA_K3_SYSTEM_SUSPEND') else ''}"
diff --git a/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
new file mode 100644
index 00000000..00d08a51
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend
@@ -0,0 +1,4 @@
+TFA_TI = ""
+TFA_TI:k3 = "trusted-firmware-a-ti.inc"
+
+require ${TFA_TI}
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/ti-extras.inc b/meta-ti-bsp/recipes-bsp/u-boot/ti-extras.inc
new file mode 100644
index 00000000..d32c6529
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/ti-extras.inc
@@ -0,0 +1,12 @@
+
+# This will have priority over generic uboot path
+
+COMPATIBLE_MACHINE = "am62xx|am62pxx"
+
+BRANCH = "ti-u-boot-2023.04"
+BRANCH:tie-jailhouse = "ti-u-boot-2023.04-jailhouse"
+
+SRCREV = "b0d868ee086eb5c96a3d32f72a7cb9670abf5b90"
+SRCREV:tie-jailhouse = "765cab112d16fcf68a3266738073663dae67a55d"
+
+UBOOT_GIT_URI = "git://git.ti.com/git/processor-sdk/u-boot.git"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-bb.org_git.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-bb.org_git.bb
new file mode 100644
index 00000000..13286564
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-bb.org_git.bb
@@ -0,0 +1,17 @@
+require u-boot-ti.inc
+
+SUMMARY = "BeagleBoard.org U-Boot"
+
+COMPATIBLE_MACHINE = "beagle.*"
+
+PV = "2023.04"
+
+UBOOT_GIT_URI = "git://github.com/beagleboard/u-boot.git"
+UBOOT_GIT_PROTOCOL = "https"
+BRANCH = "v2023.04-ti-09.01.00.008"
+SRCREV = "b0d717b732ee28e446baf94522b3491e590f7fbb"
+
+BRANCH:beagleplay = "v2023.04-ti-09.01.00.008-BeaglePlay"
+BRANCH:beagleplay-k3r5 = "v2023.04-ti-09.01.00.008-BeaglePlay"
+SRCREV:beagleplay = "43791d945f4e5c25bcc19b9c778e8f9d194dc16e"
+SRCREV:beagleplay-k3r5 = "43791d945f4e5c25bcc19b9c778e8f9d194dc16e"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc
new file mode 100644
index 00000000..c7ce5047
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-mergeconfig.inc
@@ -0,0 +1,7 @@
+do_configure:append () {
+ if [ -n "${UBOOT_CONFIG_FRAGMENTS}" ] && [ -n "${UBOOT_MACHINE}" ]
+ then
+ oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} ${UBOOT_CONFIG_FRAGMENTS}
+ oe_runmake -C ${S} O=${B} olddefconfig
+ fi
+}
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb
new file mode 100644
index 00000000..f497054c
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-mainline_git.bb
@@ -0,0 +1,16 @@
+require u-boot-ti.inc
+
+PR = "r0"
+
+PV = "2024.01"
+
+# For the un-initiated:
+# The actual URL you'd use with a git clone for example would be:
+# https://source.denx.de/u-boot/u-boot.git/
+# However, in the context of OE, we have to explicitly split things up:
+# a) we want it to use git fetcher - hence git:// prefix in GIT_URI (if we
+# used https here, we'd endup attempting wget instead of git)
+# b) and we want git fetcher to use https protocol, hence GIT_PROTOCOL as https
+UBOOT_GIT_URI = "git://source.denx.de/u-boot/u-boot.git"
+UBOOT_GIT_PROTOCOL = "https"
+SRCREV = "866ca972d6c3cabeaf6dbac431e8e08bb30b3c8e"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2023.04.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2023.04.bb
new file mode 100644
index 00000000..199b44f4
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2023.04.bb
@@ -0,0 +1,9 @@
+require u-boot-ti.inc
+
+include ${@ 'recipes-bsp/u-boot/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
+
+PR = "r0"
+
+BRANCH = "ti-u-boot-2023.04"
+
+SRCREV = "83660642085462346fbeb410f83bc99448ec7042"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2024.04.bb b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2024.04.bb
new file mode 100644
index 00000000..d268c8a5
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti-staging_2024.04.bb
@@ -0,0 +1,11 @@
+require u-boot-ti.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+include ${@ 'recipes-bsp/u-boot/ti-extras.inc' if d.getVar('TI_EXTRAS') else ''}
+
+PR = "r0"
+
+BRANCH = "ti-u-boot-2024.04"
+
+SRCREV = "919b5bb5e9eea5324b6d8b469ae69ff1dae45b75"
diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
new file mode 100644
index 00000000..bad8371f
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
@@ -0,0 +1,357 @@
+do_compile:prepend () {
+ scm_version=$(printf '%s%s' -ti-g $(git -C ${S} rev-parse --verify HEAD 2>/dev/null | cut -c1-12))
+
+ echo ${scm_version} > ${B}/.scmversion
+ echo ${scm_version} > ${S}/.scmversion
+}
+
+UBOOT_SUFFIX ?= "img"
+SPL_BINARY ?= "MLO"
+
+require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot-common.inc
+require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
+require u-boot-mergeconfig.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/u-boot:"
+
+SUMMARY = "u-boot bootloader for TI devices"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
+
+BRANCH ?= "master"
+UBOOT_GIT_URI ?= "git://git.ti.com/git/ti-u-boot/ti-u-boot.git"
+UBOOT_GIT_PROTOCOL = "https"
+SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};branch=${BRANCH}"
+
+PV:append = "+git"
+
+# u-boot needs devtree compiler to parse dts files
+DEPENDS += "dtc-native bc-native flex-native bison-native python3-setuptools-native"
+
+# u-boot needs these for binman
+DEPENDS += "python3-pyelftools-native python3-pyyaml-native python3-jsonschema-native python3-yamllint-native"
+
+# SYSFW/TIFS Firmware
+DEPENDS:append:k3 = " ti-sci-fw"
+DEPENDS:append:k3r5 = " ti-sci-fw"
+
+DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
+
+PLAT_SFX = ""
+PLAT_SFX:j721e = "j721e"
+PLAT_SFX:j7200 = "j7200"
+PLAT_SFX:j721s2 = "j721s2"
+PLAT_SFX:j784s4 = "j784s4"
+PLAT_SFX:j722s = "j722s"
+PLAT_SFX:am65xx = "am65xx"
+PLAT_SFX:am64xx = "am64xx"
+PLAT_SFX:am62xx = "am62xx"
+PLAT_SFX:am62axx = "am62axx"
+PLAT_SFX:am62pxx = "am62pxx"
+
+PACKAGECONFIG[atf] = "BL31=${STAGING_DIR_HOST}/firmware/bl31.bin,,trusted-firmware-a"
+PACKAGECONFIG[optee] = "TEE=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/bl32.bin,,optee-os"
+PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/ti-dm/${PLAT_SFX}/${DM_FIRMWARE},,ti-dm-fw"
+
+PACKAGECONFIG:append:aarch64 = " atf optee"
+PACKAGECONFIG:append:j721e = " dm"
+PACKAGECONFIG:append:j7200 = " dm"
+PACKAGECONFIG:append:j721s2 = " dm"
+PACKAGECONFIG:append:j784s4 = " dm"
+PACKAGECONFIG:append:j722s = " dm"
+PACKAGECONFIG:append:am62xx = " dm"
+PACKAGECONFIG:append:am62axx = " dm"
+PACKAGECONFIG:append:am62pxx = " dm"
+
+COMPATIBLE_MACHINE = "(ti-soc)"
+
+BINMAN_INDIRS="${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware"
+
+EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS} BINMAN_INDIRS=${BINMAN_INDIRS}"
+
+PROVIDES += "u-boot"
+PKG:${PN} = "u-boot"
+PKG:${PN}-dev = "u-boot-dev"
+PKG:${PN}-dbg = "u-boot-dbg"
+
+S = "${WORKDIR}/git"
+
+# Support for secure devices - detailed info is in doc/README.ti-secure
+inherit ti-secdev
+
+SYSROOT_DIRS += "/boot"
+
+# SPL (Second Program Loader) to be loaded over UART
+SPL_UART_BINARY = "u-boot-spl.bin"
+SPL_UART_BINARY:k3r5 = ""
+
+SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
+SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
+
+SPL_HS_MLO_BINARY = "u-boot-spl_HS_MLO"
+SPL_HS_MLO_IMAGE = "u-boot-spl_HS_MLO-${MACHINE}-${PV}-${PR}"
+SPL_HS_MLO_SYMLINK = "u-boot-spl_HS_MLO-${MACHINE}"
+
+# HS XLD
+UBOOT_HS_XLD_BINARY = "u-boot-spl_HS_X-LOADER"
+UBOOT_HS_XLD_IMAGE = "u-boot-spl_HS_X-LOADER-${MACHINE}-${PV}-${PR}"
+UBOOT_HS_XLD_SYMLINK = "u-boot-spl_HS_X-LOADER-${MACHINE}"
+
+# HS MLO
+UBOOT_HS_MLO_BINARY = "u-boot_HS_MLO"
+UBOOT_HS_MLO_IMAGE = "u-boot_HS_MLO-${MACHINE}-${PV}-${PR}"
+UBOOT_HS_MLO_SYMLINK = "u-boot_HS_MLO-${MACHINE}"
+
+# HS ISSW
+UBOOT_HS_ISSW_BINARY = "u-boot-spl_HS_ISSW"
+UBOOT_HS_ISSW_IMAGE = "u-boot-spl_HS_ISSW-${MACHINE}-${PV}-${PR}"
+UBOOT_HS_ISSW_SYMLINK = "u-boot-spl_HS_ISSW-${MACHINE}"
+
+# HS 2ND
+UBOOT_HS_2ND_BINARY = "u-boot-spl_HS_2ND"
+UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
+UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
+
+do_compile:append:k3r5 () {
+ if [ -n "${UBOOT_CONFIG}" ];
+ then
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ];
+ then
+ if ! [ -L ${B}/${config}/${UBOOT_BINARY} ] && ! [ -f ${B}/${config}/${UBOOT_BINARY} ]; then
+ ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${UBOOT_BINARY}
+ fi
+ fi
+ done
+ unset j
+ done
+ unset i
+ else
+ if ! [ -f ${B}/${UBOOT_BINARY} ]; then
+ ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
+ fi
+ fi
+}
+
+do_install:append () {
+ if [ -n "${UBOOT_CONFIG}" ]
+ then
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ]
+ then
+ if [ "x${SPL_UART_BINARY}" != "x" ]; then
+ install ${B}/${config}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}-${type}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}-${type}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${D}/boot/${SPL_UART_BINARY}
+ fi
+ if [ -f ${B}/${config}/${SPL_HS_MLO_BINARY} ]; then
+ install ${B}/${config}/${SPL_HS_MLO_BINARY} ${D}/boot/${SPL_HS_MLO_IMAGE}-${type}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${D}/boot/${SPL_HS_MLO_BINARY}-${type}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${D}/boot/${SPL_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}-${type}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}-${type}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${D}/boot/${UBOOT_HS_XLD_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}-${type}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}-${type}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${D}/boot/${UBOOT_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}-${type}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}-${type}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}-${type}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}-${type}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${D}/boot/${UBOOT_HS_2ND_BINARY}
+ fi
+ fi
+ done
+ unset j
+ done
+ unset i
+ else
+ if [ "x${SPL_UART_BINARY}" != "x" ]; then
+ install ${B}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
+ ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
+ fi
+ if [ -f ${B}/${SPL_HS_MLO_BINARY} ]; then
+ install ${B}/${SPL_HS_MLO_BINARY} ${D}/boot/${SPL_HS_MLO_IMAGE}
+ ln -sf ${SPL_HS_MLO_IMAGE} ${D}/boot/${SPL_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
+ install ${B}/${UBOOT_HS_XLD_BINARY} ${D}/boot/${UBOOT_HS_XLD_IMAGE}
+ ln -sf ${UBOOT_HS_XLD_IMAGE} ${D}/boot/${UBOOT_HS_XLD_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
+ install ${B}/${UBOOT_HS_MLO_BINARY} ${D}/boot/${UBOOT_HS_MLO_IMAGE}
+ ln -sf ${UBOOT_HS_MLO_IMAGE} ${D}/boot/${UBOOT_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
+ install ${B}/${UBOOT_HS_ISSW_BINARY} ${D}/boot/${UBOOT_HS_ISSW_IMAGE}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE} ${D}/boot/${UBOOT_HS_ISSW_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
+ install ${B}/${UBOOT_HS_2ND_BINARY} ${D}/boot/${UBOOT_HS_2ND_IMAGE}
+ ln -sf ${UBOOT_HS_2ND_IMAGE} ${D}/boot/${UBOOT_HS_2ND_BINARY}
+ fi
+ fi
+}
+
+do_deploy:append:k3r5 () {
+ for f in ${B}/tiboot3-*.bin; do
+ if [ -f "$f" ]; then
+ install -m 644 $f ${DEPLOYDIR}/
+ fi
+ done
+
+ for f in ${B}/sysfw*.itb; do
+ if [ -f "$f" ]; then
+ install -m 644 $f ${DEPLOYDIR}/
+ fi
+ done
+
+ rm ${DEPLOYDIR}/u-boot-initial-env || true
+ rm ${DEPLOYDIR}/${PN}-initial-env || true
+ rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE} || true
+ rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE} || true
+ rm ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR} || true
+ rm ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR} || true
+}
+
+do_deploy:append () {
+ if [ -n "${UBOOT_CONFIG}" ]
+ then
+ for config in ${UBOOT_MACHINE}; do
+ i=$(expr $i + 1);
+ for type in ${UBOOT_CONFIG}; do
+ j=$(expr $j + 1);
+ if [ $j -eq $i ]
+ then
+ cd ${DEPLOYDIR}
+ if [ "x${SPL_UART_BINARY}" != "x" ]; then
+ install ${B}/${config}/spl/${SPL_UART_BINARY} ${SPL_UART_IMAGE}-${type}
+ rm -f ${SPL_UART_BINARY} ${SPL_UART_SYMLINK}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${SPL_UART_BINARY}-${type}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${SPL_UART_BINARY}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${SPL_UART_SYMLINK}-${type}
+ ln -sf ${SPL_UART_IMAGE}-${type} ${SPL_UART_SYMLINK}
+ fi
+ if [ -f ${B}/${config}/${SPL_HS_MLO_BINARY} ]; then
+ install ${B}/${config}/${SPL_HS_MLO_BINARY} ${SPL_HS_MLO_IMAGE}-${type}
+ rm -f ${SPL_HS_MLO_BINARY} ${SPL_HS_MLO_SYMLINK}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${SPL_HS_MLO_SYMLINK}-${type}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${SPL_HS_MLO_SYMLINK}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${SPL_HS_MLO_BINARY}-${type}
+ ln -sf ${SPL_HS_MLO_IMAGE}-${type} ${SPL_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_XLD_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_IMAGE}-${type}
+ rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}-${type}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_SYMLINK}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}-${type}
+ ln -sf ${UBOOT_HS_XLD_IMAGE}-${type} ${UBOOT_HS_XLD_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_MLO_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_IMAGE}-${type}
+ rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}-${type}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_SYMLINK}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}-${type}
+ ln -sf ${UBOOT_HS_MLO_IMAGE}-${type} ${UBOOT_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_IMAGE}-${type}
+ rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}-${type}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_SYMLINK}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}-${type}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE}-${type} ${UBOOT_HS_ISSW_BINARY}
+ fi
+ if [ -f ${B}/${config}/${UBOOT_HS_2ND_BINARY} ]; then
+ install ${B}/${config}/${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_IMAGE}-${type}
+ rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}-${type}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_SYMLINK}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}-${type}
+ ln -sf ${UBOOT_HS_2ND_IMAGE}-${type} ${UBOOT_HS_2ND_BINARY}
+ fi
+ fi
+ done
+ unset j
+ done
+ unset i
+ else
+ cd ${DEPLOYDIR}
+ if [ "x${SPL_UART_BINARY}" != "x" ]; then
+ install ${B}/spl/${SPL_UART_BINARY} ${SPL_UART_IMAGE}
+ rm -f ${SPL_UART_BINARY} ${SPL_UART_SYMLINK}
+ ln -sf ${SPL_UART_IMAGE} ${SPL_UART_BINARY}
+ ln -sf ${SPL_UART_IMAGE} ${SPL_UART_SYMLINK}
+ fi
+ if [ -f ${B}/${SPL_HS_MLO_BINARY} ]; then
+ install ${B}/${SPL_HS_MLO_BINARY} ${SPL_HS_MLO_IMAGE}
+ rm -f ${SPL_HS_MLO_BINARY} ${SPL_HS_MLO_SYMLINK}
+ ln -sf ${SPL_HS_MLO_IMAGE} ${SPL_HS_MLO_SYMLINK}
+ ln -sf ${SPL_HS_MLO_IMAGE} ${SPL_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_XLD_BINARY} ]; then
+ install ${B}/${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_IMAGE}
+ rm -f ${UBOOT_HS_XLD_BINARY} ${UBOOT_HS_XLD_SYMLINK}
+ ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_SYMLINK}
+ ln -sf ${UBOOT_HS_XLD_IMAGE} ${UBOOT_HS_XLD_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_MLO_BINARY} ]; then
+ install ${B}/${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_IMAGE}
+ rm -f ${UBOOT_HS_MLO_BINARY} ${UBOOT_HS_MLO_SYMLINK}
+ ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_SYMLINK}
+ ln -sf ${UBOOT_HS_MLO_IMAGE} ${UBOOT_HS_MLO_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_ISSW_BINARY} ]; then
+ install ${B}/${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_IMAGE}
+ rm -f ${UBOOT_HS_ISSW_BINARY} ${UBOOT_HS_ISSW_SYMLINK}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_SYMLINK}
+ ln -sf ${UBOOT_HS_ISSW_IMAGE} ${UBOOT_HS_ISSW_BINARY}
+ fi
+ if [ -f ${B}/${UBOOT_HS_2ND_BINARY} ]; then
+ install ${B}/${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_IMAGE}
+ rm -f ${UBOOT_HS_2ND_BINARY} ${UBOOT_HS_2ND_SYMLINK}
+ ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_SYMLINK}
+ ln -sf ${UBOOT_HS_2ND_IMAGE} ${UBOOT_HS_2ND_BINARY}
+ fi
+ fi
+}
+
+do_install:append:am62xx() {
+ install -d ${D}/boot
+ install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${D}/boot
+}
+
+do_deploy:append:am62xx() {
+ install -d ${DEPLOYDIR}
+ install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${DEPLOYDIR}
+}
+
+do_install:append:am62pxx() {
+ install -d ${D}/boot
+ install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${D}/boot
+}
+
+do_deploy:append:am62pxx() {
+ install -d ${DEPLOYDIR}
+ install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${DEPLOYDIR}
+}
+
+TOOLCHAIN = "gcc"
diff --git a/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb b/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb
new file mode 100644
index 00000000..4ec09a70
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vis-fw/vis_01.50.07.15.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Radio Application Firmware"
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://${S}/J6_VIS_DEMO_LINUX_BINARY_01.50.07.15-Manifest.html;md5=a59aa54b9470f555cf086b91dca0afa3"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+PR = "r1"
+
+SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/vis/01_50_07_15/exports/vis-dra7xx-evm-01.50.07.15.tar.gz;protocol=http"
+
+SRC_URI[md5sum] = "fe8b00e398fb3b7ada0c15b601867acb"
+SRC_URI[sha256sum] = "6e2aa47ae892910616ebdc96646af778af9a59ca0657716ab4fa4b24a9afae69"
+
+S = "${WORKDIR}"
+
+DSPAPP = "dra7-dsp1-fw-radio.xe66"
+GPPAPP = "RadioApp"
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware
+ install -d ${D}${bindir}
+ install ${S}/prebuilt/${DSPAPP} ${D}${nonarch_base_libdir}/firmware/${DSPAPP}
+ install -m 0755 ${S}/prebuilt/${GPPAPP} ${D}${bindir}/${GPPAPP}
+}
+
+PACKAGES += "${PN}-fw"
+RDEPENDS:${PN} += "${PN}-fw"
+
+FILES:${PN}-fw += "${nonarch_base_libdir}/firmware/${DSPAPP}"
+
+INSANE_SKIP:${PN} = "ldflags"
+INSANE_SKIP:${PN}-fw = "arch"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
diff --git a/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb b/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb
new file mode 100644
index 00000000..8af49577
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vpdma-fw/vpdma-fw_03-2012.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "VPDMA firmware for Video Input Port and Video Processing Engine"
+
+LICENSE = "TI-TSPA"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fd463c9500441ed91d07a0331baa635c"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/vpdma-fw/03-2012/exports/vpdma-fw_03-2012.tar.gz;protocol=http;name=dra7xx-evm"
+SRC_URI[dra7xx-evm.md5sum] = "80176df1350c21d9efa90171789c546e"
+SRC_URI[dra7xx-evm.sha256sum] = "a0b254ffd0c7f481cb3989e632088f5e4a233c73a1c676faa3061721ea60dc90"
+
+S = "${WORKDIR}/vpdma-fw-${PV}"
+TARGET = "vpdma-1b8.bin"
+
+do_install() {
+ mkdir -p ${D}${nonarch_base_libdir}/firmware
+ cp ${S}/${TARGET} ${D}${nonarch_base_libdir}/firmware/${TARGET}
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/${TARGET}"
+
+PR = "r1"
diff --git a/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb b/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb
new file mode 100644
index 00000000..7f4e8b77
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/vpe-tests/vpe-tests_git.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "VPE test program"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74d2f71d8898c54e3d1c9d0058c484aa"
+
+DEPENDS = "virtual/kernel vpdma-fw"
+
+PR = "r3"
+
+COMPATIBLE_MACHINE = "dra7xx"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRCREV = "e3d8db1aa935775f9d196ad7428e0cd9864a36ca"
+BRANCH ?= "master"
+
+SRC_URI = "git://git.ti.com/git/vpe_tests/vpe_tests.git;protocol=https;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+FLOATABI = "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
+
+# The test application needs additional include headers from the kernel
+EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${FLOATABI}" KDIR="${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"'
+
+do_install() {
+ oe_runmake DESTDIR="${D}" install
+ rm -rf ${D}${nonarch_base_libdir}/firmware/vpdma-*.bin
+ rmdir -p ${D}${nonarch_base_libdir}/firmware || true
+}
diff --git a/meta-ti-bsp/recipes-bsp/zephyr-fw/zephyr-openamp-rsc-table-fw.bb b/meta-ti-bsp/recipes-bsp/zephyr-fw/zephyr-openamp-rsc-table-fw.bb
new file mode 100644
index 00000000..4efc99ac
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/zephyr-fw/zephyr-openamp-rsc-table-fw.bb
@@ -0,0 +1,83 @@
+SUMMARY = "Precompiled Zephyr OpenAMP example firmware for TI K3 devices"
+
+# Name of this demo's firmware
+FW_NAME = "zephyr_openamp_rsc_table.elf"
+
+# List of cores for which this demo has a build
+FW_CORES = ""
+FW_CORES:am62xx = "mcu-m4f0_0"
+
+# Note: Everything below is common to all our Zephyr firmwares and can be
+# factored out to a common include file once we have more than one demo
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+COMPATIBLE_MACHINE = "k3"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "git://github.com/glneo/zephyr-firmware.git;protocol=https;branch=main"
+SRCREV = "146d4f9b3930722d73685d600958f0b10ea97de2"
+PV = "3.6.0"
+#PR = "r1"
+
+S = "${WORKDIR}/git"
+
+FW_PLAT = ""
+FW_PLAT:am62xx = "am62"
+
+FW_INSTALL_DIR = "${nonarch_base_libdir}/firmware/zephyr/${FW_PLAT}"
+
+do_install() {
+ for FW_CORE in ${FW_CORES}
+ do
+ install -d ${D}${FW_INSTALL_DIR}/${FW_CORE}
+ install -m 0644 ${S}/${FW_PLAT}/${FW_CORE}/${FW_NAME} ${D}${FW_INSTALL_DIR}/${FW_CORE}
+ done
+}
+
+# Make sure that lib/firmware, and all its contents are part of the package
+FILES:${PN} = "${nonarch_base_libdir}/firmware"
+
+# This is used to prevent the build system from stripping the firmwares
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+# This is used to prevent the build system from splitting out the firmware debug info into a separate file
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+# This is a prebuilt with no external dependencies
+INHIBIT_DEFAULT_DEPS = "1"
+
+# Disable arch checking as firmware is likely to be a different arch from the Yocto build
+INSANE_SKIP:${PN} += "arch"
+
+# Zephyr-Firmware has no configure, compile, nor clean steps
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+CLEANBROKEN = "1"
+
+inherit update-alternatives
+
+python fw_generate_alternatives() {
+ for fw_core_name in d.getVar('FW_CORES').split():
+ fw_plat = d.getVar('FW_PLAT')
+ fw_pkg_name = d.getVar('PN')
+ fw_core_name_full = (fw_plat + "-" + fw_core_name + "-fw")
+
+ # Create the firmware alternatives
+ d.appendVar('ALTERNATIVE:%s' % fw_pkg_name, (fw_core_name_full + " "))
+
+ # Set up firmware alternatives link names
+ fw_alt_link = ("${nonarch_base_libdir}/firmware/" + fw_core_name_full)
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', fw_core_name_full, fw_alt_link)
+
+ # Set up firmware alternatives link targets
+ fw_alt_target_rename = "${FW_INSTALL_DIR}/" + fw_core_name + "/${FW_NAME}"
+ d.setVarFlag('ALTERNATIVE_TARGET_%s' % fw_pkg_name, fw_core_name_full, fw_alt_target_rename)
+}
+
+do_package[prefuncs] += "fw_generate_alternatives"
+
+ALTERNATIVE_PRIORITY = "20"