[U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux

Jesus Alvarez jalvarez at micromint.com
Wed Mar 18 03:41:41 CET 2009


The AT91 Linux kernel patches for versions 2.6.27 or later use a separate
atmel_nand.c driver that implements some OOB and ECC options that are not
exactly the same as those in the standard kernel NAND driver (nand_base.c ,
etc.). AT91 based boards can use the CONFIG_MTD_NAND_ATMEL option to enable
the atmel_nand driver together with CONFIG_MTD_NAND_ATMEL_ECC_HW,
CONFIG_MTD_NAND_ATMEL_ECC_SOFT or CONFIG_MTD_NAND_ATMEL_ECC_NONE for the
desired ECC. The OOB layout used by that driver appears to be different.

The NAND support in U-Boot appears to be based on the standard kernel NAND
driver without the atmel_nand driver options.

Could this create the potential for incompatibilities when a NAND filesystem
is created by U-Boot for mounting from a Linux kernel using the atmel_nand
driver? Are there any kernel config options to avoid to make filesystems
initialized with the U-Boot "nand write.jffs2" command fully compatible with
the kernel MTD NAND drivers?

Thanks,
Jesus Alvarez




More information about the U-Boot mailing list