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.

MTD erase failure: Input/Output error

Other Parts Discussed in Thread: AM1802, AM1808

During erase of NAND flash, I get several errors during the course of erasure.

At the prompt I enter "flash_eraseall /dev/mtd5"

And I see the following:

Erasing 128 Kibyte @ 8bc0000 -- 27 % complete.libmtd: error!: MEMERASE64 ioctl failed for eraseblock 1118 (mtd5)
        error 5 (Input/output error)

flash_eraseall: /dev/mtd5: MTD Erase failure: Input/output error
Erasing 128 Kibyte @ 9ca0000 -- 30 % complete.
Skipping bad block at 0x09cc0000
Erasing 128 Kibyte @ 10180000 -- 50 % complete.libmtd: error!: MEMERASE64 ioctl failed for eraseblock 2060 (mtd5)
        error 5 (Input/output error)

flash_eraseall: /dev/mtd5: MTD Erase failure: Input/output error

Has anyone else run into this?  Is it normal?  Does it indicate a problem in the NAND flash configuration?

Thanks,

David

  • Hi David,

    Could you please provide the board details and kernel version what you are using?

    Thanks

    AnilKumar

  • The board is a custom board with an AM1802 processor.  The NAND flash is a Micron 512 MB part.  The SDK version is 5.02.00.00 and the kernel version is 2.6.37. 

    The flash erases with no errors from U-boot, so I'm not concerned that the part or its connections are bad.  I only have trouble when erasing from Linux.

    Thanks,

    David

  • I tried increasing the nandflash timing values to large values.

    static struct davinci_aemif_timing da850_evm_nandflash_timing = {
        .wsetup        = 255,
        .wstrobe    = 255,
        .whold        = 120,
        .rsetup        = 255,
        .rstrobe    = 255,
        .rhold        = 120,
        .ta        = 100,
    };

    However, that didn't get rid of the error messages.

  • Hi,

    Is it the same NAND part which is present on the AM1808 EVM?

    Can you try by not configuring the EMIF timings? In such a case default timing values will be used I have seen that most NAND parts work with such relaxed timings. Also, it will be helpful, if you can send across the complete kernel booting log.

    Regards, Sudhakar