* [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: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
* 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
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.