Fabio, Thanks for the input but there is a problem with your suggestion. The kernel driver is in error. I don't believe the driver as is will even work on i.MX25. The register layout is wrong. I can't go into all the details here but two quick examples I found are:
The ECC_STATUS on i.MX25 (v1.1) is in two registers at offsets 0x1e0e and 0x1e10. The driver in the kernel only looks at the result for the first 512 byte block in the first register and ignores the rest. The next problem is the SPAS (Spare Area Size) Register. It is not initialized in the kernel driver and the default is not correct. I'm sure there are many other issues. My understanding is that there really are 4 versions of the nfc ip 1, 1.1, 2 and 2.1. The kernel driver is over simplifying the issue. John On Wed, Jan 13, 2010 at 8:10 AM, Fabio Estevam <fabioeste...@yahoo.com> wrote: > Hi John, > > --- On Wed, 1/13/10, John Rigby <jcri...@gmail.com> wrote: > >> From: John Rigby <jcri...@gmail.com> >> Subject: [U-Boot] [PATCH 4/9] Nand mxc_nand add v1.1 controller support >> To: u-boot@lists.denx.de >> Cc: "John Rigby" <jcri...@gmail.com> >> Date: Wednesday, January 13, 2010, 2:43 AM >> Add support for version 1.1 of the >> nfc nand flash >> controller which is on the i.mx25 soc. >> >> Use CONFIG_NAND_MXC_V1 and CONFIG_NAND_MXC_V1_1 to >> differentiate between the two supported versions. > > In order to avoid confusion and to use the same naming convention in the > kernel for the NAND controller versions on the i.MX family: can you use V1 > and V2 (instead of V1_1)? > > Check > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/mtd/nand/mxc_nand.c;h=45dec5770da0b93ea560bc812b482d7e34951a56;hb=master > > #define nfc_is_v21() (cpu_is_mx25() || cpu_is_mx35()) > #define nfc_is_v1() (cpu_is_mx31() || cpu_is_mx27()) > > Thanks, > > Fabio Estevam > > > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot