This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

how to debug nand boot for omap4460 ?

Hello,

We have an omap4460-based design where the processor is connected to a NAND memory from Micron. We are able to boot our board through usbboot as well as micro sd-card. Through these, we were successful in getting the linux kernel up and running. From u-boot level, using the nand commands we are able to read and write to the Micron nand chip.

The problem is that we are unable to boot from the NAND memory. We copied over the MLO used for sd-card booting into the first 4 sectors of the NAND memory, but even after setting the sysboot pins for NAND boot, the board does not appear to do anything. All we see are garbage characters coming on the debug serial line. 

We've tried probing the gpmc cs0 line and gpmc wait0 lines. There is some activity going on, but we can't interpret the results.

Any suggestions on what we could try next?

The nand chip in question is "MT29F4G08ABBDAH4-IT" from Micron connected via 8-bit interface.

Puzzled,
Abraham V.

  • Hello Abraham,


    I suggest using the actual TI u-boot from denx.de. 

    Download the u-boot from link - http://git.denx.de/?p=u-boot/u-boot-ti.git;a=summary

    See the boot configurations described in chapter 29 Initialization of OMAP4460 TRM.

    Then try to boot with this new u-boot.

    Best regards,

    Yanko

  • Hello Yanko,

    I'm already using mainline u-boot (main branch 2013.10 release, not the TI specific one) and able to boot my custom board from external devices, but NOT the NAND memory on the board.

    Regrading boot configuration, initially the pins were setup as follows,

    sysboot[7:6] = 11

    sysboot[5:0] = 011001

    According to the TRM this means that the boot order will be USB > UART > MMC1 > NAND. With this configuration, I was able to boot from USB and MMC1. Expected debug prints were seen on the uart console in both cases. The NAND memory was accessible and I was able to read/write to it. Using the "nand" commands, I was able to copy the MLO file (which was used to boot from MMC) from the external MMC card to the DDR and then to NAND. 

    Now I changed the boot pins to the following,

    sysboot[5:0] = 111001

    Which means that the boot order will be NAND > USB > UART > MMC1

    And when I power on the board, I see a few garbage characters appear on the debug uart port (the debug uart port and the boot uart port are the same on our custom board) - this must be because the device is attempting to boot from uart. It should have only done this if it failed to boot from the NAND memory present (my understanding from the initialization chapter in the TRM). 

    Other than setting the sysboot pins and writing MLO bootloader to the first 4 sectors of NAND, is there any other configuration that needs to be done to support NAND boot for an omap4460 device? (couldn't find anything else related to my situation in the TRM).

    -Abraham V.