public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Shawn Jin <shawnxtech@yahoo.com>
To: linuxmtd <linux-mtd@lists.infradead.org>
Subject: DQ7 vs DQ6 in flash erase/write
Date: Fri, 12 Mar 2004 12:52:50 -0800 (PST)	[thread overview]
Message-ID: <20040312205250.8650.qmail@web20729.mail.yahoo.com> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 2538 bytes --]

Hi,

For AMD flash chips, in order to check if programing (erase or write) is
complete, you can either poll data (DQ7) or the toggle bits (DQ6/DQ2).
These two algorithms should be equivalent. However the toggle bit algorithm
seems not working on some chips for erase, write, or both. If the current
CVS code is used, which only supports the toggle bit algorithm, the symptom
is that chip is not writable or erasable. I'm "lucky" enough to have two
types of AMD flash chips (Am29PL320D and Am29LV256M) experiencing this kind
of problem.

The problems I experienced on Am29PL320D with a MPC8245 board are
1. No data can be written into the flash
2. If you try to erase several sectors continuously, only the first sector
can be erased. No error messages are shown.

On Am29LV256M with the same board, the chip is writable but not erasable.
The error message shows flash internal timeout. However the first sector is
actually erased if you do multiple sector erasure.

After long time investigation on the problem I found the following comment
on ver 1.3 of cfi_cmdset_0002.c.

   /* The dq6 toggling method of determining whether the erase is finished
    * doesn't seem to work for the Fujistu flash chips populated on the
    * TQM8260 board. We poll dq7 instead.
    */
Someone had the similar problem long time ago! But I'm "luckier" because he
didn't have write problem.

So I used the old cfi_cmdset_002.c to solve the erase problem. I tried to
implement DQ7 algorithm for write on ver 1.3 of cfi_cmdset_002.c but
haven't succeeded. Files can be copied to flash by "cp files /dev/mtd?" but
JFFS2 is broken.

Since the toggle bit algorithm does not work on some chips with some
boards, I am wondering:
1. Why does it not work? On my custom MPC8245 board, I tried different
settings of memory control registers to adjust flash timing but had no
success. Maybe the problem is really in flash itself? Has anyone else had
the similar problem when using Am29PL320D and Am29LV256M on other boards?

2. Why was the data polling algorithm (DQ7) removed? Although it's not
prevailing, it does happen sometimes. If there is no plan to support it, at
least it's worth to be mentioned that sometimes you have to poll DQ7 to
check if erase/write is complete.

3. Will polling DQ7 be supported later? I tried to simply change
chip_status() to poll DQ7 but failed.

Any comments, suggestions? Thank you very much.

-Shawn.

__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you’re looking for faster
http://search.yahoo.com

             reply	other threads:[~2004-03-12 20:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-12 20:52 Shawn Jin [this message]
2004-03-15 10:32 ` DQ7 vs DQ6 in flash erase/write David Vrabel
2004-03-15 20:14   ` Shawn Jin
  -- strict thread matches above, loose matches on Subject: below --
2004-10-20 14:19 York Sun

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=20040312205250.8650.qmail@web20729.mail.yahoo.com \
    --to=shawnxtech@yahoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox