Can the NAND be mounted with the format of Yaffs2 ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can the NAND be mounted with the format of Yaffs2 ?

1,250 Views
x10
Contributor V

Hi, All

My system is imx28evk + linux, The kernel can be boot through u-boot which is stored in nandflash. There are 4 partitions in nandflash as follows:

static struct mtd_partition __initdata ek_nand_partition[] = {
{
    .name = "Bootstrap", /*1st partition = Boostrap + U-Boot + U-Boot Env */
    .offset = 0,
    .size = 12 * SZ_1M,  /* size = 12MB*/
},
{
    .name = "Kernel",    /*2nd partition = Kernel(8MB )*/
    .offset = 12 * SZ_1M,
    .size = 8 * SZ_1M, /*size = 8MB */
},
{
    .name = "Rootfs", /*3rd partition = RootFS(4MB cramfs) -> /dev/mtdblock2*/
    .offset = 20 * SZ_1M,
    .size = 8 * SZ_1M, /*size = 8MB */
},
{
    .name = "UserNand", /*4th partition = User NandFlash(/dev/mtdblock3) -> /mnt/nandflash */
    .offset = 28 * SZ_1M,
    .size = MTDPART_SIZ_FULL, /*size = rest of nandfalsh chip => 248MB(2G08), 100MB(1G08)*/
},
};

static struct gpmi_nfc_platform_data gpmi_nfc_platform_data = {
    .nfc_version = 1,
    .boot_rom_version = 1,
    .clock_name = "gpmi",
    .platform_init = gpmi_nfc_platform_init,
    .platform_exit = gpmi_nfc_platform_exit,
    .min_prop_delay_in_ns = 5,
    .max_prop_delay_in_ns = 9,
    .max_chip_count = 2,

    .boot_area_size_in_bytes = 0,
    .partition_source_types = 0,
    .partitions = ek_nand_partition,
    .partition_count = 4,
};

a NFS rootfs is mounted OK, then mount nandflash of user partition with yaffs2:

    ~$ mount -t yaffs2 /dev/mtdblock3 /mnt/nandflash

It looks OK for mounting process. But as long as writing any data to /mnt/nandflash, the console got error message:

     "**>> Block XXX needs retiring…..."

Tracing the code of yaffs2, the error is from the function yaffs_HandleWriteChunkError( ) with ObjectID mismatched. I'm not sure if the problem is incompatible of yaffs2 with gpmi_nfc driver, and what I should do to fix the problem.

It's highly appreciated for any comments for this question. Thanks!

BR

Cheng Shi

Emtronix

Labels (1)
0 Kudos
1 Reply

648 Views
x10
Contributor V

The issue is fixed by mounting yaffs2 with option of "inband tags". Yaffs2 can work on nandflash(K9F1G08U0D 128MB) of imx28evk.

0 Kudos