Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -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|j742s2"
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}
}

View File

@@ -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"

View File

@@ -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|j742s2|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}
}

View File

@@ -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"

View File

@@ -0,0 +1,27 @@
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"
# Need to branch out with ${PV} var
BRANCH = "ti-${PV}-k6.12"
SRCREV = "83afddf9dbf6a8458267b4dae21ee35bfb11f3d1"
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 = "(.*)"

View File

@@ -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}
}

View File

@@ -0,0 +1,39 @@
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"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s"
DEPENDS = "virtual/kernel"
BRANCH = "linuxws/kirkstone/k6.1/${PV}"
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
S = "${WORKDIR}/git"
SRCREV = "c838bc06a163abad46dcc193c8fb9a4fb9e2e356"
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"

View File

@@ -0,0 +1,40 @@
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"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|j742s2|am62xx|am62pxx|j722s"
DEPENDS = "virtual/kernel"
BRANCH = "linuxws/scarthgap/k6.12/${PV}"
SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;branch=${BRANCH}"
S = "${WORKDIR}/git"
SRCREV = "8eaff654a8871118c08cfafe53795f57e3b6b396"
TARGET_PRODUCT:j721e = "j721e_linux"
TARGET_PRODUCT:j721s2 = "j721s2_linux"
TARGET_PRODUCT:j784s4 = "j784s4_linux"
TARGET_PRODUCT:j742s2 = "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"

View File

@@ -0,0 +1,50 @@
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"
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 = "9ae0fa4998b1c624408945e062bf8fb0ea7efb9d"
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}'
# There are useful flags here that are interpreted by the final kbuild pass
# These variables are not necessary when compiling outside of Yocto
export KERNEL_CC
export KERNEL_LD
export KERNEL_AR
export KERNEL_OBJCOPY
export KERNEL_STRIP
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"

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -0,0 +1,120 @@
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:j742s2 = "j742s2"
PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62lxx = "am62lxx"
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_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out"
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:j742s2 = "${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:am62lxx = ""
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"
ALTERNATIVE:${PN}:j742s2 = "j742s2-mcu-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"
ALTERNATIVE_LINK_NAME[j742s2-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j742s2-mcu-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_TARGET[j742s2-mcu-r5f0_0-fw] = "${INSTALL_DM_FW_DIR}/${DM_FIRMWARE}"
ALTERNATIVE_PRIORITY = "10"
addtask deploy after do_install

View File

@@ -0,0 +1,106 @@
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:j742s2 = "j742s2"
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:j742s2 = ""
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"

View File

@@ -0,0 +1,24 @@
SUMMARY = "TI HSM demo Firmware"
inherit deploy
require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
PACKAGE_ARCH = "${MACHINE_ARCH}"
PV = "${TI_HSM_DEMO_FW_VERSION}"
PR = "${INC_PR}.0"
COMPATIBLE_MACHINE = "j721s2|j784s4"
HSM_FW_SOC:j721s2 = "j721s2"
HSM_FW_SOC:j784s4 = "j784s4"
HSM_BINARY = "hsm-demo-firmware-${HSM_FW_SOC}*.bin"
do_deploy() {
install -d ${DEPLOYDIR}/ti-hsm
install -m 644 ${S}/ti-hsm/${HSM_BINARY} ${DEPLOYDIR}/ti-hsm
}
addtask deploy before do_build after do_compile

View File

@@ -0,0 +1,23 @@
SUMMARY = "Kernel drivers for Video Accelerators found in the J721E TI SoC"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://README;beginline=11;endline=12;md5=ad10b552e357ac443ec5dd2e02912b1b"
inherit module
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "j721e"
DEPENDS += "virtual/kernel"
BRANCH = "scarthgap/k${PV}"
SRC_URI = "git://git.ti.com/git/multimedia/img-vxe-vxd.git;protocol=https;branch=${BRANCH}"
SRCREV = "038d9263c67900ea4eff631820b088a3dc3a6ad5"
TARGET_PRODUCT:j721e = "j721e_linux"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'

View File

@@ -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"

View File

@@ -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"

View File

@@ -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}
}

