The NAND flash I am using is MT29F4G08ABAEA. (device id: 0xDC, page size : 4096)I want to know whether AM335x supports booting from this NAND chip.
See from SPRUH73C 22.214.171.124.5.2 Initialization and Detection Table 26-13. Supported NAND Devices, page size of device ID 0xDC is 2048. Does it mean AM335x can not boot from this NAND since page size is 4096 ?
Anybody would like to answer my question ? Does the ROM code of AM335x support 4kB pagesize while the device ID is 0xdc ?
Or is there any way to verify this ?
I'm facing the same problem as well.
I've built a custom board based on TMDXEVM3358 reference design, and using the SDK ti-sdk-am335x-evm-05.03.02.00-Linux.
Initially I mounted a 256MByte NAND flash (MT29F2G08ABAEAWP), and I can boot up the SPL, u-boot then kernel successfully from NAND device.
But when I changed the NAND to 512MByte (MT294G08ABAEAWP), the ROM code seems always skip the NAND device and try to bootstrap from other peripherals like UART, MMC etc.
The key difference between these 2 NANDs are:
Size Device ID Page Size ECC bit4G08: 4Gb(512MB) 0xDC 4320 Bytes 8-bit2G08: 2Gb(256MB) 0xDA 2112 Bytes 4-bit
I've read the AM335x TRM section 126.96.36.199.5, and I do not see why this 512MByte version of NAND should not be supported by the ROM code.
Can anyone help ? Thanks.
Here is the info from the NAND spec:
NAND, 4Gbit (512 MB) x8, SLC, 1-die, 3.3V I/O, Feature Set E, Async
Mfgr ID / Device ID: 0x2C / 0xDC
Page Size: 4096
Spare Size: 224
ECC Requirement: 8-bit ECC per 540 bytes of data
4 x 1024 partial page
Since this NAND is ONFI compliant, RBL can read its geometry parameters.
All other NANDs I have seen use a 512-byte sector. Fo example,
a 2048-byte page NAND allows (4) partial page writes of 512 bytes.
But this device used (4) partial page writes of 1024 bytes.
I need to check if GPMC supports this since ECCSIZE0, ECCSIZE1 have
a max value that specifies a 512 byte sector.
I will look into that.
Also, the device ID does not completely specify the NAND geometry.
Since NAND is ONFI compliant, ROM boot loader will not use the
table of device IDs, but will use the Parameter Page info from NAND.
Thanks for your effort to look into this issue. Wondering if you have any update so far ?
For your info, by setting the sysboot to '1', we are able to boot up from this NAND. But we are not comfortable with this "work-around".
Are there any updates? I wonder AM335X supports 512MB or 1G NAND FLASH from MICRON standart part numbers (MT29F4G08 and MT29F8G08)?
Are you still looking for the solution? The part MT29F2G08ABAEAWP has an internal ECC calculator logic. You might to disable it to get ONFI and support booting from the device by using SET_FEATURES command. I haven't gone through in detail. I'm not sure whether the internal ECC logic is enabled after reset.
-Renjith | www.pathpartnertech.com | Verify the answer if you think your query is resolved
Some versions of NAND from Micron larger 512MB but have 2K page size are directly supported by AM335X.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.