iMX287 can't boot from MT29F64G08AJABA(8GiB,4KiB+224,ONFI 2.1) with error codes 0x80508002 and 0x80502008

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX287 can't boot from MT29F64G08AJABA(8GiB,4KiB+224,ONFI 2.1) with error codes 0x80508002 and 0x80502008

3,605 Views
f43067
Contributor II

Hi,

I tried to use MT29F64G08AJABA as the nandflash in my iMX287 board,this nandflash is 64Gbit(8GByte),page size is 4096+224bytes,block size is 128 pages,and ONFI 2.1 compliant. I already modified the nand driver and when I boot from SDCard,the system can recognize the nandflash correctly and I can read and write the nandflash correctly after the system is up. But if I write the imx28_ivt_linux.sb to the nandflash use kobs-ng,and then change the boot mode to Nand mode, the debug uart puts 0x80508002 and 0x80502008 after power on. I think my driver with this nandflash is right,otherwise I can't read and write the nandflash correctly with SDCard boot. But I don't know weather the ROM loader support this nandflash. Does anyone boot from this nandflash succssfully? Please tell me how to do. And what's the meaning of the error codes 0x80508002 and 0x80502008? Where are they defined? Thanks.

Labels (1)
0 Kudos
8 Replies

2,120 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

please check below links, they explain how to correctly program NAND for booting

https://community.freescale.com/thread/242215

https://community.freescale.com/message/278235#278235

Best regards

chip

0 Kudos

2,120 Views
mohitrawat
Contributor I

Hi! All,

         What is the difference between these two family MCiMX & PCiMX and any logic that why Freescale have stopped PCiMX controller ?

Also, some more Qs,

(a) are the pinouts the same ?

(b) what would we need to do to program the MC series with firmware from the PC series. ?

Mohit

0 Kudos

2,120 Views
igorpadykov
NXP Employee
NXP Employee

Hi MOHIT

PC is preproduction chips (production tests are not fully performed).

MC is fully qualified. These are identical parts in all aspects

Best regards

chip

.

0 Kudos

2,120 Views
f43067
Contributor II

Thanks for chipexpert. But these two links can't solve my problem. My nand driver has already support this nandflash,because when I boot from SDCard,the system can recognize the nandflash correctly and I can read and write the nandflash correctly after the system is up. Additionly, if I run the imx28_ivt_linux.sb in SDCard, and then run the rootfs in this nandflash, it also succeed. My problem is just if I write the imx28_ivt_linux.sb to the nandflash use kobs-ng,and then change the boot mode to Nand mode, the system can't start up, and the debug uart puts 0x80508002 and 0x80502008 after power on. My nandflash is ONFI 2.1 compliant, and in the page of 1051(ONFI BA NAND Device Boot) of the MCIMX28RM.pdf, it says "For ONFI-BA NAND, ROM expects the first sector to contain a MBR with partition table". I checked the source code of the MFGTool and kobs-ng,both of them don't have the operation of writing the MBR.  I think maybe that's the question.

Thanks again.

0 Kudos

2,120 Views
VladanJovanovic
NXP Employee
NXP Employee

I think you're affected by TKT140334 . Please check i.MX28 chip errata document for details.

0 Kudos

2,120 Views
f43067
Contributor II

Thanks for Vladan Jovanovic and chipexpert, I will try again.

0 Kudos

2,120 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos

2,120 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

your nand is ONFI 2.1 but not "ONFI-BA" and these are different things.

I would suggest to try latest yocto kernel (3.10.17) since older may

not support well  NANDs with 224 spare sizes. Though 3.10.17 kernel

is not officially supported by Freescale it works good with i.MX28 EVK.

http://ci.ossystems.com.br/public/fsl-community-bsp/master/

http://download.ossystems.com.br/images/freescale/current/

Best regards

chip