<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Unable to update APP container software version for i.MX95 FlexSPI boot image in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Unable-to-update-APP-container-software-version-for-i-MX95/m-p/2396941#M246058</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/264405"&gt;@arun16598&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;The FlexSPI image is not another variant of the AHAB format, but it employs a combined process of first generating the boot container, then appending the U-Boot/ATF container. Your &lt;STRONG&gt;-sw_version 1&lt;/STRONG&gt; is set on &lt;STRONG&gt;u-boot-atf-container.img&lt;/STRONG&gt;; however, the APP container containing SM/M33, OEI, SPL, and FCB—which &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;&amp;nbsp;creates first—does not pass the &lt;STRONG&gt;-sw_version&lt;/STRONG&gt;&amp;nbsp;option, so that container still displays &lt;STRONG&gt;SW version: 0&lt;/STRONG&gt;.&amp;nbsp;ROLLBACK_INDEX_IN_CONTAINER is used to generate the secondary U-Boot/ATF APP container, but it is not passed to the primary APP container created by &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;.&amp;nbsp;If the same software version is required for the first FlexSPI APP container, &lt;STRONG&gt;-sw_version&lt;/STRONG&gt; &lt;STRONG&gt;$(ROLLBACK_INDEX_IN_CONTAINER)&lt;/STRONG&gt; must also be added to the mkimage_imx8 invocation in &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;If the goal is true AHAB anti-rollback enforcement, the key settings to verify and configure are &lt;STRONG&gt;fuse_version&lt;/STRONG&gt; and &lt;STRONG&gt;-fuse_version&lt;/STRONG&gt;, not just &lt;STRONG&gt;sw_version&lt;/STRONG&gt;. The S&lt;A href="https://spsdk.readthedocs.io/en/v3.9.0/examples/ahab/imx95/imx95_anti_rollback_protection.html" target="_self"&gt;PSDK’s i.MX95 anti-rollback example&lt;/A&gt; clearly states that OEM anti-rollback uses the &lt;STRONG&gt;fuse_version&lt;/STRONG&gt; specified in the AHAB container YAML, and the version is subsequently submitted via the ELE’s &lt;STRONG&gt;OEM_FW_FUSE&lt;/STRONG&gt; commit process.&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Zhiming&lt;/P&gt;</description>
    <pubDate>Mon, 20 Jul 2026 23:42:04 GMT</pubDate>
    <dc:creator>Zhiming_Liu</dc:creator>
    <dc:date>2026-07-20T23:42:04Z</dc:date>
    <item>
      <title>Unable to update APP container software version for i.MX95 FlexSPI boot image</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unable-to-update-APP-container-software-version-for-i-MX95/m-p/2395039#M245985</link>
      <description>&lt;P&gt;Hello Experts,&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;I'm working on the i.MX95 platform and enabling rollback protection using &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;ROLLBACK_INDEX_IN_CONTAINER&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;I introduced the following variable in my &lt;/SPAN&gt;&lt;SPAN&gt;local.conf&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN&gt;export ROLLBACK_INDEX_IN_CONTAINER = "1"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P class=""&gt;&lt;SPAN&gt;This value is propagated through the build, and the build log confirms that &lt;/SPAN&gt;&lt;SPAN&gt;mkimage_imx8&lt;/SPAN&gt;&lt;SPAN&gt; is invoked with "1"&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;When building an &lt;STRONG&gt;eMMC boot image&lt;/STRONG&gt;, parsing the generated image shows the container software version updated correctly.&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE&gt;&amp;nbsp;if [ 1 ]; then \&lt;BR /&gt;./../mkimage_imx8 -soc IMX9 -cntr_version 2 &lt;STRONG&gt;-sw_version 1&lt;/STRONG&gt; -c \&lt;BR /&gt;-ap bl31.bin a55 0x8A200000 \&lt;BR /&gt;-ap u-boot-hash.bin a55 0x90200000 \&lt;BR /&gt;-ap tee.bin a55 0x8C000000 \&lt;BR /&gt;-out u-boot-atf-container.img; \&lt;/PRE&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;However, when building the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;FlexSPI boot image&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi&lt;/SPAN&gt;&lt;SPAN&gt;), parsing the image still reports the default SW version&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="css"&gt;./mkimage_imx8 -soc IMX9 -parse imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi
SOC: IMX9
Input container binary to be parsed: imx-boot-imx95-19x19-verdin-fspi.bin-flash_a55_flexspi

*********************************
*				*
*          APP CONTAINER 1          *
*				*
*********************************

        Length: 0X320 (800)
           Tag: 0X87
       Version: 0X2
         Flags: 0X10
    Num images: 6
  Fuse version: 0
    SW version: 0X0
