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.

TMS320DM335 ver1.4 ONFI support

I have a design which has been in manufacture for 3 years, using the TMS320DM335 ver 1.1 and Samsung K9K8G08 NAND flash. Now that ver 1.4 of the DM335 is being shipped the product has stopped working with the Samsung NAND flash so I am having to change the design to use Micron MT29F08G NAND flash which has ONFI support. The problem is that although I can now programme the Flash with u-boot (which I couldn't with the Samsung flash on ver 1.4) it won't then boot, It seems to recognise the flash and reads the magic number but when u-boot starts running the boot script says 'No NAND device found!!!'.

Do I need to make any modifications to u-boot in order to use ONFI to identify the flash, or is there any other reason why the system fails to recognise the Micron NAND flash?

  • I think you are correct U-boot is customized to support a given HW and in the case of the DM355 it was to support the NAND provided on the EVM.
    If you change the NAND it is very likely that you need to change some parameters in u-boot like the timings, organization, ..etc.
    You need to look at the different files that are in u-boot/board/davinci/.

    For the ROM bootloader (RBL) there is a mecanism as described here:
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/109143/388188.aspx#388188
    so it should be fine but I don't think the same is by default available in U-boot.

    The boot is as follow: RBL boots UBL (user's boot loader) that boots U-boot.
    So you need to check the UBL too to see if it is successful.
    Also it can be that on DM355 most of the init was done in the UBL and U-boot did not change the low level config.
    So may be no changes are needed in U-boot but just in the UBL. You will have to double check.

    Hope it helps.

    A.

  • Also to help debug U-boot and UBL you might want to use CCS and a JTAG emulator (provided that you have a JTAG interface routed on you board),
    The below training is for AM335x but the same strategy could be used on DM3xx:
    http://processors.wiki.ti.com/index.php/Sitara_Linux_Training:_uboot_linux_debug_with_ccsv5
    It is advise to use XDS510 or XDS560 type of emulators.
    Check as well with your emulator vendor that the DM35x is supported on the latest CCSv5.3 for a given JTAG emulator.

    A.