From: Francesco Lodi - Tecna Srl <francesco.lodi@tecnasrl.com>
To: linux-mtd@lists.infradead.org
Subject: NAND with an OOB size of 128
Date: Mon, 09 Feb 2009 00:24:39 +0100 [thread overview]
Message-ID: <498F69B7.6010404@tecnasrl.com> (raw)
Hi all,
I am trying to make this Micron NAND flash to work:
http://www.micron.com/products/partdetail?part=MT29F32G08QAAWP
it is a 32 gigabit divided into two 16 gigabit device and now, for
simplicity, I am working only on the first one.
The kernel I am using is the last 2.6.28.4.
The flash has a spare area of 218 bytes so the MTD driver calculate an
OOB size of 128 bytes and then it throws a BUG in the function
nand_scan_tail ("no oob scheme defined for oobsize 128").
I have tried to add this schema at the beginning on nand_base.c:
static struct nand_ecclayout nand_oob_128 = {
.eccbytes = 48,
.eccpos = {
80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127},
.oobfree = {
{.offset = 2,
.length = 78}}
};
and then adding:
case 128:
chip->ecc.layout = &nand_oob_128;
in nand_scan_tail.
Doing that resolve the kernel BUG but flash_eraseall claims that it
can't read oobinfo.
I have resolved also this problem by expanding the array eccpos in the
structure nand_oobinfo to 64 even in the kernel than in the user space
utility.
Now flash_eraseall -j works fine but when I mount the device it ends with:
Cowardly refusing to erase block on filesystem with no valid JFFS2 node
After erasing the flash without the -j option I was able to mount the
device but whenever I copy a file into it I have a kernel BUG at
fs/jffs2/file.c:251
Now I am stuck at this point and I am asking if you have any suggestion
on how to use this flash.
Thanks,
Francesco
reply other threads:[~2009-02-08 23:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=498F69B7.6010404@tecnasrl.com \
--to=francesco.lodi@tecnasrl.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.