
Jesus Alvarez <jalvarez <at> micromint.com> writes:
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.
CONFIG_MTD_NAND_ATMEL_ECC_SOFT is fully compatible with u-boot management of NAND flash. Indeed CONFIG_MTD_NAND_ATMEL_ECC_HW uses a different layout of OOB (ecc just after data, at bad block notification location). If you use this option in Linux, you will have to make sure that u-boot supports it.
Regards,