how to support 4096+224 page size with plat_nand ?
Brian Norris
computersforpeace at gmail.com
Fri Mar 16 19:16:56 EDT 2012
On Fri, Mar 16, 2012 at 7:05 AM, Brian Foster <brian.foster at maxim-ic.com> wrote:
> We have also used 4K + 224 NAND (not sure if the
> same part or not) with ‘plat_nand’ (and also with
> our own driver which uses our chip's ECC engine),
> in a v2.6.36-based Linux kernel. (The kernel's
> version _may_ be important, since I _think_ some
> later kernels directly support 224 (and 218 and
> maybe 256) OOB sizes; and/or correctly detecting
> the eraseblock size.)
Timothy's part is an ONFI-compliant device, and I think ONFI support
was added after 2.6.36.
> We didn't bother using the full 224-byts of OOB,
> but instaed are treating the device as having
> only 128-bytes of OOB. Works fine, albeit we
> did have to add the part to the nand_flash_ids[]
> table since the eraseblock size wasn't correctly
> detected.
In recent kernels, you shouldn't have to modify anything for the
size/eraseblock/etc. to be *detected* properly since ONFI will find
it, but depending on the driver, the OOB size may not be supported.
For instance, since the plat_nand driver uses the nand_base layouts
(as you noticed), you need to at least supply *some* ECC layout that
is valid. Just make sure the ECC strength is high enough for your
device...
Brian
More information about the linux-mtd
mailing list