diff options
Diffstat (limited to 'meta-ti-bsp/recipes-bsp')
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" |