Other Parts Discussed in Thread: OMAP-L138
I'm integrating a 1Gb NAND flash using the OMAP-l138. I've updated the nand_ids.c file in both the Linux kernel (2.6.31) and U-Boot 2009.11-dirty. U-Boot is able to successfully erase and scrub the NAND flash. After an erase in Uboot, it only reports a few bad blocks. In the Linux kernel, however, I'm unable to read/write to it successfully. The NAND chip is able to be probed via the davinci_nand.c successfully and can read the page size, etc, but it reports unable to read the Bad Block Table (BBT). For example, I get "nand_bbt: ECC error while reading bad block table".
I have also compiled and installed the latest mtd-utils onto the target (Linux) so I can use mtdinfo, flash_erase, etc. However, when I try and re-erase via "flash_erase", it believes all blocks are bad.
I had to update "davinci_nand.c" and "nand.h" to support the 4096K page size / 224 Out of Band (OOB) of this NAND chip.
Searching this forum, it appears others have had initial issues with this newer Micron chip; however, I believe I have most critical changes correct. Any suggestions would be greatly appreciated.
Thanks,
JTT