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.

Support for MT29F4G16ABBDAHC NAND Flash?

Other Parts Discussed in Thread: AM3359

Our board includes an AM3359 and a Micron MT29F4G16ABBDAHC NAND Flash chip, which identifies itself to EBOOT as manufacturer 0x2C device type 0xBC.  This device type appears in the Technical Reference Manual (SPRUH73C) table 26-13 on p 4557, so it appears to be supported.  Per its datasheet, I appended the following to SupportedNands[ ]  in bspcfg

{
// MT29F4G16ABBDAHC 
0x2C,
//manufacturerId
0xBC,
//deviceId
4096,
//blocks
64,
//sectorsPerBlock 
1024,
//sectorSize - pageSize
2
//wordData
}
 
When I did this, the Flash appeared to be recognized and EBOOT would report that it was "checking bootloader blocks are makrded as reserved (Num=36)" and count them off with "." characters.  The ensuing low level format would fail however, and I discovered  

#define M_NAND_GPMC_CONFIG1 0x00000800 in file bsp_def.h, and comparing this with table 7-66 I noted that this value specified an 8-bit NAND Flash (as on the EVM) while I have a 16 bit.  However, when I changed M_NAND_GPMC_CONFIG1 to 0x00001800 it reports "Skip bad block" forever instead of counting off reserved sectors with ".".  This appears to be a step backwards. 

I also noted that fmd.c contains

      if ((pBSPNandInfo->sectorSize != 2048) && (pBSPNandInfo->wordData != 2)){

        ERRORMSG(1,(TEXT("FMD driver supports only 16bits large page (2KB) devices\r\n")));

        goto cleanUp;

which I believe should be

      if ((pBSPNandInfo->sectorSize != 2048) || (pBSPNandInfo->wordData != 2)){

        ERRORMSG(1,(TEXT("FMD driver supports only 16bits large page (2KB) devices\r\n")));

        goto cleanUp;

If true, this message casts doubt on whether this (or any other) 1024-sector-size part is supported by the BSP.

Please advise.

Thanks,

Bruce Bassett