diff mbox series

[master/scarthgap,v3,2/3] ti-rtos-messageq-test-fw: Add a recipe to package prebuilt IPC firmware

Message ID 20250819102350.2915102-3-b-padhi@ti.com
State Under Review
Delegated to: Ryan Eatmon
Headers show
Series Add recipe to package MessageQ Application and Firmware | expand

Commit Message

Beleswar Padhi Aug. 19, 2025, 10:23 a.m. UTC
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 <b-padhi@ti.com>
---
 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 mbox series

Patch

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 47ce5616..6787018e 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 ?= "e89a348f4618a26812fb353a04ed9532ef890a2f"
 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.
 #