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.

am3359 nand device found!

Other Parts Discussed in Thread: AM3359

hello:

i have made a board with am3359,the nand flash hardware design is the same as evm board  but used flash--samsung k9f2g08u0e 

now i change the GPMC configs in mem.h to meet k9f2g08u0e timing as below :

#define SMNAND_GPMC_CONFIG1 0x00000800
#define SMNAND_GPMC_CONFIG2 0x00141400
#define SMNAND_GPMC_CONFIG3 0x00141400
#define SMNAND_GPMC_CONFIG4 0x0F010F01
#define SMNAND_GPMC_CONFIG5 0x010C1414
#define SMNAND_GPMC_CONFIG6 0x1F0F0A80
#define SMNAND_GPMC_CONFIG7 0x00000C44

but still print out  No NAND device found!!!

i want to know there is anyting else need to be change and these registers value is correct for nand device--samsung k9f2g08u0e 

  • Most likely the diagnostic message came from nand_base.c module, because nand_get_flash_type() method failed.

    There might be several reasons for that.

    I'd stepped into the nand_get_flash_type() to find what's wrong and then studied configuration constants.

  • i  had added the printf function into nand_get_flash_type() ,found that  get the wrong " maf_id" and " dev_id"

    maf_id = -1879589092

    dev_id = -1879589096

    that's why

  • Hi ethan,

    use %x instead of %d in printf(), you will see if the ids are correct.

    Lihua

  • hi LiHua :

     

    i change %x to %d in printf(), but the id is wrong also:

    maf_id=8ff7bf1c

    dev_id=8ff7bf18

  • Hi ethan,

    Maybe you need a signal analyzer to see if the timing is correct. My board is using MT29F2G08, It works well. Now I change the nand to samsung K9F4G08, IO error often appear when copy large file. I'm puzzling too.

    http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791/t/243013.aspx

  • I changed a nand to K9F2G08 from well working board just now. Samsung 2Gb nand has the same problem. So, In my point of view, it seems samsung Nand does not work on my am335x board. while Micro nand works well.

    Why? Is there any one successfully used samsung nand with am335x before?

  • It might be easier to debug if you use the NAND Flashing tool.  Information on using this can be found here:  http://processors.wiki.ti.com/index.php/AM335x_CCS_Flashing_Tools_Guide

    Focus on simply getting the proper Man ID and Device ID.  Then you can try to perform an erase and programming of the flash.  You should be able to step through this code which will help in the debug effort. 

    Regards,

    James

  • ethan zou said:
     ... the id is wrong also:

    maf_id=8ff7bf1c     dev_id=8ff7bf18 


    No, not that.
    The nand_get_flash_type() method does not care if IDs are correct or wrong,
    it checks if the IDs are readable..

    The device ID and the manufacturer ID are being read twice.
    If the results do not match then there is something wrong with the device so that the best idea is to just ignore this device (NAND device I mean).

    I think you have hardware problems. Timing, wiring, ..