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.

RBL -> UBL boot question...

I've having a problem booting from NAND flash.  I'm using an 8Gb Micron MT29F8G08ABABA and have put the (hopefully) correct info in the ID table and recompiled both the UBL and U-Boot..  Using the EVM and the SD card flash utilities I have erased and written to the NAND, but get nothing on the NAND boot, except that it goes back to the SD utilites.

Using our own board design I have used the serial utilities to write the UBL and U-Boot.  But it still won't boot.  Due to a schematic error, our board won't boot from the SD card.  And due to a bug in the revision 1.1. chip our EVM won't serial boot.

But here is the question..  

After flashing the NAND, if I have the SD card in the EVM it boots to the SD flash utilities even when the switches are set to NAND flash.  Does this mean that the RBL never finds the UBL?  If the RBL found the UBL but the UBL can't see the NAND ID would it still go to the SD card?  I know the boot seq is check the NAND and if there is an error, then boot the SD card.  But I'm not sure if once the UBL is found that an error would then go to the SD card.  I could print some debug info if the UBL is loaded and running.

Thanks, John

  • Hi John,

    Which TI device are you working on?

    Regards,

    Lawrence

  • You have for refer to section NAND Device IDs Supported of  DMSoC ARM Subsystem Reference Guide for your processor.
    It is hard coded codes supported to RBL. You can't change it. Some processors (DM355) use default parameter in case it can't find known device id. You should carefully check this table when selecting boot NAND flash. I worst case you need to use another NAND or another boot device.

    I hope this information is useful and could prevent from changing NAND on custom boards.

  • Our board has the DM368 and the EVM has the DM365.  The tables in the ARM reference guide do not have the ID of our chip ID = 0x38, 4096+224 bytes/page, and 128 pages/block.  But there are other threads on the forum that claim to be successfully using this same NAND chip.  That's why I was wondering if there was a way to tell if the UBL was found.

    John

  • John Anderson said:
    But there are other threads on the forum that claim to be successfully using this same NAND chip.

    Can you please give a reference? Which processor do they use? Do they boot from it?

  • http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/48003/169881.aspx#169881

    "We were ecstatic to see the board come to life (once DIP switches were returned to NAND boot mode) and pass control from RBL to UBL to uBoot. We now however have have an issue in which uBoot seems to fail to identify the NAND device and returns "No NAND device found" with our MT29F8G08ABABA instead of the previous "Manufacturer ID: 0x2c Chip ID: 0xd3 (Micron NAND 1GiB 3.3V 8-bit)" which was output when using the the original DVEVM packaged (but obsolete) MT29F16G08FAA."

    According to that thread they are able to get the RBL to load the UBL.  I've tried various DVSDK and tool versions (incl the latest) and various toolchains (Montavista and CodeSourcery).  I can load and run U-Boot and the Linux kernel from the SD card utilities.  But I can't seem to get the RBL to find the UBL.

    John

  • This could be useful:

    "So based on the 4th byte, the DM365 RBL will configure itself for 4K pages & 256K Blocks ... "

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/48003/172823.aspx#172823

  • Here's a listing of the NAND dump from the SD card flash utility.  The MAGIC # is right where I expect to find it, in the beginning of the second block.  And I'm guessing thats the UBL in the second page following the magic number.

     

    src=0x00000000

    nand_read block_idx=0x00000000 page_idx=0x00000000 len=0x00A00000

    block=00000001 block=00000002 block=00000003 block=00000004 block=00000005 block=00000006 block=00000007 block=00000008 block=00000009 block=0000000A block=0000000B block=0000000C block=0000000D block=0000000E block=0000000F block=00000010 block=00000011 block=00000012 block=00000013 block=00000014 

    00000000: FFFFFFFF ....

    00080000: A1ACED00 00000100 00000008 00000001 00000001 00000000 FFFFFFFF FFFFFFFF

    00080020: FFFFFFFF ....

    00081000: EE190F31 E3A00001 EE090F31 EE190F11 E59F0038 E380001D EE090F11 E59F0034

    00081020: E59F1034 E59F2034 E1520000 9A000005 E0422000 E1A02142 E490C004 E2522001

    00081040: E481C004 1AFFFFFB E59F0004 E1A0F000 00010000 00000100 02000000 00010020

    00081060: 02004540 E12FFF1E 00000000 00000000 00000000 00000000 00000000 00000000

    00081080: 00000000 ....

    000810E0: E1A00000 E10F0000 E3C0001F E3800013 E38000C0 E129F000 E1A00000 EE110F10

    00081100: E3C00C23 E3C00087 E3800002 E3800A01 EE010F10 E1A00000 E59FD008 E24DD004

    00081120: E3CDD007 EB000A71 00018000 E12FFF1E E590C000 E24DD008 E081C00C E58DC000... continued