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