* [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux
@ 2009-03-18 2:41 Jesus Alvarez
2009-03-18 10:38 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-18 14:45 ` Nicolas Ferre
0 siblings, 2 replies; 4+ messages in thread
From: Jesus Alvarez @ 2009-03-18 2:41 UTC (permalink / raw)
To: u-boot
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux
2009-03-18 2:41 [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux Jesus Alvarez
@ 2009-03-18 10:38 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-18 12:39 ` Jesus Alvarez
2009-03-18 14:45 ` Nicolas Ferre
1 sibling, 1 reply; 4+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-03-18 10:38 UTC (permalink / raw)
To: u-boot
On 22:41 Tue 17 Mar , Jesus Alvarez wrote:
> 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?
yes if they do not use the same ECC algo they will see the data corrupted and
they will try to fix it
Best Regards,
J.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux
2009-03-18 10:38 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-03-18 12:39 ` Jesus Alvarez
0 siblings, 0 replies; 4+ messages in thread
From: Jesus Alvarez @ 2009-03-18 12:39 UTC (permalink / raw)
To: u-boot
> yes if they do not use the same ECC algo they will see the data corrupted
> and
> they will try to fix it
Thanks for your response. Yet I could not find CONFIG_ options in U-Boot
equivalent to the atmel_nand options in the kernel. It seems like the U-Boot
NAND writes and the kernel NAND writes (when CONFIG_MTD_NAND_ATMEL is
selected) will use different logic for ECC and OOB layout.
Should the U-Boot "nand write.jffs2" command be avoided with AT91 targets
using post-2.6.27 kernels? Or are there U-Boot CONFIG_ options compatible
with the atmel_nand options in the current kernels?
Regards,
Jesus Alvarez
--
View this message in context: http://www.nabble.com/-U-Boot--AT91%3A-NAND-OOB-and-ECC-in-U-Boot-vs-Linux-tp22572030p22578266.html
Sent from the Uboot - Users mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux
2009-03-18 2:41 [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux Jesus Alvarez
2009-03-18 10:38 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-03-18 14:45 ` Nicolas Ferre
1 sibling, 0 replies; 4+ messages in thread
From: Nicolas Ferre @ 2009-03-18 14:45 UTC (permalink / raw)
To: u-boot
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,
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-03-18 14:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-18 2:41 [U-Boot] AT91: NAND OOB and ECC in U-Boot vs Linux Jesus Alvarez
2009-03-18 10:38 ` Jean-Christophe PLAGNIOL-VILLARD
2009-03-18 12:39 ` Jesus Alvarez
2009-03-18 14:45 ` Nicolas Ferre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox