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]] -=-=-=-=-=-=-=-=-=-=-=-
