Message ID | 20250506091015.4049616-2-c-shilwant@ti.com |
---|---|
State | New |
Headers | show |
Series | Add DM_FIRMWARE override for AM62P display cluster | expand |
On Tue, May 06, 2025 at 02:40:15PM +0530, Chirag Shilwant wrote: > * For AM62P display cluster usecase, we need to pick > "dss_display_share.wkup-r5f0_0.release.strip.out" from ti-linux-firmware [0] > Hence, pick the display cluster firmware only when DISPLAY_CLUSTER_ENABLE is set to 1. > > * When DISPLAY_CLUSTER_ENABLE is not set to 1, fallback to pick the "ipc_echo_testb_mcu1_0_release_strip.xer5f" > DM firmware. Should a similar condition be added for am62axx to select between dm_edgeai_mcu1_0_release_strip.out and ipc_echo_testb_mcu1_0_release_strip.xer5f ? > [0]: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm/am62pxx?h=11.00.12 > > Signed-off-by: Chirag Shilwant <c-shilwant@ti.com> > --- > meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | 1 + > meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb > index a7d15e30..eaa82a62 100644 > --- a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb > +++ b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb > @@ -40,6 +40,7 @@ INSTALL_DM_FW_DIR = "${nonarch_base_libdir}/firmware/${DM_FW_DIR}" > > DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" > DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" > +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" > > DM_FW_LIST = "" > DM_FW_LIST:j721e = "${DM_FIRMWARE}" > diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc > index 57bf7a4e..6b7e2bea 100644 > --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc > +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc > @@ -46,6 +46,7 @@ DEPENDS:append:j784s4 = " ti-hsm-demo-fw" > > DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" > DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" > +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" > > PLAT_SFX = "" > PLAT_SFX:j721e = "j721e" > -- > 2.34.1 >
+ Andrew On 07/05/25 02:45, Denys Dmytriyenko wrote: > On Tue, May 06, 2025 at 02:40:15PM +0530, Chirag Shilwant wrote: >> * For AM62P display cluster usecase, we need to pick >> "dss_display_share.wkup-r5f0_0.release.strip.out" from ti-linux-firmware [0] >> Hence, pick the display cluster firmware only when DISPLAY_CLUSTER_ENABLE is set to 1. >> >> * When DISPLAY_CLUSTER_ENABLE is not set to 1, fallback to pick the "ipc_echo_testb_mcu1_0_release_strip.xer5f" >> DM firmware. > Should a similar condition be added for am62axx to select between dm_edgeai_mcu1_0_release_strip.out > and ipc_echo_testb_mcu1_0_release_strip.xer5f ? Hmm, that's a good point. Apparently for AM62A, the TI SDK story is a bit different. The major delta between the two DM firmwares is the inclusion of TIOVX, VPAC & Vision Apps stack in dm_edgeai_mcu1_0_release_strip.out As all spins of AM62A (i.e. AM62A3, AM62A7, AM62A7-Q1, etc) are sold as a Analytics processor [0], we want customers to always use dm_edgeai_mcu1_0_release_strip.out by default & hence the SDKs (& eventually meta-ti-bsp) to always pick the EdgeAI DM firmware. Now, the answer to why upstream u-boot binman still uses ipc_echo_testb_mcu1_0_release_strip.xer5f as default (OR why does ipc_echo_testb* exist) is nicely explained by Andrew at [1] As highlighted in [1], we eventually want dm_edgeai_mcu1_0_release_strip.out to be our default in future even in upstream as well but until then if we want meta-ti-bsp to support the ipc_echo_testb_mcu1_0_release_strip.xer5f as well then my suggestion would be to have it other way around...something like below, DM_FIRMWARE:am62axx = "${@oe.utils.conditional('USE_IPC_ECHO_TEST_DM', '1', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', 'dm_edgeai_mcu1_0_release_strip.out', d)}" This ensures that the additional local.conf step for setting "USE_IPC_ECHO_TEST_DM" is not needed for default offering but only for users who intend to use the ipc_echo_testb_mcu1_0_release_strip.xer5fDM firmware. For AM62P, both dss_display_share.wkup-r5f0_0.release.strip.out & ipc_echo_testb_mcu1_0_release_strip.xer5f are delivered as a part of standard offering to customers [2] & hence we added the DISPLAY_CLUSTER_ENABLE logic in meta-ti-bsp which helps in supporting both. [0]: https://www.ti.com/microcontrollers-mcus-processors/arm-based-processors/overview.html [1]: https://lore.kernel.org/all/534da8dc-f7bf-4ef3-b94d-3254a38b26a4@ti.com/ [2]: https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM62P/11.00.09.04 Chirag > > >> [0]: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm/am62pxx?h=11.00.12 >> >> Signed-off-by: Chirag Shilwant <c-shilwant@ti.com> >> --- >> meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | 1 + >> meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb >> index a7d15e30..eaa82a62 100644 >> --- a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb >> +++ b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb >> @@ -40,6 +40,7 @@ INSTALL_DM_FW_DIR = "${nonarch_base_libdir}/firmware/${DM_FW_DIR}" >> >> DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" >> DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" >> +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" >> >> DM_FW_LIST = "" >> DM_FW_LIST:j721e = "${DM_FIRMWARE}" >> diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc >> index 57bf7a4e..6b7e2bea 100644 >> --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc >> +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc >> @@ -46,6 +46,7 @@ DEPENDS:append:j784s4 = " ti-hsm-demo-fw" >> >> DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" >> DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" >> +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" >> >> PLAT_SFX = "" >> PLAT_SFX:j721e = "j721e" >> -- >> 2.34.1 >>
diff --git a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb index a7d15e30..eaa82a62 100644 --- a/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb +++ b/meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb @@ -40,6 +40,7 @@ INSTALL_DM_FW_DIR = "${nonarch_base_libdir}/firmware/${DM_FW_DIR}" DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" DM_FW_LIST = "" DM_FW_LIST:j721e = "${DM_FIRMWARE}" diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc index 57bf7a4e..6b7e2bea 100644 --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc @@ -46,6 +46,7 @@ DEPENDS:append:j784s4 = " ti-hsm-demo-fw" DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" DM_FIRMWARE:am62axx = "dm_edgeai_mcu1_0_release_strip.out" +DM_FIRMWARE:am62pxx = "${@oe.utils.conditional('DISPLAY_CLUSTER_ENABLE', '1', 'dss_display_share.wkup-r5f0_0.release.strip.out', 'ipc_echo_testb_mcu1_0_release_strip.xer5f', d)}" PLAT_SFX = "" PLAT_SFX:j721e = "j721e"
* For AM62P display cluster usecase, we need to pick "dss_display_share.wkup-r5f0_0.release.strip.out" from ti-linux-firmware [0] Hence, pick the display cluster firmware only when DISPLAY_CLUSTER_ENABLE is set to 1. * When DISPLAY_CLUSTER_ENABLE is not set to 1, fallback to pick the "ipc_echo_testb_mcu1_0_release_strip.xer5f" DM firmware. [0]: https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm/am62pxx?h=11.00.12 Signed-off-by: Chirag Shilwant <c-shilwant@ti.com> --- meta-ti-bsp/recipes-bsp/ti-dm-fw/ti-dm-fw.bb | 1 + meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 1 + 2 files changed, 2 insertions(+)