<?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: imx93 eMMC boot container set selection in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2036355#M233513</link>
    <description>&lt;P&gt;Hello,.&lt;BR /&gt;&lt;BR /&gt;Note that the offset of the 1st boot image container set is fixed on the primary boot device and hard code in ROM code. The offset of the 2nd boot image container set on the primary boot device is specified by the fuses “Secondary_boot_offset”:&lt;BR /&gt;&lt;BR /&gt;As stated in Reference Manual table 24:&lt;BR /&gt;Secondary_boot_offset Offset = 1 MB*(2^n). n = 2 if fuse is 0. n = 0 if fuse is 2. Secondary boot flow is disabled if fuse value is bigger than 10&lt;BR /&gt;&lt;BR /&gt;If Secondary_boot_offset = 0 → n = 2;&lt;BR /&gt;If Secondary_boot_offset = 2 → n = 0;&lt;BR /&gt;&lt;BR /&gt;Best regards/Saludos,&lt;BR /&gt;Aldo.&lt;/P&gt;</description>
    <pubDate>Thu, 30 Jan 2025 22:54:03 GMT</pubDate>
    <dc:creator>AldoG</dc:creator>
    <dc:date>2025-01-30T22:54:03Z</dc:date>
    <item>
      <title>imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2030579#M233124</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I'm trying to get redundant bootloader in eMMC working, were I want to have a version of the bootloader in both eMMC bootarea 1 and 2. As I understand it, the iMX93 ROM should select the container set with the highest SWVersion as primary image set.&lt;/P&gt;&lt;P&gt;I created two versions of the bootloader by doing a dummy change in u-boot to get different git hashes and version strings so I can differentiate between them. Then I built imx-boot boot containers and manually modified the SWVersion field for the OEM container by changing the header at offset 1K. Lets call them V1 and V2 where V2 has higher SWVersion field.&lt;/P&gt;&lt;P&gt;I then flashed these versions to the eMMC bootareas.&lt;/P&gt;&lt;P&gt;This is the behavior I see for different scenarios:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Bootarea1: V1, Bootarea2: V2. &lt;FONT color="#FF0000"&gt;V1 boots, even though V2 has higher SWVersion&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;Bootarea1: V2, Bootarea2: V1. V2 boots as expected&lt;/LI&gt;&lt;LI&gt;Bootarea1: none, Bootarea2: V2. V2 boots as expected&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;It seems bootarea1 is always used as long as it is valid. I would expect V2 to boot in scenario 1 above.&amp;nbsp;&lt;/P&gt;&lt;P&gt;As far as I understand, eMMC fast boot is not enabled. All the boot fuses are 0 and unmodified. Secondary boot offset as well, I think it is not used when eMMC bootareas are used?&lt;/P&gt;&lt;P&gt;The eMMC is has the following boot configuration:&lt;/P&gt;&lt;P&gt;=&amp;gt; mmc partconf 0&lt;BR /&gt;EXT_CSD[179], PARTITION_CONFIG:&lt;BR /&gt;BOOT_ACK: 0x0&lt;BR /&gt;BOOT_PARTITION_ENABLE: 0x1&lt;BR /&gt;PARTITION_ACCESS: 0x0&lt;/P&gt;&lt;P&gt;I tried both with and without boot acknowledgment enabled, with no difference in behavior.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jan 2025 10:18:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2030579#M233124</guid>
      <dc:creator>electro1</dc:creator>
      <dc:date>2025-01-20T10:18:22Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2033424#M233317</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;It does behave as it is said even you may refer to the&amp;nbsp;Figure 18. Boot Image Container Sets Selection in reference manual.&lt;BR /&gt;&lt;BR /&gt;Could you help me sharing the boot logs when running your test?&lt;BR /&gt;&lt;BR /&gt;Best regards/Saludos,&lt;BR /&gt;Aldo.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jan 2025 19:53:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2033424#M233317</guid>
      <dc:creator>AldoG</dc:creator>
      <dc:date>2025-01-23T19:53:22Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2033785#M233337</link>
      <description>&lt;P&gt;Here is information and logs about the three cases.&lt;/P&gt;&lt;H3&gt;Headers from imx-boot containers&lt;/H3&gt;&lt;P&gt;output using od --width=4 -A x -t x1&lt;/P&gt;&lt;P&gt;NXP header is same for both containers.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;v1 header:&lt;/STRONG&gt;&lt;BR /&gt;...&lt;BR /&gt;000400 00 a0 00 87 OEM header&lt;BR /&gt;000404 10 00 00 00&lt;BR /&gt;000408 01 00 00 01 SW Version: 1, Fuse version 0&lt;BR /&gt;00040c 90 00 00 00&lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;v1 u-boot git hash:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;e65c48e&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;v2 header:&lt;/STRONG&gt;&lt;BR /&gt;...&lt;BR /&gt;000400 00 a0 00 87 OEM header&lt;BR /&gt;000404 10 00 00 00&lt;BR /&gt;000408 02 00 00 01 SW Version: 2, Fuse version: 0&lt;BR /&gt;00040c 90 00 00 00&lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;v2 u-boot git hash:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;669f2a5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H2&gt;Logs&lt;/H2&gt;&lt;P&gt;&lt;BR /&gt;flash_bootloader.sh below is a simple script which flashes a given boot area (0 or 1).&lt;/P&gt;&lt;H3&gt;Scenario 1: Bootarea1 v1, Bootarea 2 v2&lt;/H3&gt;&lt;P&gt;v1 boots, see git hash in version string. Expecting v2 to boot.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Setup:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;# ./flash_bootloader.sh 0 imx-boot-v1&lt;BR /&gt;3960+1 records in&lt;BR /&gt;3960+1 records out&lt;BR /&gt;# ./flash_bootloader.sh 1 imx-boot-v2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Boot log:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;U-Boot SPL 2024.04+g&lt;FONT color="#FF6600"&gt;e65c48e&lt;/FONT&gt;26ef+p0 (Jan 17 2025 - 08:03:10 +0000)&lt;BR /&gt;SOC: 0xa1009300&lt;BR /&gt;LC: 0x2040010&lt;BR /&gt;PMIC: Over Drive Voltage Mode&lt;BR /&gt;EA: Using gzipped ddr data from eeprom&lt;BR /&gt;M33 prepare ok&lt;BR /&gt;Normal Boot&lt;BR /&gt;Trying to boot from BOOTROM&lt;BR /&gt;Boot Stage: Primary boot&lt;BR /&gt;image offset 0x0, pagesize 0x200, ivt offset 0x0&lt;BR /&gt;Load image from 0x54800 by ROM_API&lt;BR /&gt;NOTICE: TRDC init done&lt;BR /&gt;NOTICE: BL31: v2.10.0 (release):android-14.0.0_2.2.0-rc2-0-g7c64d4e86&lt;BR /&gt;NOTICE: BL31: Built : 10:35:32, Aug 29 2024&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;U-Boot 2024.04+g&lt;FONT color="#FF6600"&gt;e65c48e&lt;/FONT&gt;26ef+p0 (Jan 17 2025 - 08:03:10 +0000)&lt;/P&gt;&lt;P&gt;Reset Status: POR&lt;/P&gt;&lt;P&gt;CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz&lt;BR /&gt;CPU: Extended Industrial temperature grade (-40C to 125C) at 51C&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3&gt;Scenario 2: Bootarea1 v2, Bootarea2 v1&lt;/H3&gt;&lt;P&gt;v2 boots, see git hash in version string&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Setup:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;# ./flash_bootloader.sh 0 imx-boot-v2&lt;BR /&gt;3960+1 records in&lt;BR /&gt;3960+1 records out&lt;BR /&gt;# ./flash_bootloader.sh 1 imx-boot-v1&lt;BR /&gt;3960+1 records in&lt;BR /&gt;3960+1 records out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Boot log:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;U-Boot SPL 2024.04+g&lt;FONT color="#FF6600"&gt;669f2a5&lt;/FONT&gt;bf5d+p0 (Jan 17 2025 - 14:34:22 +0000)&lt;BR /&gt;SOC: 0xa1009300&lt;BR /&gt;LC: 0x2040010&lt;BR /&gt;PMIC: Over Drive Voltage Mode&lt;BR /&gt;EA: Using gzipped ddr data from eeprom&lt;BR /&gt;M33 prepare ok&lt;BR /&gt;Normal Boot&lt;BR /&gt;Trying to boot from BOOTROM&lt;BR /&gt;Boot Stage: Primary boot&lt;BR /&gt;image offset 0x0, pagesize 0x200, ivt offset 0x0&lt;BR /&gt;Load image from 0x54800 by ROM_API&lt;BR /&gt;NOTICE: TRDC init done&lt;BR /&gt;NOTICE: BL31: v2.10.0 (release):android-14.0.0_2.2.0-rc2-0-g7c64d4e86&lt;BR /&gt;NOTICE: BL31: Built : 10:35:32, Aug 29 2024&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;U-Boot 2024.04+g&lt;FONT color="#FF6600"&gt;669f2a5&lt;/FONT&gt;bf5d+p0 (Jan 17 2025 - 14:34:22 +0000)&lt;/P&gt;&lt;P&gt;Reset Status: POR&lt;/P&gt;&lt;P&gt;CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz&lt;BR /&gt;CPU: Extended Industrial temperature grade (-40C to 125C) at 50C&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;H3&gt;Scenario 3: Bootarea1 empty, Bootarea2 v2&lt;/H3&gt;&lt;P&gt;v2 boots, see git hash in version string&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Setup:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;# ./flash_bootloader.sh 0 /dev/zero&lt;BR /&gt;dd: error writing '/dev/mmcblk0boot0': No space left on device&lt;BR /&gt;8193+0 records in&lt;BR /&gt;8192+0 records out&lt;BR /&gt;# ./flash_bootloader.sh 1 imx-boot-v2&lt;BR /&gt;3960+1 records in&lt;BR /&gt;3960+1 records out&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Boot log:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;U-Boot SPL 2024.04+g&lt;FONT color="#FF6600"&gt;669f2a5&lt;/FONT&gt;bf5d+p0 (Jan 17 2025 - 14:34:22 +0000)&lt;BR /&gt;SOC: 0xa1009300&lt;BR /&gt;LC: 0x2040010&lt;BR /&gt;PMIC: Over Drive Voltage Mode&lt;BR /&gt;EA: Using gzipped ddr data from eeprom&lt;BR /&gt;M33 prepare ok&lt;BR /&gt;Normal Boot&lt;BR /&gt;Trying to boot from BOOTROM&lt;BR /&gt;Boot Stage: Secondary boot&lt;BR /&gt;image offset 0x0, pagesize 0x200, ivt offset 0x0&lt;BR /&gt;Load image from 0x54800 by ROM_API&lt;BR /&gt;NOTICE: TRDC init done&lt;BR /&gt;NOTICE: BL31: v2.10.0 (release):android-14.0.0_2.2.0-rc2-0-g7c64d4e86&lt;BR /&gt;NOTICE: BL31: Built : 10:35:32, Aug 29 2024&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;U-Boot 2024.04+g&lt;FONT color="#FF6600"&gt;669f2a5&lt;/FONT&gt;bf5d+p0 (Jan 17 2025 - 14:34:22 +0000)&lt;/P&gt;&lt;P&gt;Reset Status: WDOG3&lt;/P&gt;&lt;P&gt;CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz&lt;BR /&gt;CPU: Extended Industrial temperature grade (-40C to 125C) at 51C&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jan 2025 10:18:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2033785#M233337</guid>
      <dc:creator>electro1</dc:creator>
      <dc:date>2025-01-24T10:18:16Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2034056#M233347</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;It seems that the&amp;nbsp;Secondary_boot_offset you have is not correct this is why is not taking into account the second container unless the first one is absent, please refer to the figure 18&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Scenario 1 &amp;amp; 2&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AldoG_1-1737751873079.png" style="width: 603px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/321305i64499D6D3EC10B4D/image-dimensions/603x312?v=v2" width="603" height="312" role="button" title="AldoG_1-1737751873079.png" alt="AldoG_1-1737751873079.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Scenario 3&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AldoG_2-1737752015686.png" style="width: 607px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/321306i8A5E9555BB84BB09/image-dimensions/607x314?v=v2" width="607" height="314" role="button" title="AldoG_2-1737752015686.png" alt="AldoG_2-1737752015686.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;Best regards/Saludos,&lt;BR /&gt;Aldo.&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jan 2025 20:54:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2034056#M233347</guid>
      <dc:creator>AldoG</dc:creator>
      <dc:date>2025-01-24T20:54:53Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2034401#M233375</link>
      <description>&lt;P&gt;I believe Scenario 3 should result in "No valid Image Set, no image set is picked up for boot" according to the diagram if the offset is invalid.&lt;/P&gt;&lt;P&gt;But I can try setting the secondary boot offset. What should it be set to when using eMMC boot areas? I think it should be zero, but that is not possible to set?&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jan 2025 07:58:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2034401#M233375</guid>
      <dc:creator>electro1</dc:creator>
      <dc:date>2025-01-27T07:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2036355#M233513</link>
      <description>&lt;P&gt;Hello,.&lt;BR /&gt;&lt;BR /&gt;Note that the offset of the 1st boot image container set is fixed on the primary boot device and hard code in ROM code. The offset of the 2nd boot image container set on the primary boot device is specified by the fuses “Secondary_boot_offset”:&lt;BR /&gt;&lt;BR /&gt;As stated in Reference Manual table 24:&lt;BR /&gt;Secondary_boot_offset Offset = 1 MB*(2^n). n = 2 if fuse is 0. n = 0 if fuse is 2. Secondary boot flow is disabled if fuse value is bigger than 10&lt;BR /&gt;&lt;BR /&gt;If Secondary_boot_offset = 0 → n = 2;&lt;BR /&gt;If Secondary_boot_offset = 2 → n = 0;&lt;BR /&gt;&lt;BR /&gt;Best regards/Saludos,&lt;BR /&gt;Aldo.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 22:54:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2036355#M233513</guid>
      <dc:creator>AldoG</dc:creator>
      <dc:date>2025-01-30T22:54:03Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2036566#M233525</link>
      <description>&lt;P&gt;Secondary_boot_offset will be 1 MB if fuse is 2. This is not what we want, it should be 0 MB since the bootloader is stored at the beginning of the boot areas. Is this possible to configure?&lt;/P&gt;&lt;P&gt;From table 24:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Secondary_boot_offset Offset = 1 MB*(2^n). n = 2 if fuse is 0. n = 0 if fuse is 2. Secondary boot flow is disabled if fuse value is bigger than 10.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;0000 - 4 MB&lt;BR /&gt;0001 - 2 MB&lt;BR /&gt;0010 - 1 MB&lt;BR /&gt;0011 - 8 MB&lt;BR /&gt;0100 - 8MB&lt;BR /&gt;0101 - 32MB&lt;BR /&gt;…&lt;BR /&gt;1001 - 512 MB&lt;BR /&gt;EMMC :&lt;BR /&gt;254 - last 128 M&lt;BR /&gt;255 - last 24K&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;In general this documentation is very confusing with binary and decimal values mixed. I guess secondary boot flow disabled if fuse is bigger than 10 decimal? At the same time the values 254 and 255 are specified for eMMC?&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jan 2025 12:29:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2036566#M233525</guid>
      <dc:creator>electro1</dc:creator>
      <dc:date>2025-01-31T12:29:00Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2037970#M233602</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;I have investigated further on this issue, and checked internally.&lt;BR /&gt;&lt;BR /&gt;On i.MX93, for boot partitions on eMMC, primary image is in boot1 and secondary image is in boot2. Moreover, the SW_Version won't be checked here.&lt;BR /&gt;&lt;BR /&gt;So to say the version it is skipped but in case of failure it does jump to the secondary image, in case of using user partition then offset needs to be set as we have discussed before.&lt;BR /&gt;&lt;BR /&gt;Please do accept my apologize for the confusion.&lt;BR /&gt;&lt;BR /&gt;Best regards/Saludos,&lt;BR /&gt;Aldo.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2025 19:56:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2037970#M233602</guid>
      <dc:creator>AldoG</dc:creator>
      <dc:date>2025-02-04T19:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: imx93 eMMC boot container set selection</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2038409#M233633</link>
      <description>&lt;P&gt;Thank you for clarifying how it works. I hope the documentation can be updated to reflect this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Feb 2025 08:27:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx93-eMMC-boot-container-set-selection/m-p/2038409#M233633</guid>
      <dc:creator>electro1</dc:creator>
      <dc:date>2025-02-05T08:27:17Z</dc:date>
    </item>
  </channel>
</rss>

