Hi,
We have a custom board using the AM3359 processor and a NAND flash as a boot device. The second boot device is a SD card and we have chosen the following boot sequence:
1. UART0
2. XIP
3. MMC0
3. NAND
The NAND flash is a MT29F2G08ABAEAWP-IT from Micron. With this setup we haven’t encountered any problems so far.
Now our EMS partner has suggested using a different flash device (MX30LF2G18AC-TI) because the Micron part is hard to source. After getting samples of the second source and replacing the flash on one of our processor boards, it appears as though the ROM boot loader does not work properly anymore: Sometimes the ROM boot loader hangs after trying to boot from the UART0. My guess is that this is because the boot loader assumes that there is an XIP boot device.
The issue appears randomly. The probability seems to depend on the flash content: When the flash is empty, it works most of the time, when the flash is programmed most of the time it doesn't work. In the cases where it works the replacement flash works perfectly. We can then read write, erase and boot from the flash and the system recognizes the correct vendor ID, type and size.
My concern is now, that this problem can occur with any flash device. I don’t know the interface protocols in detail, but I can image that strange things can happen when a NAND flash sees NOR flash commands at its interface. So maybe we have just been lucky that the issue hasn’t been observed so far.
Questions:
- Is there a list of compatible flash devices that have been tested with the ROM boot loader of the AM335x processor?
- Is there workaround other than changing the boot sequence to prevent this issue
Thank you for your reply!
Best regards
Reto