Hi Liu
this NAND MT29F64G08AJABA can not be boot with i.MX28 as Vladan
correctly noted due to TKT140334, this was confirmed internally.
ROM attempts to read the ONFI parameter page using NAND read parameter page command ECh.
If the read is successful, it will check for the "ONFI" signature at bytes 0-3. If this is also true, it
then check for bit 7 of byte 6-7 and when it is set, the ROM will identify this part as BA-NAND and switch to BA-NAND boot.
For this Micron part, its ONFI parameter page byte 6-7 have bit 7 set and thus i.MX28
always falsely identify it as BA-NAND.
From my point of view one can mask bit 7, just adding small cpld near NAND so
it will decode command ECh and if this will true it will turn on transistor with rising WE edge
(open drain, connected to bit 7), this transitor will hold bit 7 low during all this particular command cycle.
At next command cycle this bit will be released thus not preventing NAND later from normal operation.
In bootlets one can just disable cpld.
Another alternative is to create ROM patch, which will be programmed to an external I2C EEPROM
to disable the i.MX28 BA-NAND support in ROM code such that any RAW NAND with bit 7 set
can also be correctly identified. To use this patch, you need to add an I2C EEPROM to your board
and change the boot mode to I2C boot.
Best regards
igor