to give you a background here :
Our customer custom device based on i.Mx53 boot directly from an eMMC chip from Micron (N2M400FDB311A3C). It is version 4.41. The eMMC chip has gone end of life and newer versions while they should be backwards compatible do not work because of an issue with the i.MX53 boot ROM. Here is the response our customer received from NXP
NXP Response - July 2017: This is a limitation for this old i.MX part. The i.MX53 supports eMMC 4.5 but not at the booting. Unfortunately, the ROM cannot be updated with a newer version and this reduces the option to boot from external memory. If customers use SPI for instance just for the booting, they can continue using eMMC after it boots.
Customer did some last buy, but they are running out of N2M400FDB311A3C, Hence requested for alternate solution.
Hence as a solution we had targeted to boot from I2C EEPROM (M24M02) first from BOOT ROM, and then switch to eMMC uboot again and then boot Linux from eMMC.
We have 2 issues if I set priority than:
- https://community.nxp.com/t5/i-MX-Processors/Problem-reading-emmc-from-uboot-for-imx53/m-p/1240315#M...
Here you consider for POC we are loading minimal uboot via Serial download mode from USB to RAM and boot it. Then internally from this uboot we would like to read another uboot from eMMC.
- https://community.nxp.com/t5/i-MX-Processors/How-ROM-increments-device-address-in-imx53/m-p/1239651#...
Once above problem is solved and we are able to create uboot-1, which is able to read from eMMC.
Now when we flash into I2C EEPROM, if this size is more then 64KB then I2C EEPROM will have whole uboot in 2 quadrants of this memory (M24M02: has 4 quadrants of 64KB size with address as 0x50, 0x51, 0x52, 0x53). Hence in boot rom fusing, if we set address of starting quadrant 0x50, how I2C FW in boot rom will be able to increase the I2C address from 0x50 → 0x51 or not.
If not then we need to reduce uboot as minimum as possible for size < 64 KB
--
Thanks
Ashish Agarwal