I am having trouble booting from NAND on a custom AM3354 board. I have followed the instructions on the wiki: http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User's_Guide
I have also tried loading the image described in the AM335x reference manual instead of just the MLO generated by u-boot (2013.07). The MLO has one block (512 bytes) of extra data in the header not described in the reference manual; the only header mentioned by the RM is two four-byte words: the size and load target address of the image.
I can boot successfully over serial, and this has been the way I have done development up to this point. NAND works fine for every other purpose other than booting from it; in fact, I have changed my serial bootloader to load from NAND instead of loading the secondary u-boot over serial, too. The NAND part used is the MT29F2G08ABBEA, which is just a lower-voltage variant of the MT29F2G08ABAEA.
The sysboot pins are 1000000001001011b, with "01011" meaning the order of USB/NAND/SPI/MMC. Nothing is attached on USB and all signals for it are confirmed to be low. During boot, I do not see any changes occurring on the NAND's data lines. I do see changes happening when reading from NAND in u-boot, as expected.
I have read that others have needed to put pulldown resistors on the data lines 8-15 on account of using an 8-bit part (as I am). However, according to the reference manual, this should be a problem if I have anything else attached to those pins, and I do not; they are simply floating.
I unfortunately have no ability to perform a soft reset on this board and observe the trace registers since the pin was not broken out. I cannot get the ICE or CCS one to work well enough (or at all) to debug the issue from that side.
Does anyone have any ideas on what the problem could be? Is the AM3354 even capable of booting from this NAND part? It is ONFI compliant, so I assume so.