Sig blk offset: 0X310&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I noticed an interesting thing in iMX95/soc.mak as there is no sw_version included during the build for flash_a55_flexspi&lt;/P&gt;&lt;LI-CODE lang="c"&gt;flash_a55_flexspi: $(MKIMG) $(AHAB_IMG) $(MCU_IMG) $(SPL_A55_IMG) $(OEI_IMG_M33) fcb.bin u-boot-atf-container.img
        ./$(MKIMG) -soc IMX9 -cntr_version $(CTNR_VERSION) $(XSPI_FAST_HASH) -dev flexspi -append $(AHAB_IMG) -c $(OEI_OPT_M33) -msel $(MSEL) \
                   -m33 $(MCU_IMG) 0 $(MCU_TCM_ADDR) \
                   -ap $(SPL_A55_IMG) a55 $(SPL_LOAD_ADDR_M33_VIEW) $(V2X_DUMMY) -fcb fcb.bin $(FCB_LOAD_ADDR) -out flash.bin
        $(call append_container,u-boot-atf-container.img,1)
        $(call append_fcb)&lt;/LI-CODE&gt;&lt;P class=""&gt;&lt;SPAN&gt;My questions are:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Is &lt;/SPAN&gt;&lt;SPAN&gt;ROLLBACK_INDEX_IN_CONTAINER&lt;/SPAN&gt;&lt;SPAN&gt; expected to update the software version for FlexSPI boot images?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Does the FlexSPI image follow a different container generation flow where the rollback index/software version must be configured separately?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Is this a known limitation or issue in the i.MX95 &lt;/SPAN&gt;&lt;SPAN&gt;imx-mkimage&lt;/SPAN&gt;&lt;SPAN&gt; build flow?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN&gt;If anyone has successfully enabled &lt;/SPAN&gt;&lt;SPAN&gt;ROLLBACK_INDEX_IN_CONTAINER&lt;/SPAN&gt;&lt;SPAN&gt; for FlexSPI boot images on i.MX95, could you please share the expected flow or any additional configuration required?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks in advance!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Arun Kumar&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 16:16:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unable-to-update-APP-container-software-version-for-i-MX95/m-p/2395039#M245985</guid>
      <dc:creator>arun16598</dc:creator>
      <dc:date>2026-07-14T16:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to update APP container software version for i.MX95 FlexSPI boot image</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Unable-to-update-APP-container-software-version-for-i-MX95/m-p/2396941#M246058</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/264405"&gt;@arun16598&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;The FlexSPI image is not another variant of the AHAB format, but it employs a combined process of first generating the boot container, then appending the U-Boot/ATF container. Your &lt;STRONG&gt;-sw_version 1&lt;/STRONG&gt; is set on &lt;STRONG&gt;u-boot-atf-container.img&lt;/STRONG&gt;; however, the APP container containing SM/M33, OEI, SPL, and FCB—which &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;&amp;nbsp;creates first—does not pass the &lt;STRONG&gt;-sw_version&lt;/STRONG&gt;&amp;nbsp;option, so that container still displays &lt;STRONG&gt;SW version: 0&lt;/STRONG&gt;.&amp;nbsp;ROLLBACK_INDEX_IN_CONTAINER is used to generate the secondary U-Boot/ATF APP container, but it is not passed to the primary APP container created by &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;.&amp;nbsp;If the same software version is required for the first FlexSPI APP container, &lt;STRONG&gt;-sw_version&lt;/STRONG&gt; &lt;STRONG&gt;$(ROLLBACK_INDEX_IN_CONTAINER)&lt;/STRONG&gt; must also be added to the mkimage_imx8 invocation in &lt;STRONG&gt;flash_a55_flexspi&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;If the goal is true AHAB anti-rollback enforcement, the key settings to verify and configure are &lt;STRONG&gt;fuse_version&lt;/STRONG&gt; and &lt;STRONG&gt;-fuse_version&lt;/STRONG&gt;, not just &lt;STRONG&gt;sw_version&lt;/STRONG&gt;. The S&lt;A href="https://spsdk.readthedocs.io/en/v3.9.0/examples/ahab/imx95/imx95_anti_rollback_protection.html" target="_self"&gt;PSDK’s i.MX95 anti-rollback example&lt;/A&gt; clearly states that OEM anti-rollback uses the &lt;STRONG&gt;fuse_version&lt;/STRONG&gt; specified in the AHAB container YAML, and the version is subsequently submitted via the ELE’s &lt;STRONG&gt;OEM_FW_FUSE&lt;/STRONG&gt; commit process.&lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Zhiming&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jul 2026 23:42:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Unable-to-update-APP-container-software-version-for-i-MX95/m-p/2396941#M246058</guid>
      <dc:creator>Zhiming_Liu</dc:creator>
      <dc:date>2026-07-20T23:42:04Z</dc:date>
    </item>
  </channel>
</rss>

