From 5d7b8ae7b28ffaaa6335e184fd95397c7a14f128 Mon Sep 17 00:00:00 2001 From: Beleswar Padhi Date: Tue, 19 Aug 2025 15:53:49 +0530 Subject: [PATCH] ti-rtos-messageq-test-fw: Add a recipe to package prebuilt IPC firmware The messageq IPC firmware example for AM57xx SoCs is available in ti-linux-firmware repository. Add a recipe to package the prebuilt messageq firmware into the rootfs. Additionally, make sure the firmware for IPU1 rproc is copied into boot partition by updating the dependency in omap-a15 machine conf to the above recipe. This is needed for Early Boot use cases and gets rid of dependency on meta-ti-extras layer. There is no need to deploy the vayu IPC firmware anymore. Remove the deploy task from ti-ipc-rtos recipe. Signed-off-by: Beleswar Padhi Signed-off-by: Ryan Eatmon --- meta-ti-bsp/conf/machine/include/omap-a15.inc | 2 +- .../recipes-bsp/ti-linux-fw/ti-linux-fw.inc | 1 + .../ti-rtos-messageq-test-fw_git.bb | 67 +++++++++++++++++++ .../recipes-ti/ipc/ti-ipc-rtos_git.bb | 12 ---- 4 files changed, 69 insertions(+), 13 deletions(-) create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-messageq-test-fw_git.bb diff --git a/meta-ti-bsp/conf/machine/include/omap-a15.inc b/meta-ti-bsp/conf/machine/include/omap-a15.inc index 3b8eb0fd..2179476f 100644 --- a/meta-ti-bsp/conf/machine/include/omap-a15.inc +++ b/meta-ti-bsp/conf/machine/include/omap-a15.inc @@ -48,4 +48,4 @@ IMAGE_FSTYPES += "tar.xz wic.xz wic.bmap" WKS_FILE ?= "sdimage-2part.wks" IMAGE_BOOT_FILES ?= "${SPL_BINARY} u-boot.${UBOOT_SUFFIX} ${UBOOT_EXTLINUX_BOOT_FILES} ipc/dra7-ipu1-fw.xem4;dra7-ipu1-fw.xem4" do_image_wic[depends] += "virtual/bootloader:do_deploy" -do_image_wic[depends] += "ti-ipc-rtos:do_deploy" +do_image_wic[depends] += "ti-rtos-messageq-test-fw:do_deploy" 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 index 61696a00..afecf72c 100644 --- 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 @@ -19,6 +19,7 @@ TI_SYSFW_VERSION = "11.01.05" TI_HSM_DEMO_FW_VERSION = "11.00.09" TAD5212_FW_VERSION = "1.0.0.0" TI_PKA_FW_VERSION = "2.1.0" +TI_IPC_EXAMPLES_FW_VERSION = "3.52.00.01" TI_LINUX_FW_SRCREV ?= "6506f9e1e5d8d62e9dd70123fae04bd07b90bcd5" SRCREV = "${TI_LINUX_FW_SRCREV}" diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-messageq-test-fw_git.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-messageq-test-fw_git.bb new file mode 100644 index 00000000..980fe5cc --- /dev/null +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-messageq-test-fw_git.bb @@ -0,0 +1,67 @@ +SUMMARY = "TI MessageQ prebuilt binary firmware images" + +LICENSE = "TI-TFL" +LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" + +COMPATIBLE_MACHINE = "am57xx" + +inherit update-alternatives +inherit deploy + +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc + +PV = "${TI_IPC_EXAMPLES_FW_VERSION}" +PR = "${INC_PR}.0" + +INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/ipc" + +IPU_1_FW = "messageq_server_ipu1.xem4" +IPU_2_FW = "messageq_server_ipu2.xem4" +DSP_1_FW = "messageq_server_dsp1.xe66" +DSP_2_FW = "messageq_server_dsp2.xe66" + +IPU_1_FW_DIR = "ti_platforms_evmDRA7XX_ipu1" +IPU_2_FW_DIR = "ti_platforms_evmDRA7XX_ipu2" +DSP_1_FW_DIR = "ti_platforms_evmDRA7XX_dsp1" +DSP_2_FW_DIR = "ti_platforms_evmDRA7XX_dsp2" + +do_install() { + # Install Firmware + install -d ${D}${INSTALL_IPC_FW_DIR}/${IPU_1_FW_DIR} + install -d ${D}${INSTALL_IPC_FW_DIR}/${IPU_2_FW_DIR} + install -d ${D}${INSTALL_IPC_FW_DIR}/${DSP_1_FW_DIR} + install -d ${D}${INSTALL_IPC_FW_DIR}/${DSP_2_FW_DIR} + + install -m 0644 ${S}/ti-ipc/am57xx/${IPU_1_FW} ${D}${INSTALL_IPC_FW_DIR}/${IPU_1_FW_DIR} + install -m 0644 ${S}/ti-ipc/am57xx/${IPU_2_FW} ${D}${INSTALL_IPC_FW_DIR}/${IPU_2_FW_DIR} + install -m 0644 ${S}/ti-ipc/am57xx/${DSP_1_FW} ${D}${INSTALL_IPC_FW_DIR}/${DSP_1_FW_DIR} + install -m 0644 ${S}/ti-ipc/am57xx/${DSP_2_FW} ${D}${INSTALL_IPC_FW_DIR}/${DSP_2_FW_DIR} +} + +do_deploy() { + install -d ${DEPLOYDIR}/ipc + install -m 0644 ${S}/ti-ipc/am57xx/${IPU_1_FW} ${DEPLOYDIR}/ipc/dra7-ipu1-fw.xem4 +} + +addtask deploy after do_install + +# Set up names for the firmwares + +ALTERNATIVE:${PN} = "\ + dra7-ipu1-fw.xem4 \ + dra7-ipu2-fw.xem4 \ + dra7-dsp1-fw.xe66 \ + dra7-dsp2-fw.xe66 \ + " + +ALTERNATIVE_LINK_NAME[dra7-ipu1-fw.xem4] = "${nonarch_base_libdir}/firmware/dra7-ipu1-fw.xem4" +ALTERNATIVE_LINK_NAME[dra7-ipu2-fw.xem4] = "${nonarch_base_libdir}/firmware/dra7-ipu2-fw.xem4" +ALTERNATIVE_LINK_NAME[dra7-dsp1-fw.xe66] = "${nonarch_base_libdir}/firmware/dra7-dsp1-fw.xe66" +ALTERNATIVE_LINK_NAME[dra7-dsp2-fw.xe66] = "${nonarch_base_libdir}/firmware/dra7-dsp2-fw.xe66" + +ALTERNATIVE_TARGET[dra7-ipu1-fw.xem4] = "${INSTALL_IPC_FW_DIR}/${IPU_1_FW_DIR}/${IPU_1_FW}" +ALTERNATIVE_TARGET[dra7-ipu2-fw.xem4] = "${INSTALL_IPC_FW_DIR}/${IPU_2_FW_DIR}/${IPU_2_FW}" +ALTERNATIVE_TARGET[dra7-dsp1-fw.xe66] = "${INSTALL_IPC_FW_DIR}/${DSP_1_FW_DIR}/${DSP_1_FW}" +ALTERNATIVE_TARGET[dra7-dsp2-fw.xe66] = "${INSTALL_IPC_FW_DIR}/${DSP_2_FW_DIR}/${DSP_2_FW}" + +ALTERNATIVE_PRIORITY = "30" diff --git a/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb index 853fa117..d2ac6276 100644 --- a/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb +++ b/meta-ti-extras/recipes-ti/ipc/ti-ipc-rtos_git.bb @@ -2,7 +2,6 @@ require recipes-ti/ipc/ti-ipc.inc require recipes-ti/ipc/ti-ipc-common.inc require ti-ipc-rtos.inc -inherit deploy inherit update-alternatives DEPENDS = "ti-xdctools-native ti-sysbios doxygen-native zip-native" @@ -100,17 +99,6 @@ ALTERNATIVE_TARGET[dra7-dsp2-fw.xe66] = "${nonarch_base_libdir}/firmware/ipc/ti_ ALTERNATIVE_TARGET[dra7-ipu1-fw.xem4] = "${nonarch_base_libdir}/firmware/ipc/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4" ALTERNATIVE_TARGET[dra7-ipu2-fw.xem4] = "${nonarch_base_libdir}/firmware/ipc/ti_platforms_evmDRA7XX_ipu2/test_omx_ipu2_vayu.xem4" -do_deploy() { - install -d ${DEPLOYDIR} -} - -do_deploy:append:omap-a15() { - install -d ${DEPLOYDIR}/ipc - install -m 0644 ${S}/packages/ti/ipc/tests/bin/ti_platforms_evmDRA7XX_ipu1/test_omx_ipu1_vayu.xem4 ${DEPLOYDIR}/ipc/dra7-ipu1-fw.xem4 -} - -addtask deploy after do_install - # Disable the "buildpaths" check while we figure out how we are # going to address this issue. #