imx28 fails to boot from NAND and goes to USB recovery mode.

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx28 fails to boot from NAND and goes to USB recovery mode.

ソリューションへジャンプ
1,104件の閲覧回数
ncssilva_official
Contributor I

- I have been tasked to find the root cause and fix an issue in a custom design board based on imx28.

- imx28 fails to boot from NAND and goes to USB recovery mode.

- Issue arises after changing the NAND flash to a different NAND flash.

- Upon looking into the changes in the NAND drives, I found that the 'starting sequence' of the new replacement NAND drive takes 100x more time to finish than the old one (the old one takes ~10us and the new one takes ~1ms). I suspect that this causes to fail the boot from the NAND and go to USB recovery mode.

- I replaced the 'reset capacitor' of the imx28 with another capacitor that has much more capacitance, effectively delaying the imx28 startup. This fixes the NAND boot issue. This convinced me that imx28 trying to access the NAND drive before the NAND drive finishes its starting sequence and that's what causes the issue.

- Linux-2.6.35.3 and the u-boot-2009.08 sources are used to build the binaries for the system.

- I have been trying to pinpoint the location in the bootloader source files where it begins to access the NAND drive so that I can implement a delay as a software fix for the issue. So far I have failed to find that.

- Am I on the right track? Are there any parameters I can change in any config files to increase the boot delay? In the source files, where can I find the entry point to the NAND access?

タグ(4)
0 件の賞賛
返信
1 解決策
1,014件の閲覧回数
Sanket_Parekh
NXP TechSupport
NXP TechSupport
 
I hope you are doing well.
 

 

The software change in this issue is not possible. As the ROM code is not open to the customer and not modifiable.
My apology for the inconvenience.

 

 
Thanks & Regards,
Sanket Parekh

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
1,073件の閲覧回数
Sanket_Parekh
NXP TechSupport
NXP TechSupport
 
I hope you are doing well.
 
Please mention how you are trying to boot from the NAND device. Are you able to load the U-boot and loading the kernel using U-boot from the NAND device?
 
"I found that the 'starting sequence' of the new replacement NAND drive takes 100x more time to finish than the old one (the old one takes ~10us and the new one takes ~1ms)."
=> Can you be specific regarding the term "starting sequence"? And how you are measuring the time for the starting sequence.
 
Thanks & Regards,
Sanket Parekh
0 件の賞賛
返信
1,054件の閲覧回数
ncssilva_official
Contributor I

Hi @Sanket_Parekh,

Thank you for your reply.

We were able to load the u-boot and the kernel from the NAND drive before. The issue arose after the NAND drive gets replaced with a different NAND drive. After the NAND replacement, the board goes to the USB recovery mode if (and only if) it is connected to a PC with a USB cable. If it is not connected to the PC with a USB cable, it boots up from the NAND drive as intended. But for our purpose, it is necessary to have the board connected to the PC with the USB all the time.

As I am trying to find out why this happens I found out from the datasheets of the NAND drives that the power on sequences of the two NAND drives are different. The new replacement takes more time to get ready to accept commands from the imx28. Here is the old NAND: K9F2808U0C Here is the new NAND: MX30LF1G18AC 

 

ncssilva_official_0-1682678216502.pngncssilva_official_1-1682678332076.png

 

To test this theory I replaced the reset capacitor of the imx28 with a higher capacitance capacitor. This is to slow down the imx28 so that the NAND has time to finish its power-up sequence. It worked! Now the board boots up from the NAND drive while plugged into the PC with the USB. But I like to implement a software fix rather than replacing the capacitor. Is there any way I can get to slow down the imx28 boot ROM before it accesses NAND?

Thank you.

0 件の賞賛
返信
1,015件の閲覧回数
Sanket_Parekh
NXP TechSupport
NXP TechSupport
 
I hope you are doing well.
 

 

The software change in this issue is not possible. As the ROM code is not open to the customer and not modifiable.
My apology for the inconvenience.

 

 
Thanks & Regards,
Sanket Parekh

0 件の賞賛
返信