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.

AM3892 based board NAND issue

Other Parts Discussed in Thread: AM3892

Hi,

We have custom board based on TI AM3892 processor. On board we have 3 NAND-chips:

cs0: 512 Mb Samsung K9F4G08U0D

cs1: 128 Mb Samsung K9F1G08U0D

cs2: 128 Mb Samsung K9F1G08U0D

NAND chip on cs0 seems to work properly, it could be accessed in u-boot using u-boot nand tools, also it appears as mtd0-8 in /dev in linux.

I managed to connect original nand driver to my additional nand-chips(cs1 and cs2). Nand2 and Nand3 partitions with proper size (128 mb) appears in mtds in linux:

NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung )
Creating 1 MTD partitions on "omap2-nand.1":
0x000000000000-0x000020000000 : "Nand2"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung )
Creating 1 MTD partitions on "omap2-nand.2":
0x000000000000-0x000020000000 : "Nand3"

...

 root@dm816x-evm:~# cat /proc/mtd

dev: size erasesize name

mtd0: 00010000 00008000 "U-Boot"

mtd1: 00000000 00000000 "U-Boot Env"

mtd2: 00010000 00008000 "Kernel"

mtd3: 00000000 00000000 "File System"

mtd4: 00260000 00020000 "U-Boot"

mtd5: 00020000 00020000 "U-Boot Env"

mtd6: 00440000 00020000 "Kernel"

mtd7: 0c820000 00020000 "File System"

mtd8: 13120000 00020000 "Reserved"

mtd9: 08000000 00020000 "Nand2"

mtd10: 08000000 00020000 "Nand3"

 

Now I'm trying to run nandtest on mtd9 and mtd10, and it detects mass error count, what could be the reason? nandtest on /dev/mtd8 results properly.

nandtest /dev/mtd10

ECC corrections: 0

ECC failures : 0

Bad blocks : 2

BBT blocks : 0

00000000: erasing...

00000000: writing...

00000000: reading...

ECC failed at 00000000

00000000: checking...

compare failed. seed 1804289383

Byte 0x1 is ff should be da

Byte 0x3 is ff should be 92

Byte 0x5 is ff should be b7

Byte 0x7 is 7f should be 70

Byte 0x9 is 04 should be 66

 

Best regards,

Anton

  • let me confirm something first

    Q1. why the size of the mtd1/mtd3 is zero ?

    Q2. why you make a partition for mtdx with zero size?

  • Hi, Jack1234

     

    Jack1234 said:

    let me confirm something first

    Q1. why the size of the mtd1/mtd3 is zero ?

    Q2. why you make a partition for mtdx with zero size?

     

    In fact first four partitions are designated to be created on spi, but on our board we haven't SPI. Thus during linux kernal image loading they are created on nand-chip, but some of them are disabled, TI support said that it seems to be a normal situation. Here is the corresponding linux kernel boot log if you are interested

    mtd .name = spi_flash, .size = 0x10000 (0MiB) .erasesize = 0x00008000 (32KiB) .numeraseregions = 0

    partitions[0] = {.name = U-Boot, .offset = 0x0, .size = 0x40000 (256KiB) }

    partitions[1] = {.name = U-Boot Env, .offset = 0xffffffffffffffff, .size = 0x2000 (8KiB) }

    partitions[2] = {.name = Kernel, .offset = 0xffffffffffffffff, .size = 0x280000 (2560KiB) }

    partitions[3] = {.name = File System, .offset = 0xffffffffffffffff, .size = 0x0 (0KiB) }

    Creating 4 MTD partitions on "spi_flash":

    0x000000000000-0x000000040000 : "U-Boot"

    mtd: partition "U-Boot" extends beyond the end of device "spi_flash" -- size truncated to 0x10000

    mtd: Giving out device 0 to U-Boot 0x000000010000-0x000000012000 : "U-Boot Env"

    mtd: partition "U-Boot Env" is out of reach -- disabled

    mtd: Giving out device 1 to U-Boot Env 0x000000000000-0x000000280000 : "Kernel"

    mtd: partition "Kernel" extends beyond the end of device "spi_flash" -- size truncated to 0x10000

    mtd: Giving out device 2 to Kernel 0x000000010000-0x000000010000 : "File System"

    mtd: partition "File System" is out of reach -- disabled 

    Best regards,

    Anton