
Hi Craig,
On Wednesday 01 August 2007, Craig Day wrote:
I've ported u-boot 1.1.6 over to the LPC3180 (arm926ejs core) and have included NAND support. The nand_write_ecc function in drivers/nand/nand_base.c appears to be writing pages correctly, but the pointer to the source data in memory for nand_verify_pages does not seem to be updated correctly. Specifically, line 1707 in nand_base.c contains: this->data_poi = bufstart; However, the problem is that bufstart is never updated, and always points to the beginning of the data source, causing all nand_page_verify calls to compare the newest written pages in NAND flash to the beginning of the data source. After the first block NAND writing fails due to nand_verify_pages failing. To fix this I added in: bufstart += (1 << this->phys_erase_shift);
Thanks for the detailed explanation. But even better would be to send a patch (best with a signed-off line etc.). A patch sometimes explains a problem betten than such an explanation. And if you are correct and it fixes a real problem, the patch could be applied directly.
Have you seen this problem? Or has anyone else run into this problem? Or is there something I'm missing?
We are using the current NAND driver successfully on multiple boards.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================