Hi
I am trying to test a new NAND chip on the DM365 EVM board. I am using a revision E board with silicon 1.2 The board comes with the Micron MT29F4G08AAA NAND but this part is not available so we have sourced a new Micron part which according to the manufacturer is a close match. The part we are trying is the MT29F8G08ABABA
However this chip is a little different. Its details are:
Page size: 4320 (4096 + 224bytes)
Block size: 128 pages (512K +28K bytes)
Size: 1GB
Dies: 1
Chip selects: 1
ID: 0x38
This chip does seem to be supported by the RBL as I have had no problem writing the UBL and uBoot to it using the flash tools from the 3.10.00_16 SDK. The chip was not properly supported in uBoot but after adding the relevant ID line to the drivers/mtd/nand/nand_ids.c and recompiling uBoot using the defines CONFIG_SYS_NAND_4BIT_HW_ECC_OOBFIRST and CONFIG_SYS_NAND_PAGE_4K and changing the chip select from 2 to 1 it now boots correctly and can load a kernel via tftp and mount a filesystem via NFS.
The problem is that it is not being detected by the linux kernel which in the SDK is 2.6.32-rc2 I have added the the same ID in the kernel drivers/mtd/nand/nand_ids.c file and checked the EVM board config to check that the block size defined in /arch/arm/mach-davinci/board-dm365-evm.c is set to SZ_512K.
What else do I need to do because I do not get any error about a NAND chip missing or any other error about the NAND. From digging it appears that the davinci_nand driver is loading but failing to identify a valid NAND chip so it unloads the driver.
Any help would be greatly appreciated.
Regards
Sean