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.

AM335x nandtest fails

Hello,

I am working with an custom am335x board.
The kernel is based on the AM335xPSP_04.06.00.08 release.
I booted the system from SD-card and run the nandtest.
Received an error after some time:

nandtest -p 10 /dev/mtd12
ECC corrections: 187
ECC failures   : 0
Bad blocks     : 3
BBT blocks     : 0
00660000: reading...
ECC corrected at 00660000
01020000: reading...
ECC corrected at 01020000
02c80000: reading...
ECC corrected at 02c80000
03ee0000: reading...
ECC corrected at 03ee0000
03ee0000: checking...
compare failed. seed 1918620309
Byte 0x1c40b is 7f should be ff

This happens actually not on every test pass but I could
reproduce this several times with a similar error.

nandtest -p 10 /dev/mtd12
ECC corrections: 191
ECC failures   : 0
Bad blocks     : 3
BBT blocks     : 0
06060000: reading...
ECC corrected at 06060000
06480000: reading...
ECC corrected at 06480000
06520000: reading...
ECC corrected at 06520000
06620000: reading...
ECC corrected at 06620000
07400000: reading...
ECC corrected at 07400000
Bad block at 0x07bc0000
086e0000: reading...
ECC corrected at 086e0000
090e0000: reading...
ECC corrected at 090e0000
09240000: reading...
ECC corrected at 09240000
09960000: reading...
ECC corrected at 09960000
09ce0000: reading...
ECC corrected at 09ce0000
0a420000: reading...
ECC corrected at 0a420000
0ac80000: reading...
ECC corrected at 0ac80000
0ae40000: reading...
ECC corrected at 0ae40000
0af80000: reading...
ECC corrected at 0af80000
0b0e0000: reading...
ECC corrected at 0b0e0000
Bad block at 0x0bec0000
0d560000: reading...
ECC corrected at 0d560000
0d8c0000: reading...
ECC corrected at 0d8c0000
0e5c0000: reading...
ECC corrected at 0e5c0000
0ef40000: reading...
ECC corrected at 0ef40000
0f1a0000: reading...
ECC corrected at 0f1a0000
0fc60000: reading...
ECC corrected at 0fc60000
Bad block at 0x0fd40000
11080000: reading...
ECC corrected at 11080000
11360000: reading...
ECC corrected at 11360000
11be0000: reading...
ECC corrected at 11be0000
12ee0000: reading...
ECC corrected at 12ee0000
13180000: reading...
ECC corrected at 13180000
143c0000: reading...
ECC corrected at 143c0000
14e60000: reading...
ECC corrected at 14e60000
16020000: reading...
ECC corrected at 16020000
169e0000: reading...
ECC corrected at 169e0000
185e0000: reading...
ECC corrected at 185e0000
18a60000: reading...
ECC corrected at 18a60000
19e60000: reading...
ECC corrected at 19e60000
1b0e0000: reading...
ECC corrected at 1b0e0000
1bde0000: reading...
ECC corrected at 1bde0000
1d3e0000: reading...
ECC corrected at 1d3e0000
1eae0000: reading...
ECC corrected at 1eae0000
1ec20000: reading...
ECC corrected at 1ec20000
1f6c0000: reading...
ECC corrected at 1f6c0000
1fb00000: checking...
Finished pass 1 successfully


...

Finished pass 4 successfully
00fc0000: reading...
ECC corrected at 00fc0000
07b80000: reading...
ECC corrected at 07b80000
Bad block at 0x07bc0000
07e40000: reading...
ECC corrected at 07e40000
09660000: reading...
ECC corrected at 09660000
09700000: reading...
ECC corrected at 09700000
0a240000: reading...
ECC corrected at 0a240000
0b140000: reading...
ECC corrected at 0b140000
Bad block at 0x0bec0000
0c080000: reading...
ECC corrected at 0c080000
0d7c0000: reading...
ECC corrected at 0d7c0000
0e080000: reading...
ECC corrected at 0e080000
0fc60000: reading...
ECC corrected at 0fc60000
Bad block at 0x0fd40000
111e0000: reading...
ECC corrected at 111e0000
122c0000: reading...
ECC corrected at 122c0000
13580000: reading...
ECC corrected at 13580000
13f40000: reading...
ECC corrected at 13f40000
14d60000: reading...
ECC corrected at 14d60000
17160000: reading...
ECC corrected at 17160000
172c0000: reading...
ECC corrected at 172c0000
17aa0000: reading...
ECC corrected at 17aa0000
18f20000: reading...
ECC corrected at 18f20000
1ada0000: reading...
ECC corrected at 1ada0000
1ba80000: reading...
ECC corrected at 1ba80000
1bde0000: reading...
ECC corrected at 1bde0000
1c2a0000: reading...
ECC corrected at 1c2a0000
1d180000: reading...
ECC corrected at 1d180000
1dde0000: reading...
ECC corrected at 1dde0000
1ebc0000: reading...
ECC corrected at 1ebc0000
1fb00000: checking...
Finished pass 5 successfully
01240000: reading...
ECC corrected at 01240000
01240000: checking...
compare failed. seed 1201209858
Byte 0x1d605 is 47 should be 07

So even although an error correction was done, the read values
do not fit with the written ones.

We are using BCH8 with an 8-Bit Micron MT29F4G08ABADAH4 NAND.

Any idea what the problem could be? Or how to debug this?

Teresa

  • Teresa,

    Can you send me the following files to renjith.thomas@pathpartnertech.com? 

    1. arch/arm/mach-omap2/board-am335x-evm.c or corresponding board file you are using?
    2. arch/arm/mach-omap2/board-flash.c
    3. arch/arm/mach-omap2/gpmc.c
    4. drivers/mtd/nand/nand_base.c
    5. drivers/mtd/nand/omap2.c