The k3-image-gen now has two new helper flags SOC_TYPE and SYSFW_DIR
that we can use to simplify this recipe. With these we do not need to do
anything different here for HS builds, the SOC_TYPE selects this now.

DL_URL also do not need cleared anymore, the k3-image-gen will no longer
download missing files when not needed for the current build type.

do_install and do_deploy can also check for the existence of either
sysfw.itb or tiboot3.bin and install/deploy as needed. k3-image-gen only
gerneates the right one now depending on the SoC. Merge all these
steps for all SoCs.

Signed-off-by: Andrew Davis <[email protected]>
---
 recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 325 +++++++++----------------
 1 file changed, 116 insertions(+), 209 deletions(-)
 rewrite recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb (64%)

diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb 
b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
dissimilarity index 64%
index 983d23e3..d1f2859e 100644
--- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
+++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb
@@ -1,209 +1,116 @@
-require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
-
-DEPENDS = "openssl-native u-boot-mkimage-native dtc-native"
-DEPENDS_append_j7200-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_j721s2-hs-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader"
-DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader"
-
-CLEANBROKEN = "1"
-PR = "${INC_PR}.2"
-
-# Loaded by R5F core
-COMPATIBLE_MACHINE = "k3r5"
-COMPATIBLE_MACHINE_aarch64 = "null"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-TI_SECURE_DEV_PKG ?= ""
-export TI_SECURE_DEV_PKG
-
-SYSFW_SOC ?= "unknown"
-SYSFW_CONFIG ?= "unknown"
-
-SYSFW_PREFIX = "ti-sci-firmware"
-SYSFW_PREFIX_j7-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_j7-hs-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware"
-SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_j721s2-hs-evm-k3r5 = "ti-fs-firmware"
-SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware"
-
-SYSFW_SUFFIX ?= "unknown"
-
-SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}"
-SYSFW_BASE_append = "${@['','*']['${SYSFW_SUFFIX}' == 'hs']}"
-
-SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}.bin"
-
-SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
-SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
-SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
-SYSFW_SYMLINK ?= "sysfw.itb"
-
-CFLAGS[unexport] = "1"
-LDFLAGS[unexport] = "1"
-AS[unexport] = "1"
-LD[unexport] = "1"
-
-do_configure[noexec] = "1"
-
-EXTRA_OEMAKE = "\
-    CROSS_COMPILE=${TARGET_PREFIX} SYSFW_DL_URL='' SYSFW_HS_DL_URL='' 
SYSFW_HS_INNER_CERT_DL_URL='' \
-    SYSFW_PATH="${SYSFW_TISCI}" SOC=${SYSFW_SOC} CONFIG=${SYSFW_CONFIG} \
-"
-EXTRA_OEMAKE_HS = " \
-    HS=1 SW_REV=1 SYSFW_HS_PATH="${S}/ti-sysfw/${SYSFW_BASE}-enc.bin" 
SYSFW_HS_INNER_CERT_PATH="${S}/ti-sysfw/${SYSFW_BASE}-cert.bin" \
-"
-EXTRA_OEMAKE_append = "${@['',' ${EXTRA_OEMAKE_HS}']['${SYSFW_SUFFIX}' == 
'hs']}"
-
-EXTRA_OEMAKE_append_j7200-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_j721s2-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
-
-do_compile() {
-       cd ${WORKDIR}/imggen/
-       oe_runmake
-}
-
-do_install() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} 
${D}/boot/${SYSFW_VBINARY}
-       ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_IMAGE}
-       if [ ! -z "${SYSFW_SYMLINK}" ]; then
-               ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_SYMLINK}
-       fi
-}
-
-FILES_${PN} = "/boot"
-
-inherit deploy
-
-do_deploy () {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} 
${DEPLOYDIR}/${SYSFW_VBINARY}
-       rm -f ${DEPLOYDIR}/${SYSFW_IMAGE}
-       ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_IMAGE}
-       if [ ! -z "${SYSFW_SYMLINK}" ]; then
-               rm -f ${DEPLOYDIR}/${SYSFW_SYMLINK}
-               ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_SYMLINK}
-       fi
-
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_j7200-evm-k3r5() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_j7200-evm-k3r5() {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_j7200-hs-evm-k3r5() {
-        install -d ${D}/boot
-        install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-        ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-        ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_j7200-hs-evm-k3r5() {
-        install -d ${DEPLOYDIR}
-        install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-        ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-        ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-        install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_j721s2-evm-k3r5() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_j721s2-evm-k3r5() {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_j721s2-hs-evm-k3r5() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_j721s2-hs-evm-k3r5() {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_am64xx-evm-k3r5() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_am64xx-evm-k3r5() {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_am64xx-hs-evm-k3r5() {
-        install -d ${D}/boot
-        install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-        ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-        ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_am64xx-hs-evm-k3r5() {
-        install -d ${DEPLOYDIR}
-        install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-        ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-        ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-        install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-do_install_am62xx-evm-k3r5() {
-       install -d ${D}/boot
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
-}
-
-do_deploy_am62xx-evm-k3r5() {
-       install -d ${DEPLOYDIR}
-       install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
-       ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
-       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
-}
-
-addtask deploy before do_build after do_compile
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+DEPENDS = "openssl-native u-boot-mkimage-native dtc-native"
+DEPENDS_append_j7200-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_j721s2-hs-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader"
+DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader"
+
+CLEANBROKEN = "1"
+PR = "${INC_PR}.2"
+
+# Loaded by R5F core
+COMPATIBLE_MACHINE = "k3r5"
+COMPATIBLE_MACHINE_aarch64 = "null"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+TI_SECURE_DEV_PKG ?= ""
+export TI_SECURE_DEV_PKG
+
+SYSFW_SOC ?= "unknown"
+SYSFW_CONFIG ?= "unknown"
+
+SYSFW_PREFIX = "ti-sci-firmware"
+SYSFW_PREFIX_j7-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_j7-hs-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware"
+SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_j721s2-hs-evm-k3r5 = "ti-fs-firmware"
+SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware"
+
+SYSFW_SUFFIX ?= "unknown"
+
+SYSFW_BASE = "${SYSFW_PREFIX}-${SYSFW_SOC}-${SYSFW_SUFFIX}"
+SYSFW_BASE_append = "${@['','*']['${SYSFW_SUFFIX}' == 'hs']}"
+
+SYSFW_TISCI = "${S}/ti-sysfw/${SYSFW_BASE}.bin"
+
+SYSFW_BINARY = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
+SYSFW_VBINARY = "sysfw-${PV}-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
+SYSFW_IMAGE = "sysfw-${SYSFW_SOC}-${SYSFW_CONFIG}.itb"
+SYSFW_SYMLINK ?= "sysfw.itb"
+
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_configure[noexec] = "1"
+
+EXTRA_OEMAKE = "\
+    CROSS_COMPILE=${TARGET_PREFIX} SOC=${SYSFW_SOC} SOC_TYPE=${SYSFW_SUFFIX} \
+    CONFIG=${SYSFW_CONFIG} SYSFW_DIR="${S}/ti-sysfw" \
+"
+
+EXTRA_OEMAKE_append_j7200-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_j721s2-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " 
SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin""
+
+do_compile() {
+       cd ${WORKDIR}/imggen/
+       oe_runmake
+}
+
+do_install() {
+       install -d ${D}/boot
+
+       if [ -f "${WORKDIR}/imggen/${SYSFW_BINARY}" ]; then
+               install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} 
${D}/boot/${SYSFW_VBINARY}
+               ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_IMAGE}
+               if [ ! -z "${SYSFW_SYMLINK}" ]; then
+                       ln -sf ${SYSFW_VBINARY} ${D}/boot/${SYSFW_SYMLINK}
+               fi
+       fi
+
+       if [ -f "${WORKDIR}/imggen/${UBOOT_BINARY}" ]; then
+               install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${D}/boot/${UBOOT_IMAGE}
+               ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK}
+               ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
+       fi
+}
+
+FILES_${PN} = "/boot"
+
+inherit deploy
+
+do_deploy () {
+       install -d ${DEPLOYDIR}
+
+       if [ -f "${WORKDIR}/imggen/${SYSFW_BINARY}" ]; then
+               install -m 644 ${WORKDIR}/imggen/${SYSFW_BINARY} 
${DEPLOYDIR}/${SYSFW_VBINARY}
+               ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_IMAGE}
+               if [ ! -z "${SYSFW_SYMLINK}" ]; then
+                       ln -sf ${SYSFW_VBINARY} ${DEPLOYDIR}/${SYSFW_SYMLINK}
+               fi
+       fi
+
+       if [ -f "${WORKDIR}/imggen/${UBOOT_BINARY}" ]; then
+               install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} 
${DEPLOYDIR}/${UBOOT_IMAGE}
+               ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK}
+               ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY}
+       fi
+
+       install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/
+}
+
+addtask deploy before do_build after do_compile
-- 
2.36.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#14862): 
https://lists.yoctoproject.org/g/meta-ti/message/14862
Mute This Topic: https://lists.yoctoproject.org/mt/92120376/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to