* [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw
@ 2025-06-27 20:24 Andrew Davis
2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 2/3] ti-linux-fw: Remove default SUMMARY line Andrew Davis
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Andrew Davis @ 2025-06-27 20:24 UTC (permalink / raw)
To: Denys Dmytriyenko, Ryan Eatmon, meta-ti; +Cc: Andrew Davis
TI EdgeAI firmware is distinct from the other "echo test" firmware
provided by ti-rtos-echo-test-fw. It belongs in its own package.
Split out the EdgeAI firmware from the "echo test" firmware.
Give this a higher ALTERNATIVE_PRIORITY so that if both are installed
the default will still be EdgeAI firmware for AM62A devices.
Signed-off-by: Andrew Davis <afd@ti.com>
---
.../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++
.../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++-----
2 files changed, 72 insertions(+), 15 deletions(-)
create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb
diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb
new file mode 100644
index 00000000..67150968
--- /dev/null
+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb
@@ -0,0 +1,58 @@
+SUMMARY = "TI EdgeAI prebuilt binary firmware images"
+
+LICENSE = "TI-TFL"
+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
+
+COMPATIBLE_MACHINE = "am62axx"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit update-alternatives
+
+PLAT_SFX = ""
+PLAT_SFX:am62axx = "am62axx"
+
+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc
+
+PV = "${CORESDK_RTOS_VERSION}"
+PR = "${INC_PR}.1"
+
+# Secure Build
+inherit ti-secdev
+
+IPC_FW_DIR = "ti-ipc/${PLAT_SFX}"
+
+INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
+
+C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out"
+
+IPC_FW_LIST = ""
+IPC_FW_LIST:am62axx = "${C7X_1_FW}"
+
+do_install() {
+ # Sign Firmware
+ for FW_NAME in ${IPC_FW_LIST}
+ do
+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed
+ done
+
+ # Install Firmware
+ install -d ${D}${INSTALL_IPC_FW_DIR}
+ for FW_NAME in ${IPC_FW_LIST}
+ do
+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR}
+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR}
+ done
+}
+
+ALTERNATIVE:${PN}:am62axx = "\
+ am62a-c71_0-fw am62a-c71_0-fw-sec \
+ "
+
+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw"
+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec"
+
+ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}"
+ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed"
+
+ALTERNATIVE_PRIORITY = "20"
diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
index 7fffc9de..3e4db129 100644
--- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb
@@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}"
INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}"
-MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f"
-MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f"
-MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f"
-MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
-MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f"
-MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f"
-MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f"
-MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f"
-C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66"
-C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
-C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71"
-C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out"
-C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71"
-C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71"
-C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71"
+MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f"
+MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f"
+MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f"
+MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f"
+MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f"
+MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f"
+MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f"
+MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f"
+C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66"
+C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66"
+C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71"
+C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71"
+C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71"
+C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71"
IPC_FW_LIST = ""
IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}"
--
2.39.2
^ permalink raw reply related [flat|nested] 10+ messages in thread* [meta-ti][scarthgap/master][PATCH 2/3] ti-linux-fw: Remove default SUMMARY line 2025-06-27 20:24 [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Andrew Davis @ 2025-06-27 20:24 ` Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 3/3] meta-ti-bsp: Factor out a firmware common options helper Andrew Davis 2025-06-30 10:16 ` [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Chirag Shilwant 2 siblings, 0 replies; 10+ messages in thread From: Andrew Davis @ 2025-06-27 20:24 UTC (permalink / raw) To: Denys Dmytriyenko, Ryan Eatmon, meta-ti; +Cc: Andrew Davis All firmware that includes this helper should set their own SUMMARY line. Currently all do, but they often include this file after setting their own SUMMARY, so this one overwrites it. Remove this default SUMMARY. Signed-off-by: Andrew Davis <afd@ti.com> --- meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb index 67150968..378e3a12 100644 --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb @@ -1,5 +1,3 @@ -SUMMARY = "TI EdgeAI prebuilt binary firmware images" - LICENSE = "TI-TFL" LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" -- 2.39.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [meta-ti][scarthgap/master][PATCH 3/3] meta-ti-bsp: Factor out a firmware common options helper 2025-06-27 20:24 [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 2/3] ti-linux-fw: Remove default SUMMARY line Andrew Davis @ 2025-06-27 20:24 ` Andrew Davis 2025-06-30 10:16 ` [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Chirag Shilwant 2 siblings, 0 replies; 10+ messages in thread From: Andrew Davis @ 2025-06-27 20:24 UTC (permalink / raw) To: Denys Dmytriyenko, Ryan Eatmon, meta-ti; +Cc: Andrew Davis Firmware-only packages tend to set all the same long list of options, factor these out into a helper include and include that in firmware- only package. Signed-off-by: Andrew Davis <afd@ti.com> --- .../cpsw9g-eth-fw/cpsw9g-eth-fw_git.bb | 10 +------- .../ti-linux-fw/firmware-common.inc | 22 +++++++++++++++++ .../recipes-bsp/ti-linux-fw/ti-linux-fw.inc | 24 +------------------ .../zephyr-fw/zephyr-openamp-rsc-table-fw.bb | 21 +--------------- 4 files changed, 25 insertions(+), 52 deletions(-) create mode 100644 meta-ti-bsp/recipes-bsp/ti-linux-fw/firmware-common.inc 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 index 95ba1e2d..5762ee8a 100755 --- 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 @@ -18,8 +18,7 @@ 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" +require recipes-bsp/ti-linux-fw/firmware-common.inc do_install() { install -d ${D}${nonarch_base_libdir}/firmware @@ -32,10 +31,3 @@ 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/ti-linux-fw/firmware-common.inc b/meta-ti-bsp/recipes-bsp/ti-linux-fw/firmware-common.inc new file mode 100644 index 00000000..fb9861b8 --- /dev/null +++ b/meta-ti-bsp/recipes-bsp/ti-linux-fw/firmware-common.inc @@ -0,0 +1,22 @@ +# Clean is broken for most firmware-only repos +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" + +# Firmware here are 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" + +# Firmware has no configure nor build steps +do_compile[noexec] = "1" +do_configure[noexec] = "1" 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 b1db1dfd..f216efa4 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 @@ -1,5 +1,3 @@ -SUMMARY = "Common include for TI Linux firmware" - LICENSE = "TI-TFL" LIC_FILES_CHKSUM = "file://LICENSE.ti;md5=b5aebf0668bdf95621259288c4a46d76" @@ -32,24 +30,4 @@ SRC_URI = "${TI_LINUX_FW_GIT_URI};protocol=${TI_LINUX_FW_GIT_PROTOCOL};${TI_LINU 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" - -# Firmware here are 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" - -# Firmware in Linux Firmware has no configure nor build steps -do_compile[noexec] = "1" -do_configure[noexec] = "1" +require recipes-bsp/ti-linux-fw/firmware-common.inc 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 index 3aa69700..c5293a3f 100644 --- 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 @@ -39,26 +39,7 @@ do_install() { 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" +require recipes-bsp/ti-linux-fw/firmware-common.inc inherit update-alternatives -- 2.39.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-06-27 20:24 [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 2/3] ti-linux-fw: Remove default SUMMARY line Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 3/3] meta-ti-bsp: Factor out a firmware common options helper Andrew Davis @ 2025-06-30 10:16 ` Chirag Shilwant 2025-07-01 0:28 ` Denys Dmytriyenko 2 siblings, 1 reply; 10+ messages in thread From: Chirag Shilwant @ 2025-06-30 10:16 UTC (permalink / raw) To: afd, meta-ti; +Cc: Denys Dmytriyenko, Ryan Eatmon Hi Andrew, On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: > TI EdgeAI firmware is distinct from the other "echo test" firmware > provided by ti-rtos-echo-test-fw. It belongs in its own package. > Split out the EdgeAI firmware from the "echo test" firmware. Looks like the corresponding meta-arago patch for adding ti-edgeai-fw in filesystem is missing from the meta-arago lists. We have added ti-rtos-echo-test-fw in following recipes, so similar should be done for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC firmwares packaged. ~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: ti-rtos-echo-test-fw \ meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: ti-rtos-echo-test-fw \ meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 = " ti-rtos-echo-test-fw" [0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx -- Chirag > Give this a higher ALTERNATIVE_PRIORITY so that if both are installed > the default will still be EdgeAI firmware for AM62A devices. > > Signed-off-by: Andrew Davis <afd@ti.com> > --- > .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++ > .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- > 2 files changed, 72 insertions(+), 15 deletions(-) > create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > > diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > new file mode 100644 > index 00000000..67150968 > --- /dev/null > +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > @@ -0,0 +1,58 @@ > +SUMMARY = "TI EdgeAI prebuilt binary firmware images" > + > +LICENSE = "TI-TFL" > +LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" > + > +COMPATIBLE_MACHINE = "am62axx" > + > +PACKAGE_ARCH = "${MACHINE_ARCH}" > + > +inherit update-alternatives > + > +PLAT_SFX = "" > +PLAT_SFX:am62axx = "am62axx" > + > +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc > + > +PV = "${CORESDK_RTOS_VERSION}" > +PR = "${INC_PR}.1" > + > +# Secure Build > +inherit ti-secdev > + > +IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > + > +INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > + > +C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" > + > +IPC_FW_LIST = "" > +IPC_FW_LIST:am62axx = "${C7X_1_FW}" > + > +do_install() { > + # Sign Firmware > + for FW_NAME in ${IPC_FW_LIST} > + do > + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed > + done > + > + # Install Firmware > + install -d ${D}${INSTALL_IPC_FW_DIR} > + for FW_NAME in ${IPC_FW_LIST} > + do > + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} > + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} > + done > +} > + > +ALTERNATIVE:${PN}:am62axx = "\ > + am62a-c71_0-fw am62a-c71_0-fw-sec \ > + " > + > +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" > +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" > + > +ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" > +ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" > + > +ALTERNATIVE_PRIORITY = "20" > diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > index 7fffc9de..3e4db129 100644 > --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > @@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > > INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > > -MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > -MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > -MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > -MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > -MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > -MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > -MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > -MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > -C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > -C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > -C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > -C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" > -C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > -C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > -C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > +MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > +MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > +MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > +MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > +MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > +MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > +MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > +MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > +C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > +C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > +C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > +C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > +C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > +C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > > IPC_FW_LIST = "" > IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#18717): https://lists.yoctoproject.org/g/meta-ti/message/18717 > Mute This Topic: https://lists.yoctoproject.org/mt/113868641/7030289 > Group Owner: meta-ti+owner@lists.yoctoproject.org > Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [c-shilwant@ti.com] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-06-30 10:16 ` [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Chirag Shilwant @ 2025-07-01 0:28 ` Denys Dmytriyenko 2025-07-01 14:45 ` Andrew Davis 0 siblings, 1 reply; 10+ messages in thread From: Denys Dmytriyenko @ 2025-07-01 0:28 UTC (permalink / raw) To: c-shilwant; +Cc: afd, meta-ti, Denys Dmytriyenko, Ryan Eatmon On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote: > Hi Andrew, > > On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: > >TI EdgeAI firmware is distinct from the other "echo test" firmware > >provided by ti-rtos-echo-test-fw. It belongs in its own package. > >Split out the EdgeAI firmware from the "echo test" firmware. > > > Looks like the corresponding meta-arago patch for adding > ti-edgeai-fw in filesystem > is missing from the meta-arago lists. > > We have added ti-rtos-echo-test-fw in following recipes, so similar > should be done > for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC > firmwares packaged. > > > ~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" > meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: > ti-rtos-echo-test-fw \ > meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: > ti-rtos-echo-test-fw \ > meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 > = " ti-rtos-echo-test-fw" Instead of doing it in images or packagegroups, a better alternative would be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most of the FWs. That way it will work for any distro or image built for the same platform. > [0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx > > > > -- > Chirag > > > > >Give this a higher ALTERNATIVE_PRIORITY so that if both are installed > >the default will still be EdgeAI firmware for AM62A devices. > > > >Signed-off-by: Andrew Davis <afd@ti.com> > >--- > > .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++ > > .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- > > 2 files changed, 72 insertions(+), 15 deletions(-) > > create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > > > >diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >new file mode 100644 > >index 00000000..67150968 > >--- /dev/null > >+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >@@ -0,0 +1,58 @@ > >+SUMMARY = "TI EdgeAI prebuilt binary firmware images" > >+ > >+LICENSE = "TI-TFL" > >+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" > >+ > >+COMPATIBLE_MACHINE = "am62axx" > >+ > >+PACKAGE_ARCH = "${MACHINE_ARCH}" > >+ > >+inherit update-alternatives > >+ > >+PLAT_SFX = "" > >+PLAT_SFX:am62axx = "am62axx" > >+ > >+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc > >+ > >+PV = "${CORESDK_RTOS_VERSION}" > >+PR = "${INC_PR}.1" > >+ > >+# Secure Build > >+inherit ti-secdev > >+ > >+IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > >+ > >+INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >+ > >+C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" > >+ > >+IPC_FW_LIST = "" > >+IPC_FW_LIST:am62axx = "${C7X_1_FW}" > >+ > >+do_install() { > >+ # Sign Firmware > >+ for FW_NAME in ${IPC_FW_LIST} > >+ do > >+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed > >+ done > >+ > >+ # Install Firmware > >+ install -d ${D}${INSTALL_IPC_FW_DIR} > >+ for FW_NAME in ${IPC_FW_LIST} > >+ do > >+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} > >+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} > >+ done > >+} > >+ > >+ALTERNATIVE:${PN}:am62axx = "\ > >+ am62a-c71_0-fw am62a-c71_0-fw-sec \ > >+ " > >+ > >+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" > >+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" > >+ > >+ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" > >+ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" > >+ > >+ALTERNATIVE_PRIORITY = "20" > >diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >index 7fffc9de..3e4db129 100644 > >--- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >@@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > > INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >-MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >-MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >-MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >-MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >-MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >-MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >-MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >-MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >-C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >-C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >-C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >-C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" > >-C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >-C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >-C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > >+MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >+MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >+MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >+MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >+MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >+MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >+MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >+MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >+C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >+C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >+C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >+C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >+C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >+C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > > IPC_FW_LIST = "" > > IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-07-01 0:28 ` Denys Dmytriyenko @ 2025-07-01 14:45 ` Andrew Davis 2025-07-01 15:39 ` Ryan Eatmon 0 siblings, 1 reply; 10+ messages in thread From: Andrew Davis @ 2025-07-01 14:45 UTC (permalink / raw) To: Denys Dmytriyenko, c-shilwant; +Cc: meta-ti, Denys Dmytriyenko, Ryan Eatmon On 6/30/25 7:28 PM, Denys Dmytriyenko wrote: > On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote: >> Hi Andrew, >> >> On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: >>> TI EdgeAI firmware is distinct from the other "echo test" firmware >>> provided by ti-rtos-echo-test-fw. It belongs in its own package. >>> Split out the EdgeAI firmware from the "echo test" firmware. >> >> >> Looks like the corresponding meta-arago patch for adding >> ti-edgeai-fw in filesystem >> is missing from the meta-arago lists. >> >> We have added ti-rtos-echo-test-fw in following recipes, so similar >> should be done >> for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC >> firmwares packaged. >> >> >> ~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" >> meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: >> ti-rtos-echo-test-fw \ >> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: >> ti-rtos-echo-test-fw \ >> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 >> = " ti-rtos-echo-test-fw" > > Instead of doing it in images or packagegroups, a better alternative would > be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or > MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most of the FWs. > > That way it will work for any distro or image built for the same platform. > I like this idea in general for most firmware, but our remoteproc firmware is a little different in that is has multiple valid options and selection depends on use-case. The echo test firmware is probably only useful for test images, and EdgeAI firmware might only be useful for EdgeAI images, etc.. So selection of remoteproc firmware should stay in distro layer IMHO Andrew > >> [0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx >> >> >> >> -- >> Chirag >> >> >> >>> Give this a higher ALTERNATIVE_PRIORITY so that if both are installed >>> the default will still be EdgeAI firmware for AM62A devices. >>> >>> Signed-off-by: Andrew Davis <afd@ti.com> >>> --- >>> .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++ >>> .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- >>> 2 files changed, 72 insertions(+), 15 deletions(-) >>> create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>> >>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>> new file mode 100644 >>> index 00000000..67150968 >>> --- /dev/null >>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>> @@ -0,0 +1,58 @@ >>> +SUMMARY = "TI EdgeAI prebuilt binary firmware images" >>> + >>> +LICENSE = "TI-TFL" >>> +LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" >>> + >>> +COMPATIBLE_MACHINE = "am62axx" >>> + >>> +PACKAGE_ARCH = "${MACHINE_ARCH}" >>> + >>> +inherit update-alternatives >>> + >>> +PLAT_SFX = "" >>> +PLAT_SFX:am62axx = "am62axx" >>> + >>> +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc >>> + >>> +PV = "${CORESDK_RTOS_VERSION}" >>> +PR = "${INC_PR}.1" >>> + >>> +# Secure Build >>> +inherit ti-secdev >>> + >>> +IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>> + >>> +INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>> + >>> +C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" >>> + >>> +IPC_FW_LIST = "" >>> +IPC_FW_LIST:am62axx = "${C7X_1_FW}" >>> + >>> +do_install() { >>> + # Sign Firmware >>> + for FW_NAME in ${IPC_FW_LIST} >>> + do >>> + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed >>> + done >>> + >>> + # Install Firmware >>> + install -d ${D}${INSTALL_IPC_FW_DIR} >>> + for FW_NAME in ${IPC_FW_LIST} >>> + do >>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} >>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} >>> + done >>> +} >>> + >>> +ALTERNATIVE:${PN}:am62axx = "\ >>> + am62a-c71_0-fw am62a-c71_0-fw-sec \ >>> + " >>> + >>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" >>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" >>> + >>> +ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" >>> +ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" >>> + >>> +ALTERNATIVE_PRIORITY = "20" >>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>> index 7fffc9de..3e4db129 100644 >>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>> @@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>> INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>> -MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>> -MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>> -MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>> -MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>> -MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>> -MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>> -MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>> -MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>> -C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>> -C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>> -C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>> -C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" >>> -C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>> -C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>> -C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>> +MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>> +MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>> +MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>> +MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>> +MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>> +MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>> +MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>> +MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>> +C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>> +C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>> +C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>> +C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>> +C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>> +C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>> IPC_FW_LIST = "" >>> IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-07-01 14:45 ` Andrew Davis @ 2025-07-01 15:39 ` Ryan Eatmon 2025-07-01 15:58 ` Andrew Davis 2025-07-01 16:04 ` Denys Dmytriyenko 0 siblings, 2 replies; 10+ messages in thread From: Ryan Eatmon @ 2025-07-01 15:39 UTC (permalink / raw) To: Andrew Davis, Denys Dmytriyenko, c-shilwant; +Cc: meta-ti, Denys Dmytriyenko On 7/1/2025 9:45 AM, Andrew Davis wrote: > On 6/30/25 7:28 PM, Denys Dmytriyenko wrote: >> On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via >> lists.yoctoproject.org wrote: >>> Hi Andrew, >>> >>> On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: >>>> TI EdgeAI firmware is distinct from the other "echo test" firmware >>>> provided by ti-rtos-echo-test-fw. It belongs in its own package. >>>> Split out the EdgeAI firmware from the "echo test" firmware. >>> >>> >>> Looks like the corresponding meta-arago patch for adding >>> ti-edgeai-fw in filesystem >>> is missing from the meta-arago lists. >>> >>> We have added ti-rtos-echo-test-fw in following recipes, so similar >>> should be done >>> for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC >>> firmwares packaged. >>> >>> >>> ~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" >>> meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: >>> ti-rtos-echo-test-fw \ >>> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: >>> ti-rtos-echo-test-fw \ >>> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 >>> = " ti-rtos-echo-test-fw" >> >> Instead of doing it in images or packagegroups, a better alternative >> would >> be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or >> MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most of the >> FWs. >> >> That way it will work for any distro or image built for the same >> platform. >> > > I like this idea in general for most firmware, but our remoteproc firmware > is a little different in that is has multiple valid options and selection > depends on use-case. The echo test firmware is probably only useful for > test > images, and EdgeAI firmware might only be useful for EdgeAI images, etc.. > > So selection of remoteproc firmware should stay in distro layer IMHO Is it possible to specify that two packages cannot be built/installed at the same time? I think there is a way. For this specific case I think we should use that. > Andrew > >> >>> [0]: >>> https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx >>> >>> >>> >>> -- >>> Chirag >>> >>> >>> >>>> Give this a higher ALTERNATIVE_PRIORITY so that if both are installed >>>> the default will still be EdgeAI firmware for AM62A devices. >>>> >>>> Signed-off-by: Andrew Davis <afd@ti.com> >>>> --- >>>> .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 >>>> +++++++++++++++++++ >>>> .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- >>>> 2 files changed, 72 insertions(+), 15 deletions(-) >>>> create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>> >>>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>> b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>> new file mode 100644 >>>> index 00000000..67150968 >>>> --- /dev/null >>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>> @@ -0,0 +1,58 @@ >>>> +SUMMARY = "TI EdgeAI prebuilt binary firmware images" >>>> + >>>> +LICENSE = "TI-TFL" >>>> +LIC_FILES_CHKSUM = >>>> "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" >>>> + >>>> +COMPATIBLE_MACHINE = "am62axx" >>>> + >>>> +PACKAGE_ARCH = "${MACHINE_ARCH}" >>>> + >>>> +inherit update-alternatives >>>> + >>>> +PLAT_SFX = "" >>>> +PLAT_SFX:am62axx = "am62axx" >>>> + >>>> +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc >>>> + >>>> +PV = "${CORESDK_RTOS_VERSION}" >>>> +PR = "${INC_PR}.1" >>>> + >>>> +# Secure Build >>>> +inherit ti-secdev >>>> + >>>> +IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>>> + >>>> +INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>>> + >>>> +C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" >>>> + >>>> +IPC_FW_LIST = "" >>>> +IPC_FW_LIST:am62axx = "${C7X_1_FW}" >>>> + >>>> +do_install() { >>>> + # Sign Firmware >>>> + for FW_NAME in ${IPC_FW_LIST} >>>> + do >>>> + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh >>>> ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed >>>> + done >>>> + >>>> + # Install Firmware >>>> + install -d ${D}${INSTALL_IPC_FW_DIR} >>>> + for FW_NAME in ${IPC_FW_LIST} >>>> + do >>>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} >>>> ${D}${INSTALL_IPC_FW_DIR} >>>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed >>>> ${D}${INSTALL_IPC_FW_DIR} >>>> + done >>>> +} >>>> + >>>> +ALTERNATIVE:${PN}:am62axx = "\ >>>> + am62a-c71_0-fw am62a-c71_0-fw-sec \ >>>> + " >>>> + >>>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = >>>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" >>>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = >>>> "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" >>>> + >>>> +ALTERNATIVE_TARGET[am62a-c71_0-fw] = >>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" >>>> +ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = >>>> "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" >>>> + >>>> +ALTERNATIVE_PRIORITY = "20" >>>> diff --git >>>> a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>> b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>> index 7fffc9de..3e4db129 100644 >>>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>> @@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>>> INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>>> -MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>>> -MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>>> -MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>>> -MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>>> -MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>>> -MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>>> -MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>>> -MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>>> -C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>>> -C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>>> -C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>>> -C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" >>>> -C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>>> -C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>>> -C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>>> +MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>>> +MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>>> +MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>>> +MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>>> +MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>>> +MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>>> +MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>>> +MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>>> +C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>>> +C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>>> +C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>>> +C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>>> +C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>>> +C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>>> IPC_FW_LIST = "" >>>> IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" -- Ryan Eatmon reatmon@ti.com ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-07-01 15:39 ` Ryan Eatmon @ 2025-07-01 15:58 ` Andrew Davis 2025-07-01 16:22 ` Denys Dmytriyenko 2025-07-01 16:04 ` Denys Dmytriyenko 1 sibling, 1 reply; 10+ messages in thread From: Andrew Davis @ 2025-07-01 15:58 UTC (permalink / raw) To: Ryan Eatmon, Denys Dmytriyenko, c-shilwant; +Cc: meta-ti, Denys Dmytriyenko On 7/1/25 10:39 AM, Ryan Eatmon wrote: > > > On 7/1/2025 9:45 AM, Andrew Davis wrote: >> On 6/30/25 7:28 PM, Denys Dmytriyenko wrote: >>> On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote: >>>> Hi Andrew, >>>> >>>> On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: >>>>> TI EdgeAI firmware is distinct from the other "echo test" firmware >>>>> provided by ti-rtos-echo-test-fw. It belongs in its own package. >>>>> Split out the EdgeAI firmware from the "echo test" firmware. >>>> >>>> >>>> Looks like the corresponding meta-arago patch for adding >>>> ti-edgeai-fw in filesystem >>>> is missing from the meta-arago lists. >>>> >>>> We have added ti-rtos-echo-test-fw in following recipes, so similar >>>> should be done >>>> for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC >>>> firmwares packaged. >>>> >>>> >>>> ~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" >>>> meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: >>>> ti-rtos-echo-test-fw \ >>>> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: >>>> ti-rtos-echo-test-fw \ >>>> meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 >>>> = " ti-rtos-echo-test-fw" >>> >>> Instead of doing it in images or packagegroups, a better alternative would >>> be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or >>> MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most of the FWs. >>> >>> That way it will work for any distro or image built for the same platform. >>> >> >> I like this idea in general for most firmware, but our remoteproc firmware >> is a little different in that is has multiple valid options and selection >> depends on use-case. The echo test firmware is probably only useful for test >> images, and EdgeAI firmware might only be useful for EdgeAI images, etc.. >> >> So selection of remoteproc firmware should stay in distro layer IMHO > > Is it possible to specify that two packages cannot be built/installed at the same time? I think there is a way. For this specific case I think we should use that. > In this case, we can build and install both at the same time, they both use update alternatives and should live happily together. EdgeAI firmware, if installed, will be higher priority so will be the default loaded by kernel, this matches existing behavior (once we add ti-edgeai-fw to the images). Andrew > >> Andrew >> >>> >>>> [0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx >>>> >>>> >>>> >>>> -- >>>> Chirag >>>> >>>> >>>> >>>>> Give this a higher ALTERNATIVE_PRIORITY so that if both are installed >>>>> the default will still be EdgeAI firmware for AM62A devices. >>>>> >>>>> Signed-off-by: Andrew Davis <afd@ti.com> >>>>> --- >>>>> .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++ >>>>> .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- >>>>> 2 files changed, 72 insertions(+), 15 deletions(-) >>>>> create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>>> >>>>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>>> new file mode 100644 >>>>> index 00000000..67150968 >>>>> --- /dev/null >>>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb >>>>> @@ -0,0 +1,58 @@ >>>>> +SUMMARY = "TI EdgeAI prebuilt binary firmware images" >>>>> + >>>>> +LICENSE = "TI-TFL" >>>>> +LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" >>>>> + >>>>> +COMPATIBLE_MACHINE = "am62axx" >>>>> + >>>>> +PACKAGE_ARCH = "${MACHINE_ARCH}" >>>>> + >>>>> +inherit update-alternatives >>>>> + >>>>> +PLAT_SFX = "" >>>>> +PLAT_SFX:am62axx = "am62axx" >>>>> + >>>>> +require recipes-bsp/ti-linux-fw/ti-linux-fw.inc >>>>> + >>>>> +PV = "${CORESDK_RTOS_VERSION}" >>>>> +PR = "${INC_PR}.1" >>>>> + >>>>> +# Secure Build >>>>> +inherit ti-secdev >>>>> + >>>>> +IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>>>> + >>>>> +INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>>>> + >>>>> +C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" >>>>> + >>>>> +IPC_FW_LIST = "" >>>>> +IPC_FW_LIST:am62axx = "${C7X_1_FW}" >>>>> + >>>>> +do_install() { >>>>> + # Sign Firmware >>>>> + for FW_NAME in ${IPC_FW_LIST} >>>>> + do >>>>> + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed >>>>> + done >>>>> + >>>>> + # Install Firmware >>>>> + install -d ${D}${INSTALL_IPC_FW_DIR} >>>>> + for FW_NAME in ${IPC_FW_LIST} >>>>> + do >>>>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} >>>>> + install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} >>>>> + done >>>>> +} >>>>> + >>>>> +ALTERNATIVE:${PN}:am62axx = "\ >>>>> + am62a-c71_0-fw am62a-c71_0-fw-sec \ >>>>> + " >>>>> + >>>>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" >>>>> +ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" >>>>> + >>>>> +ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" >>>>> +ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" >>>>> + >>>>> +ALTERNATIVE_PRIORITY = "20" >>>>> diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>>> index 7fffc9de..3e4db129 100644 >>>>> --- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>>> +++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb >>>>> @@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" >>>>> INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" >>>>> -MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>>>> -MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>>>> -MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>>>> -MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>>>> -MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>>>> -MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>>>> -MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>>>> -MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>>>> -C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>>>> -C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>>>> -C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>>>> -C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" >>>>> -C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>>>> -C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>>>> -C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>>>> +MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" >>>>> +MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" >>>>> +MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" >>>>> +MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" >>>>> +MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" >>>>> +MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" >>>>> +MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" >>>>> +MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" >>>>> +C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" >>>>> +C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" >>>>> +C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" >>>>> +C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" >>>>> +C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" >>>>> +C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" >>>>> IPC_FW_LIST = "" >>>>> IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-07-01 15:58 ` Andrew Davis @ 2025-07-01 16:22 ` Denys Dmytriyenko 0 siblings, 0 replies; 10+ messages in thread From: Denys Dmytriyenko @ 2025-07-01 16:22 UTC (permalink / raw) To: afd; +Cc: Ryan Eatmon, c-shilwant, meta-ti, Denys Dmytriyenko On Tue, Jul 01, 2025 at 10:58:22AM -0500, Andrew Davis via lists.yoctoproject.org wrote: > On 7/1/25 10:39 AM, Ryan Eatmon wrote: > > > > > >On 7/1/2025 9:45 AM, Andrew Davis wrote: > >>On 6/30/25 7:28 PM, Denys Dmytriyenko wrote: > >>>On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote: > >>>>Hi Andrew, > >>>> > >>>>On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: > >>>>>TI EdgeAI firmware is distinct from the other "echo test" firmware > >>>>>provided by ti-rtos-echo-test-fw. It belongs in its own package. > >>>>>Split out the EdgeAI firmware from the "echo test" firmware. > >>>> > >>>> > >>>>Looks like the corresponding meta-arago patch for adding > >>>>ti-edgeai-fw in filesystem > >>>>is missing from the meta-arago lists. > >>>> > >>>>We have added ti-rtos-echo-test-fw in following recipes, so similar > >>>>should be done > >>>>for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC > >>>>firmwares packaged. > >>>> > >>>> > >>>>~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" > >>>>meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: > >>>>ti-rtos-echo-test-fw \ > >>>>meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: > >>>>ti-rtos-echo-test-fw \ > >>>>meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 > >>>>= " ti-rtos-echo-test-fw" > >>> > >>>Instead of doing it in images or packagegroups, a better alternative would > >>>be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or > >>>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most of the FWs. > >>> > >>>That way it will work for any distro or image built for the same platform. > >>> > >> > >>I like this idea in general for most firmware, but our remoteproc firmware > >>is a little different in that is has multiple valid options and selection > >>depends on use-case. The echo test firmware is probably only useful for test > >>images, and EdgeAI firmware might only be useful for EdgeAI images, etc.. > >> > >>So selection of remoteproc firmware should stay in distro layer IMHO > > > >Is it possible to specify that two packages cannot be built/installed at the same time? I think there is a way. For this specific case I think we should use that. > > > > In this case, we can build and install both at the same time, they both use update > alternatives and should live happily together. EdgeAI firmware, if installed, will > be higher priority so will be the default loaded by kernel, this matches existing > behavior (once we add ti-edgeai-fw to the images). Heh, we just cross-posted with the same comment. But my point is - why not list all alternatives in *_RRECOMMENDS and let distros adjust priorities accordingly? E.g. EdgeAI SDK can raise edgeai FW priority, otherwise echo FW will be used by default. > Andrew > > > > >>Andrew > >> > >>> > >>>>[0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx > >>>> > >>>> > >>>> > >>>>-- > >>>>Chirag > >>>> > >>>> > >>>> > >>>>>Give this a higher ALTERNATIVE_PRIORITY so that if both are installed > >>>>>the default will still be EdgeAI firmware for AM62A devices. > >>>>> > >>>>>Signed-off-by: Andrew Davis <afd@ti.com> > >>>>>--- > >>>>> .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 +++++++++++++++++++ > >>>>> .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- > >>>>> 2 files changed, 72 insertions(+), 15 deletions(-) > >>>>> create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>> > >>>>>diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>>new file mode 100644 > >>>>>index 00000000..67150968 > >>>>>--- /dev/null > >>>>>+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>>@@ -0,0 +1,58 @@ > >>>>>+SUMMARY = "TI EdgeAI prebuilt binary firmware images" > >>>>>+ > >>>>>+LICENSE = "TI-TFL" > >>>>>+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" > >>>>>+ > >>>>>+COMPATIBLE_MACHINE = "am62axx" > >>>>>+ > >>>>>+PACKAGE_ARCH = "${MACHINE_ARCH}" > >>>>>+ > >>>>>+inherit update-alternatives > >>>>>+ > >>>>>+PLAT_SFX = "" > >>>>>+PLAT_SFX:am62axx = "am62axx" > >>>>>+ > >>>>>+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc > >>>>>+ > >>>>>+PV = "${CORESDK_RTOS_VERSION}" > >>>>>+PR = "${INC_PR}.1" > >>>>>+ > >>>>>+# Secure Build > >>>>>+inherit ti-secdev > >>>>>+ > >>>>>+IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > >>>>>+ > >>>>>+INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >>>>>+ > >>>>>+C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" > >>>>>+ > >>>>>+IPC_FW_LIST = "" > >>>>>+IPC_FW_LIST:am62axx = "${C7X_1_FW}" > >>>>>+ > >>>>>+do_install() { > >>>>>+ # Sign Firmware > >>>>>+ for FW_NAME in ${IPC_FW_LIST} > >>>>>+ do > >>>>>+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${S}/${IPC_FW_DIR}/${FW_NAME} ${S}/${IPC_FW_DIR}/${FW_NAME}.signed > >>>>>+ done > >>>>>+ > >>>>>+ # Install Firmware > >>>>>+ install -d ${D}${INSTALL_IPC_FW_DIR} > >>>>>+ for FW_NAME in ${IPC_FW_LIST} > >>>>>+ do > >>>>>+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} ${D}${INSTALL_IPC_FW_DIR} > >>>>>+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME}.signed ${D}${INSTALL_IPC_FW_DIR} > >>>>>+ done > >>>>>+} > >>>>>+ > >>>>>+ALTERNATIVE:${PN}:am62axx = "\ > >>>>>+ am62a-c71_0-fw am62a-c71_0-fw-sec \ > >>>>>+ " > >>>>>+ > >>>>>+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw" > >>>>>+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = "${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" > >>>>>+ > >>>>>+ALTERNATIVE_TARGET[am62a-c71_0-fw] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" > >>>>>+ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = "${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" > >>>>>+ > >>>>>+ALTERNATIVE_PRIORITY = "20" > >>>>>diff --git a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>>index 7fffc9de..3e4db129 100644 > >>>>>--- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>>+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>>@@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > >>>>> INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >>>>>-MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >>>>>-MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >>>>>-MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >>>>>-MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >>>>>-MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >>>>>-MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >>>>>-MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >>>>>-MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >>>>>-C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >>>>>-C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >>>>>-C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >>>>>-C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" > >>>>>-C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >>>>>-C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >>>>>-C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > >>>>>+MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >>>>>+MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >>>>>+MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >>>>>+MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >>>>>+MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >>>>>+MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >>>>>+MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >>>>>+MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >>>>>+C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >>>>>+C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >>>>>+C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >>>>>+C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >>>>>+C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >>>>>+C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > >>>>> IPC_FW_LIST = "" > >>>>> IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw 2025-07-01 15:39 ` Ryan Eatmon 2025-07-01 15:58 ` Andrew Davis @ 2025-07-01 16:04 ` Denys Dmytriyenko 1 sibling, 0 replies; 10+ messages in thread From: Denys Dmytriyenko @ 2025-07-01 16:04 UTC (permalink / raw) To: Ryan Eatmon; +Cc: Andrew Davis, c-shilwant, meta-ti, Denys Dmytriyenko On Tue, Jul 01, 2025 at 10:39:12AM -0500, Ryan Eatmon wrote: > > > On 7/1/2025 9:45 AM, Andrew Davis wrote: > >On 6/30/25 7:28 PM, Denys Dmytriyenko wrote: > >>On Mon, Jun 30, 2025 at 03:46:14PM +0530, Chirag Shilwant via > >>lists.yoctoproject.org wrote: > >>>Hi Andrew, > >>> > >>>On 28/06/25 01:54, Andrew Davis via lists.yoctoproject.org wrote: > >>>>TI EdgeAI firmware is distinct from the other "echo test" firmware > >>>>provided by ti-rtos-echo-test-fw. It belongs in its own package. > >>>>Split out the EdgeAI firmware from the "echo test" firmware. > >>> > >>> > >>>Looks like the corresponding meta-arago patch for adding > >>>ti-edgeai-fw in filesystem > >>>is missing from the meta-arago lists. > >>> > >>>We have added ti-rtos-echo-test-fw in following recipes, so similar > >>>should be done > >>>for ti-edgeai-fw to ensure that CICD builds [0] have EdgeAI C7x IPC > >>>firmwares packaged. > >>> > >>> > >>>~/source/meta-arago$ find . | grep -rn "ti-rtos-echo-test-fw" > >>>meta-arago-test/recipes-core/packagegroups/ti-test.bb:117: > >>>ti-rtos-echo-test-fw \ > >>>meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-console.bb:70: > >>>ti-rtos-echo-test-fw \ > >>>meta-arago-distro/recipes-core/packagegroups/packagegroup-arago-tisdk-addons.bb:61:UTILS:append:k3 > >>>= " ti-rtos-echo-test-fw" > >> > >>Instead of doing it in images or packagegroups, a better > >>alternative would > >>be to list FW images in either MACHINE_ESSENTIAL_EXTRA_RDEPENDS or > >>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS, as we already do for most > >>of the FWs. > >> > >>That way it will work for any distro or image built for the same > >>platform. > >> > > > >I like this idea in general for most firmware, but our remoteproc firmware > >is a little different in that is has multiple valid options and selection > >depends on use-case. The echo test firmware is probably only > >useful for test > >images, and EdgeAI firmware might only be useful for EdgeAI images, etc.. > > > >So selection of remoteproc firmware should stay in distro layer IMHO > > Is it possible to specify that two packages cannot be > built/installed at the same time? I think there is a way. For this > specific case I think we should use that. Yeah, FW packages already use "alternatives" from update-alternatives, where you can adjust priorities to select one FW over another, when they conflict each other. Specifically, you can install both, but then a symlink gets created to point to one or another based on priorities, plus you can change that at runtime as well. The default priority adjustment should be done by a distro and we've had some instances of that in the past, where a generic FW gets selected by default, but then a more specific FW gets selected when a specific branded distro gets built. Here's a remnant from it, showing how this can be done: https://git.yoctoproject.org/meta-arago/tree/meta-arago-distro/conf/distro/include/branding-core.inc#n8 > >Andrew > > > >> > >>>[0]: https://software-dl.ti.com/cicd-report/linux/index.html?section=platform&platform=am62axx > >>> > >>> > >>> > >>>-- > >>>Chirag > >>> > >>> > >>> > >>>>Give this a higher ALTERNATIVE_PRIORITY so that if both are installed > >>>>the default will still be EdgeAI firmware for AM62A devices. > >>>> > >>>>Signed-off-by: Andrew Davis <afd@ti.com> > >>>>--- > >>>> .../recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb | 58 > >>>>+++++++++++++++++++ > >>>> .../ti-rtos-fw/ti-rtos-echo-test-fw.bb | 29 +++++----- > >>>> 2 files changed, 72 insertions(+), 15 deletions(-) > >>>> create mode 100644 meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>> > >>>>diff --git > >>>>a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>new file mode 100644 > >>>>index 00000000..67150968 > >>>>--- /dev/null > >>>>+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-edgeai-fw.bb > >>>>@@ -0,0 +1,58 @@ > >>>>+SUMMARY = "TI EdgeAI prebuilt binary firmware images" > >>>>+ > >>>>+LICENSE = "TI-TFL" > >>>>+LIC_FILES_CHKSUM = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a" > >>>>+ > >>>>+COMPATIBLE_MACHINE = "am62axx" > >>>>+ > >>>>+PACKAGE_ARCH = "${MACHINE_ARCH}" > >>>>+ > >>>>+inherit update-alternatives > >>>>+ > >>>>+PLAT_SFX = "" > >>>>+PLAT_SFX:am62axx = "am62axx" > >>>>+ > >>>>+require recipes-bsp/ti-linux-fw/ti-linux-fw.inc > >>>>+ > >>>>+PV = "${CORESDK_RTOS_VERSION}" > >>>>+PR = "${INC_PR}.1" > >>>>+ > >>>>+# Secure Build > >>>>+inherit ti-secdev > >>>>+ > >>>>+IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > >>>>+ > >>>>+INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >>>>+ > >>>>+C7X_1_FW = "dsp_edgeai_c7x_1_release_strip.out" > >>>>+ > >>>>+IPC_FW_LIST = "" > >>>>+IPC_FW_LIST:am62axx = "${C7X_1_FW}" > >>>>+ > >>>>+do_install() { > >>>>+ # Sign Firmware > >>>>+ for FW_NAME in ${IPC_FW_LIST} > >>>>+ do > >>>>+ ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh > >>>>${S}/${IPC_FW_DIR}/${FW_NAME} > >>>>${S}/${IPC_FW_DIR}/${FW_NAME}.signed > >>>>+ done > >>>>+ > >>>>+ # Install Firmware > >>>>+ install -d ${D}${INSTALL_IPC_FW_DIR} > >>>>+ for FW_NAME in ${IPC_FW_LIST} > >>>>+ do > >>>>+ install -m 0644 ${S}/${IPC_FW_DIR}/${FW_NAME} > >>>>${D}${INSTALL_IPC_FW_DIR} > >>>>+ install -m 0644 > >>>>${S}/${IPC_FW_DIR}/${FW_NAME}.signed > >>>>${D}${INSTALL_IPC_FW_DIR} > >>>>+ done > >>>>+} > >>>>+ > >>>>+ALTERNATIVE:${PN}:am62axx = "\ > >>>>+ am62a-c71_0-fw am62a-c71_0-fw-sec \ > >>>>+ " > >>>>+ > >>>>+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw] = > >>>>"${nonarch_base_libdir}/firmware/am62a-c71_0-fw" > >>>>+ALTERNATIVE_LINK_NAME[am62a-c71_0-fw-sec] = > >>>>"${nonarch_base_libdir}/firmware/am62a-c71_0-fw-sec" > >>>>+ > >>>>+ALTERNATIVE_TARGET[am62a-c71_0-fw] = > >>>>"${INSTALL_IPC_FW_DIR}/${C7X_1_FW}" > >>>>+ALTERNATIVE_TARGET[am62a-c71_0-fw-sec] = > >>>>"${INSTALL_IPC_FW_DIR}/${C7X_1_FW}.signed" > >>>>+ > >>>>+ALTERNATIVE_PRIORITY = "20" > >>>>diff --git > >>>>a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>index 7fffc9de..3e4db129 100644 > >>>>--- a/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>+++ b/meta-ti-bsp/recipes-bsp/ti-rtos-fw/ti-rtos-echo-test-fw.bb > >>>>@@ -36,21 +36,20 @@ IPC_FW_DIR = "ti-ipc/${PLAT_SFX}" > >>>> INSTALL_IPC_FW_DIR = "${nonarch_base_libdir}/firmware/${IPC_FW_DIR}" > >>>>-MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >>>>-MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >>>>-MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >>>>-MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >>>>-MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >>>>-MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >>>>-MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >>>>-MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >>>>-C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >>>>-C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >>>>-C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >>>>-C7X_1_FW:am62axx = "dsp_edgeai_c7x_1_release_strip.out" > >>>>-C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >>>>-C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >>>>-C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > >>>>+MCU_1_0_FW = "ipc_echo_test_mcu1_0_release_strip.xer5f" > >>>>+MCU_1_1_FW = "ipc_echo_test_mcu1_1_release_strip.xer5f" > >>>>+MCU_2_0_FW = "ipc_echo_test_mcu2_0_release_strip.xer5f" > >>>>+MCU_2_1_FW = "ipc_echo_test_mcu2_1_release_strip.xer5f" > >>>>+MCU_3_0_FW = "ipc_echo_test_mcu3_0_release_strip.xer5f" > >>>>+MCU_3_1_FW = "ipc_echo_test_mcu3_1_release_strip.xer5f" > >>>>+MCU_4_0_FW = "ipc_echo_test_mcu4_0_release_strip.xer5f" > >>>>+MCU_4_1_FW = "ipc_echo_test_mcu4_1_release_strip.xer5f" > >>>>+C66_1_FW = "ipc_echo_test_c66xdsp_1_release_strip.xe66" > >>>>+C66_2_FW = "ipc_echo_test_c66xdsp_2_release_strip.xe66" > >>>>+C7X_1_FW = "ipc_echo_test_c7x_1_release_strip.xe71" > >>>>+C7X_2_FW = "ipc_echo_test_c7x_2_release_strip.xe71" > >>>>+C7X_3_FW = "ipc_echo_test_c7x_3_release_strip.xe71" > >>>>+C7X_4_FW = "ipc_echo_test_c7x_4_release_strip.xe71" > >>>> IPC_FW_LIST = "" > >>>> IPC_FW_LIST:am65xx = "${MCU_1_0_FW} ${MCU_1_1_FW}" ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-07-01 16:22 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-06-27 20:24 [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 2/3] ti-linux-fw: Remove default SUMMARY line Andrew Davis 2025-06-27 20:24 ` [meta-ti][scarthgap/master][PATCH 3/3] meta-ti-bsp: Factor out a firmware common options helper Andrew Davis 2025-06-30 10:16 ` [meta-ti][scarthgap/master][PATCH 1/3] meta-ti-bsp: Split out ti-edgeai-fw from ti-rtos-echo-test-fw Chirag Shilwant 2025-07-01 0:28 ` Denys Dmytriyenko 2025-07-01 14:45 ` Andrew Davis 2025-07-01 15:39 ` Ryan Eatmon 2025-07-01 15:58 ` Andrew Davis 2025-07-01 16:22 ` Denys Dmytriyenko 2025-07-01 16:04 ` Denys Dmytriyenko
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.