View File

@@ -0,0 +1,51 @@
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.15.04"
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.7"
TI_DM_FW_VERSION = "11.00.09"
TI_SYSFW_VERSION = "11.00.07"
TI_HSM_DEMO_FW_VERSION = "11.00.09"
TI_LINUX_FW_SRCREV ?= "bffa52a1b8d3318ec86814047025e7c5edf7b7b0"
SRCREV = "${TI_LINUX_FW_SRCREV}"
BRANCH ?= "ti-linux-firmware"
TI_LINUX_FW_GIT_URI ?= "git://git.ti.com/git/processor-firmware/ti-linux-firmware.git"
TI_LINUX_FW_GIT_PROTOCOL ?= "https"
TI_LINUX_FW_GIT_BRANCH ?= "branch=${BRANCH}"
SRC_URI = "${TI_LINUX_FW_GIT_URI};protocol=${TI_LINUX_FW_GIT_PROTOCOL};${TI_LINUX_FW_GIT_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"

View File

@@ -0,0 +1,447 @@
SUMMARY = "TI Echo Test 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
PLAT_SFX = ""
PLAT_SFX:j721e = "j721e"
PLAT_SFX:j7200 = "j7200"
PLAT_SFX:j721s2 = "j721s2"
PLAT_SFX:j784s4 = "j784s4"
PLAT_SFX:j722s = "j722s"
PLAT_SFX:j742s2 = "j742s2"
PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62pxx = "am62pxx"
FILESEXTRAPATHS:prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:"
require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
PV = "${CORESDK_RTOS_VERSION}"
PR = "${INC_PR}.1"
# Secure Build
inherit ti-secdev
IPC_FW_DIR = "ti-ipc/${PLAT_SFX}"
INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f"
MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f"
MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f"
MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f"
MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f"
MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f"
MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f"
C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66"
C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71"
C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71"
C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71"
C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71"
IPC_FW_LIST = ""
IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}"
IPC_FW_LIST:am64xx = "${MCU_1_0_FW} ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW}"
IPC_FW_LIST:am62xx = " ${MCU_2_0_FW}"
IPC_FW_LIST:am62pxx = " ${MCU_2_0_FW}"
IPC_FW_LIST:am62axx = " ${MCU_2_0_FW} ${C7X_1_FW}"
IPC_FW_LIST:j721e = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C66_1_FW} ${C66_2_FW} ${C7X_1_FW}"
IPC_FW_LIST:j7200 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW}"
IPC_FW_LIST:j721s2 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${C7X_1_FW} ${C7X_2_FW}"
IPC_FW_LIST:j784s4 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${MCU_4_0_FW} ${MCU_4_1_FW} ${C7X_1_FW} ${C7X_2_FW} ${C7X_3_FW} ${C7X_4_FW}"
IPC_FW_LIST:j722s = " ${MCU_2_0_FW} ${MCU_3_0_FW} ${C7X_1_FW} ${C7X_2_FW}"
IPC_FW_LIST:j742s2 = " ${MCU_1_1_FW} ${MCU_2_0_FW} ${MCU_2_1_FW} ${MCU_3_0_FW} ${MCU_3_1_FW} ${MCU_4_0_FW} ${MCU_4_1_FW} ${C7X_1_FW} ${C7X_2_FW} ${C7X_3_FW}"
# Update the am64xx ipc binaries to be consistent with other platforms
do_install:prepend:am64xx() {
( cd ${S}/${IPC_FW_DIR}; \
ln -sf am64-main-r5f0_0-fw ${MCU_1_0_FW}; \
ln -sf am64-main-r5f0_1-fw ${MCU_1_1_FW}; \
ln -sf am64-main-r5f1_0-fw ${MCU_2_0_FW}; \
ln -sf am64-main-r5f1_1-fw ${MCU_2_1_FW}; \
ln -sf am64-mcu-m4f0_0-fw ${MCU_3_0_FW}; \
)
}
# Update the am62xx ipc binaries to be consistent with other platforms
do_install:prepend:am62xx() {
( cd ${S}/${IPC_FW_DIR}; \
ln -sf am62-mcu-m4f0_0-fw ${MCU_2_0_FW}; \
)
}
# Update the am62pxx ipc binaries to be consistent with other platforms
do_install:prepend:am62pxx() {
( cd ${S}/${IPC_FW_DIR}; \
ln -sf am62p-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
)
}
# Update the am62axx ipc binaries to be consistent with other platforms
do_install:prepend:am62axx() {
( cd ${S}/${IPC_FW_DIR}; \
ln -sf am62a-mcu-r5f0_0-fw ${MCU_2_0_FW}; \
)
}
do_install() {
# IPC Firmware
for FW_NAME in ${IPC_FW_LIST}
do
${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed
done
# IPC Firmware
install -d ${D}${INSTALL_IPC_FW_DIR}
for FW_NAME in ${IPC_FW_LIST}
do
install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR}
install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR}
done
}
# Set up names for the firmwares
ALTERNATIVE:${PN}:am65xx = "\
am65x-mcu-r5f0_0-fw am65x-mcu-r5f0_0-fw-sec \
am65x-mcu-r5f0_1-fw am65x-mcu-r5f0_1-fw-sec \
"
ALTERNATIVE:${PN}:am64xx = "\
am64-main-r5f0_0-fw am64-main-r5f0_0-fw-sec \
am64-main-r5f0_1-fw am64-main-r5f0_1-fw-sec \
am64-main-r5f1_0-fw am64-main-r5f1_0-fw-sec \
am64-main-r5f1_1-fw am64-main-r5f1_1-fw-sec \
am64-mcu-m4f0_0-fw am64-mcu-m4f0_0-fw-sec \
"
ALTERNATIVE:${PN}:am62xx = "\
am62-mcu-m4f0_0-fw am62-mcu-m4f0_0-fw-sec \
"
ALTERNATIVE:${PN}:am62pxx = "\
am62p-mcu-r5f0_0-fw am62p-mcu-r5f0_0-fw-sec \
"
ALTERNATIVE:${PN}:am62axx = "\
am62a-mcu-r5f0_0-fw am62a-mcu-r5f0_0-fw-sec \
am62a-c71_0-fw am62a-c71_0-fw-sec \
"
ALTERNATIVE:${PN}:j721e = "\
j7-mcu-r5f0_1-fw j7-mcu-r5f0_1-fw-sec \
j7-main-r5f0_0-fw j7-main-r5f0_0-fw-sec \
j7-main-r5f0_1-fw j7-main-r5f0_1-fw-sec \
j7-main-r5f1_0-fw j7-main-r5f1_0-fw-sec \
j7-main-r5f1_1-fw j7-main-r5f1_1-fw-sec \
j7-c66_0-fw j7-c66_0-fw-sec \
j7-c66_1-fw j7-c66_1-fw-sec \
j7-c71_0-fw j7-c71_0-fw-sec \
"
ALTERNATIVE:${PN}:j7200 = "\
j7200-mcu-r5f0_1-fw j7200-mcu-r5f0_1-fw-sec \
j7200-main-r5f0_0-fw j7200-main-r5f0_0-fw-sec \
j7200-main-r5f0_1-fw j7200-main-r5f0_1-fw-sec \
"
ALTERNATIVE:${PN}:j721s2 = "\
j721s2-mcu-r5f0_1-fw j721s2-mcu-r5f0_1-fw-sec \
j721s2-main-r5f0_0-fw j721s2-main-r5f0_0-fw-sec \
j721s2-main-r5f0_1-fw j721s2-main-r5f0_1-fw-sec \
j721s2-main-r5f1_0-fw j721s2-main-r5f1_0-fw-sec \
j721s2-main-r5f1_1-fw j721s2-main-r5f1_1-fw-sec \
j721s2-c71_0-fw j721s2-c71_0-fw-sec \
j721s2-c71_1-fw j721s2-c71_1-fw-sec \
"
ALTERNATIVE:${PN}:j784s4 = "\
j784s4-mcu-r5f0_1-fw j784s4-mcu-r5f0_1-fw-sec \
j784s4-main-r5f0_0-fw j784s4-main-r5f0_0-fw-sec \
j784s4-main-r5f0_1-fw j784s4-main-r5f0_1-fw-sec \
j784s4-main-r5f1_0-fw j784s4-main-r5f1_0-fw-sec \
j784s4-main-r5f1_1-fw j784s4-main-r5f1_1-fw-sec \
j784s4-main-r5f2_0-fw j784s4-main-r5f2_0-fw-sec \
j784s4-main-r5f2_1-fw j784s4-main-r5f2_1-fw-sec \
j784s4-c71_0-fw j784s4-c71_0-fw-sec \
j784s4-c71_1-fw j784s4-c71_1-fw-sec \
j784s4-c71_2-fw j784s4-c71_2-fw-sec \
j784s4-c71_3-fw j784s4-c71_3-fw-sec \
"
ALTERNATIVE:${PN}:j722s = "\
j722s-mcu-r5f0_0-fw j722s-mcu-r5f0_0-fw-sec \
j722s-main-r5f0_0-fw j722s-main-r5f0_0-fw-sec \
j722s-c71_0-fw j722s-c71_0-fw-sec \
j722s-c71_1-fw j722s-c71_1-fw-sec \
"
ALTERNATIVE:${PN}:j742s2 = "\
j742s2-mcu-r5f0_1-fw j742s2-mcu-r5f0_1-fw-sec \
j742s2-main-r5f0_0-fw j742s2-main-r5f0_0-fw-sec \
j742s2-main-r5f0_1-fw j742s2-main-r5f0_1-fw-sec \
j742s2-main-r5f1_0-fw j742s2-main-r5f1_0-fw-sec \
j742s2-main-r5f1_1-fw j742s2-main-r5f1_1-fw-sec \
j742s2-main-r5f2_0-fw j742s2-main-r5f2_0-fw-sec \
j742s2-main-r5f2_1-fw j742s2-main-r5f2_1-fw-sec \
j742s2-c71_0-fw j742s2-c71_0-fw-sec \
j742s2-c71_1-fw j742s2-c71_1-fw-sec \
j742s2-c71_2-fw j742s2-c71_2-fw-sec \
"
# Set up link names for the firmwares
ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am65x-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am65x-mcu-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/am65x-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[am65x-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/am65x-mcu-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[am64-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am64-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am64-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am64-main-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am64-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/am64-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[am64-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/am64-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${nonarch_base_libdir}/firmware/am64-main-r5f1_0-fw"
ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw-sec] = "${nonarch_base_libdir}/firmware/am64-main-r5f1_0-fw-sec"
ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${nonarch_base_libdir}/firmware/am64-main-r5f1_1-fw"
ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw-sec] = "${nonarch_base_libdir}/firmware/am64-main-r5f1_1-fw-sec"
ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${nonarch_base_libdir}/firmware/am64-mcu-m4f0_0-fw"
ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am64-mcu-m4f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw] = "${nonarch_base_libdir}/firmware/am62-mcu-m4f0_0-fw"
ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62-mcu-m4f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am62p-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62p-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am62p-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62p-mcu-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/am62a-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[am62a-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-mcu-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-mcu-r5f0_1-fw-sec"
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[j7-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j7-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j7-main-r5f1_0-fw] = "${nonarch_base_libdir}/firmware/j7-main-r5f1_0-fw"
ALTERNATIVE_LINK_NAME[j7-main-r5f1_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7-main-r5f1_0-fw-sec"
ALTERNATIVE_LINK_NAME[j7-main-r5f1_1-fw] = "${nonarch_base_libdir}/firmware/j7-main-r5f1_1-fw"
ALTERNATIVE_LINK_NAME[j7-main-r5f1_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-main-r5f1_1-fw-sec"
ALTERNATIVE_LINK_NAME[j7-c66_0-fw] = "${nonarch_base_libdir}/firmware/j7-c66_0-fw"
ALTERNATIVE_LINK_NAME[j7-c66_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7-c66_0-fw-sec"
ALTERNATIVE_LINK_NAME[j7-c66_1-fw] = "${nonarch_base_libdir}/firmware/j7-c66_1-fw"
ALTERNATIVE_LINK_NAME[j7-c66_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7-c66_1-fw-sec"
ALTERNATIVE_LINK_NAME[j7-c71_0-fw] = "${nonarch_base_libdir}/firmware/j7-c71_0-fw"
ALTERNATIVE_LINK_NAME[j7-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/j7-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j7200-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j7200-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7200-mcu-r5f0_1-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[j7200-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j7200-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j7200-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j721s2-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j721s2-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-mcu-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_0-fw] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f1_0-fw"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_0-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f1_0-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f1_1-fw"
ALTERNATIVE_LINK_NAME[j721s2-main-r5f1_1-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-main-r5f1_1-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw] = "${nonarch_base_libdir}/firmware/j721s2-c71_0-fw"
ALTERNATIVE_LINK_NAME[j721s2-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw] = "${nonarch_base_libdir}/firmware/j721s2-c71_1-fw"
ALTERNATIVE_LINK_NAME[j721s2-c71_1-fw-sec] = "${nonarch_base_libdir}/firmware/j721s2-c71_1-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j784s4-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j784s4-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-mcu-r5f0_1-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"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f1_0-fw"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_0-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f1_0-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f1_1-fw"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f1_1-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f1_1-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f2_0-fw"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_0-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f2_0-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f2_1-fw"
ALTERNATIVE_LINK_NAME[j784s4-main-r5f2_1-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-main-r5f2_1-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw] = "${nonarch_base_libdir}/firmware/j784s4-c71_0-fw"
ALTERNATIVE_LINK_NAME[j784s4-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw] = "${nonarch_base_libdir}/firmware/j784s4-c71_1-fw"
ALTERNATIVE_LINK_NAME[j784s4-c71_1-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-c71_1-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw] = "${nonarch_base_libdir}/firmware/j784s4-c71_2-fw"
ALTERNATIVE_LINK_NAME[j784s4-c71_2-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-c71_2-fw-sec"
ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw] = "${nonarch_base_libdir}/firmware/j784s4-c71_3-fw"
ALTERNATIVE_LINK_NAME[j784s4-c71_3-fw-sec] = "${nonarch_base_libdir}/firmware/j784s4-c71_3-fw-sec"
ALTERNATIVE_LINK_NAME[j722s-mcu-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j722s-mcu-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j722s-mcu-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j722s-mcu-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[j722s-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j722s-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j722s-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j722s-main-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[j722s-c71_0-fw] = "${nonarch_base_libdir}/firmware/j722s-c71_0-fw"
ALTERNATIVE_LINK_NAME[j722s-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/j722s-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j722s-c71_1-fw] = "${nonarch_base_libdir}/firmware/j722s-c71_1-fw"
ALTERNATIVE_LINK_NAME[j722s-c71_1-fw-sec] = "${nonarch_base_libdir}/firmware/j722s-c71_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-mcu-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j742s2-mcu-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j742s2-mcu-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-mcu-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f0_0-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f0_0-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f0_0-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f0_0-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f0_1-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f0_1-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f0_1-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f0_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f1_0-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f1_0-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f1_0-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f1_0-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f1_1-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f1_1-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f1_1-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f1_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f2_0-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f2_0-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f2_0-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f2_0-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f2_1-fw] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f2_1-fw"
ALTERNATIVE_LINK_NAME[j742s2-main-r5f2_1-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-main-r5f2_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-c71_0-fw] = "${nonarch_base_libdir}/firmware/j742s2-c71_0-fw"
ALTERNATIVE_LINK_NAME[j742s2-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-c71_0-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-c71_1-fw] = "${nonarch_base_libdir}/firmware/j742s2-c71_1-fw"
ALTERNATIVE_LINK_NAME[j742s2-c71_1-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-c71_1-fw-sec"
ALTERNATIVE_LINK_NAME[j742s2-c71_2-fw] = "${nonarch_base_libdir}/firmware/j742s2-c71_2-fw"
ALTERNATIVE_LINK_NAME[j742s2-c71_2-fw-sec] = "${nonarch_base_libdir}/firmware/j742s2-c71_2-fw-sec"
# Create the firmware alternatives
ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_0_FW}"
ALTERNATIVE_TARGET[am65x-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_0_FW}.signed"
ALTERNATIVE_TARGET[am65x-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[am65x-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[am64-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_0_FW}"
ALTERNATIVE_TARGET[am64-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_0_FW}.signed"
ALTERNATIVE_TARGET[am64-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[am64-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am64-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[am64-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[am62p-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am62p-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[am62a-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j7-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j7-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[j7-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[j7-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[j7-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[j7-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}"
ALTERNATIVE_TARGET[j7-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed"
ALTERNATIVE_TARGET[j7-c66_0-fw] = "${INSTALL_IPC_FW_DIR}/${C66_1_FW}"
ALTERNATIVE_TARGET[j7-c66_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C66_1_FW}.signed"
ALTERNATIVE_TARGET[j7-c66_1-fw] = "${INSTALL_IPC_FW_DIR}/${C66_2_FW}"
ALTERNATIVE_TARGET[j7-c66_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C66_2_FW}.signed"
ALTERNATIVE_TARGET[j7-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[j7-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[j7200-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j7200-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[j7200-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[j721s2-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[j721s2-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[j721s2-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j721s2-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j721s2-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[j721s2-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[j721s2-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[j721s2-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}"
ALTERNATIVE_TARGET[j721s2-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed"
ALTERNATIVE_TARGET[j721s2-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[j721s2-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j721s2-c71_1-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}"
ALTERNATIVE_TARGET[j721s2-c71_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}.signed"
ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[j784s4-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_4_0_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f2_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_4_0_FW}.signed"
ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_4_1_FW}"
ALTERNATIVE_TARGET[j784s4-main-r5f2_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_4_1_FW}.signed"
ALTERNATIVE_TARGET[j784s4-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[j784s4-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j784s4-c71_1-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}"
ALTERNATIVE_TARGET[j784s4-c71_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}.signed"
ALTERNATIVE_TARGET[j784s4-c71_2-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_3_FW}"
ALTERNATIVE_TARGET[j784s4-c71_2-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_3_FW}.signed"
ALTERNATIVE_TARGET[j784s4-c71_3-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_4_FW}"
ALTERNATIVE_TARGET[j784s4-c71_3-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_4_FW}.signed"
ALTERNATIVE_TARGET[j722s-mcu-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j722s-mcu-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j722s-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[j722s-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[j722s-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[j722s-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j722s-c71_1-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}"
ALTERNATIVE_TARGET[j722s-c71_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}.signed"
ALTERNATIVE_TARGET[j742s2-mcu-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}"
ALTERNATIVE_TARGET[j742s2-mcu-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_1_1_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f0_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f0_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_0_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f0_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f0_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_2_1_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f1_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f1_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_0_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f1_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f1_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_3_1_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f2_0-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_4_0_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f2_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_4_0_FW}.signed"
ALTERNATIVE_TARGET[j742s2-main-r5f2_1-fw] = "${INSTALL_IPC_FW_DIR}/${MCU_4_1_FW}"
ALTERNATIVE_TARGET[j742s2-main-r5f2_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${MCU_4_1_FW}.signed"
ALTERNATIVE_TARGET[j742s2-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
ALTERNATIVE_TARGET[j742s2-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
ALTERNATIVE_TARGET[j742s2-c71_1-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}"
ALTERNATIVE_TARGET[j742s2-c71_1-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_2_FW}.signed"
ALTERNATIVE_TARGET[j742s2-c71_2-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_3_FW}"
ALTERNATIVE_TARGET[j742s2-c71_2-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_3_FW}.signed"
ALTERNATIVE_PRIORITY = "10"

View File

@@ -0,0 +1,35 @@
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
}
do_deploy:am62lxx(){
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
}
addtask deploy before do_build after do_compile

View File

@@ -0,0 +1,21 @@
# NOTE: This .inc file with customizations only gets included for K3 platforms
PV = "2.12+git"
SRCREV_tfa = "e06afd47ff20983d467a06f05a4fc49c9cacf88f"
SRC_URI_TRUSTED_FIRMWARE_A = "git://github.com/TexasInstruments/arm-trusted-firmware.git;protocol=https"
SRCBRANCH = "ti-master"
SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};name=tfa;branch=${SRCBRANCH}"
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130"
COMPATIBLE_MACHINE = "k3"
TFA_BUILD_TARGET = "all"
TFA_INSTALL_TARGET = "bl31"
TFA_SPD = "opteed"
# For am62lxx, install bl1 & bl31 using TFA_INSTALL_TARGET
TFA_INSTALL_TARGET:am62lxx = "bl31 bl1"
TFA_SPD:am62lxx = ""
EXTRA_OEMAKE += "${@ 'K3_USART=' + d.getVar('TFA_K3_USART') if d.getVar('TFA_K3_USART') else ''}"
EXTRA_OEMAKE += "${@ 'K3_PM_SYSTEM_SUSPEND=' + d.getVar('TFA_K3_SYSTEM_SUSPEND') if d.getVar('TFA_K3_SYSTEM_SUSPEND') else ''}"

View File

@@ -0,0 +1,4 @@
TFA_TI = ""
TFA_TI:k3 = "trusted-firmware-a-ti.inc"
require ${TFA_TI}

View File

@@ -0,0 +1,12 @@
# This will have priority over generic uboot path
COMPATIBLE_MACHINE = "am62xx|am62pxx|am62lxx"
BRANCH = "ti-u-boot-2025.01"
BRANCH:tie-jailhouse = "ti-u-boot-2025.01-jailhouse"
SRCREV = "e718bbcec3ebf663c021839753034a224be4cc53"
SRCREV:tie-jailhouse = "e718bbcec3ebf663c021839753034a224be4cc53"
UBOOT_GIT_URI = "git://git.ti.com/git/processor-sdk/u-boot.git"

View File

@@ -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
}

View File

@@ -0,0 +1,9 @@
require u-boot-ti.inc
SUMMARY = "Mainline U-Boot for TI devices"
PV = "2025.04"
UBOOT_GIT_URI = "git://source.denx.de/u-boot/u-boot.git"
SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a"

View File

@@ -0,0 +1,5 @@
require u-boot-ti-mainline_git.bb
SUMMARY = "U-Boot master-next for TI devices"
BRANCH = "master-next"

View File

@@ -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 = "0893e693e08f9fc864a6191051dccc818accf933"

View File

@@ -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-2024.04"
SRCREV = "29d0c23d67ee7b88e46fe1753cd020e2b04c2ef6"

View File

@@ -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-2025.01"
SRCREV = "a94845e64850d906b095423ab924390307c31da8"

View File

@@ -0,0 +1,371 @@
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"
UBOOT_GIT_BRANCH ?= "branch=${BRANCH}"
SRC_URI = "${UBOOT_GIT_URI};protocol=${UBOOT_GIT_PROTOCOL};${UBOOT_GIT_BRANCH}"
PV:append = "+git"
# u-boot builds a tool mkeficapsule and it needs this
DEPENDS += "gnutls-native"
# 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"
# HSM Demo Firmware is only applicable for J721S2 & J784S4 devices
DEPENDS:append:j721s2 = " ti-hsm-demo-fw"
DEPENDS:append:j784s4 = " ti-hsm-demo-fw"
DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f"
DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out"
PLAT_SFX = ""
PLAT_SFX:j721e = "j721e"
PLAT_SFX:j7200 = "j7200"
PLAT_SFX:j721s2 = "j721s2"
PLAT_SFX:j784s4 = "j784s4"
PLAT_SFX:j722s = "j722s"
PLAT_SFX:j742s2 = "j742s2"
PLAT_SFX:am65xx = "am65xx"
PLAT_SFX:am64xx = "am64xx"
PLAT_SFX:am62xx = "am62xx"
PLAT_SFX:am62axx = "am62axx"
PLAT_SFX:am62lxx = "am62lxx"
PLAT_SFX:am62pxx = "am62pxx"
PACKAGECONFIG[ap-trusted-rom] = "BL1=${STAGING_DIR_HOST}/firmware/bl1.bin,,trusted-firmware-a"
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] = "TI_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:j742s2 = " dm"
PACKAGECONFIG:append:am62xx = " dm"
PACKAGECONFIG:append:am62axx = " dm"
PACKAGECONFIG:append:am62lxx = " ap-trusted-rom"
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}"
uboot_compile:append () {
if ! [ -f ${B}/${UBOOT_BINARY} ]; then
ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
fi
}
uboot_compile_config_copy_binary:k3r5 () {
config=$1
type=$2
binary=$3
if ! [ -L ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ] && ! [ -f ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ]; then
ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX}
fi
if ! [ -L ${B}/${config}/${binary} ] && ! [ -f ${B}/${config}/${binary} ]; then
ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${binary}
fi
}
uboot_install_config:append () {
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
}
uboot_install:append () {
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
}
do_deploy:append:k3r5 () {
rm -f ${DEPLOYDIR}/u-boot-initial-env*
rm -f ${DEPLOYDIR}/${PN}-initial-env*
rm -f ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}*
rm -f ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}*
rm -f ${DEPLOYDIR}/u-boot-initial-env-${MACHINE}-${PV}-${PR}*
rm -f ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR}*
}
uboot_deploy_config:append:k3r5 () {
for f in ${B}/${config}/tiboot3-*.bin; do
if [ -f "$f" ]; then
f_base=$(basename $f)
install -m 644 $f ${DEPLOYDIR}/${f_base}-${type}
ln -sf ${f_base}-${type} ${DEPLOYDIR}/${f_base}
fi
done
for f in ${B}/${config}/sysfw*.itb; do
if [ -f "$f" ]; then
f_base=$(basename $f)
install -m 644 $f ${DEPLOYDIR}/${f_base}-${type}
ln -sf ${f_base}-${type} ${DEPLOYDIR}/${f_base}
fi
done
}
uboot_deploy_config:append:am62lxx () {
for f in ${B}/${config}/tiboot3-*.bin; do
if [ -f "$f" ]; then
f_base=$(basename $f)
install -m 644 $f ${DEPLOYDIR}/${f_base}-${type}
ln -sf ${f_base}-${type} ${DEPLOYDIR}/${f_base}
fi
done
}
uboot_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
}
uboot_deploy:append:am62lxx () {
for f in ${B}/tiboot3*.bin; do
if [ -f "$f" ]; then
install -m 644 $f ${DEPLOYDIR}/
fi
done
}
uboot_deploy_config:append () {
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
}
uboot_deploy:append () {
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
}
do_deploy:append:am62xx() {
install -d ${DEPLOYDIR}
install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${DEPLOYDIR}
}
do_deploy:append:am62pxx() {
install -d ${DEPLOYDIR}
install -m 0644 ${S}/tools/logos/ti_logo_414x97_32bpp.bmp.gz ${DEPLOYDIR}
}
TOOLCHAIN = "gcc"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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
}

View File

@@ -0,0 +1,85 @@
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"
FW_CORES:am64xx = "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 = "ef5aec48e589902839ebae7ad753c68cf498c15f"
PV = "3.6.0"
#PR = "r1"
S = "${WORKDIR}/git"
FW_PLAT = ""
FW_PLAT:am62xx = "am62"
FW_PLAT:am64xx = "am64"
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"