public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: alfred hitch <alfred.hitch@gmail.com>
To: "ghannon@cspi.com" <ghannon@cspi.com>
Cc: linux-mtd@lists.infradead.org, Peter Wippich <pewi@gw-instruments.de>
Subject: Re: sector locks handling for J3 flashes?
Date: Thu, 12 Jan 2006 02:26:58 -0500	[thread overview]
Message-ID: <29f916510601112326o7b720454h9ac537c66e84c780@mail.gmail.com> (raw)
In-Reply-To: <29f916510601112218j3aaace0ct63bb1dd8b6d9ef4f@mail.gmail.com>

Just to add to last post:

Reason for asking register question is that when I enable traces in
cfi_cmdset0001.c: funcitons do_xxlock_oneblock and do_xxlock_oneblock

and call netflash <blah baah> with -u -l -b -i -n
That is invoking lock / unlock ioctls.

I see the value dumped for registers as:
before unlock: 0xfc
after unlock : 0xfc

(some erase / write's I presume)

Before Lock: 0xfc
After Lock: 0xff

1) This is apparently matching with the code, Block Status register
dump. But, if my understanding is correct the value should have bit 0
and 1 only set, rest all bits should be zero ! which isnt .. and why
is bit 1 also toggling ?

Do you also see same behaviour ? (I guess and hope not -:) )

2) Can you please point to me the place where mtd does an unlock for
all flash sectors ?

Regards,
Alfred

I will try in



On 1/12/06, alfred hitch <alfred.hitch@gmail.com> wrote:
> Hi Ghannon,
>
> Could you please share the code for lock / unlock.
> I presume that it must be based on ioctl calls to mtd , same as like
> what netlfash does with -l option ?'
>
> Our flash corruption is pretty much random as of now.
> Sometimes within a week on new boards (and while running itself, no
> resets) and sometimes as much as 3 weeks.
> Suspecting some hardware isssues, but difficult to convince them !
>
> Our requirement is pretty much similar to you, to avoid corruption
> lock some flash sectors.  No permanent lock desired.
>
> The fact you mentioned of unlock "feature" wasnt known to me, thanks a
> lot for the timely tip.
>
> One more thing, I happened to have put some traces in the lock /
> unlock handlers attached to MTD layer.
> And I observed that when netflash tried to unlock, erase, write,  lock
>  the registers value dumped were ff which became fc after lock.
> Just curious to know if these are correct as I am confused from the
> data sheet on which register is this actually .. is it the status
> register ? Block Status register ?
>
> Regards,
> Alfred
>
>
> On 1/11/06, ghannon@cspi.com <ghannon@cspi.com> wrote:
> >
> > On Wed, 11 Jan 2006, alfred hitch wrote:
> >
> > > I am actually surprised that noone is running his / her boards with
> > > flash sectors locked ?
> >
> > > I am new to embedded designs, but wont this be a pretty standard /
> > > accepted practice to lock your flash sectors ?
> >
> > We are also using that same part and we were having some flash
> > corruption at reboot, although I think it was due to an
> > error in the reset timing on the board.
> >
> > I keep the flash locked at all times except to reflash our firmware.
> > The locking and unlocking is all handled  by a userspace tool
> > we wrote up and the reflashing script takes care of doing the
> > unlock/lock around the programming step.
> >
> > I could send you the code if you would like.
> >
> > Also, one thing about the J3 part is that any "unlock" of
> > a block unlocks the whole flash, and a lock only locks one block.
> > The linux mtd drivers do not take this into consideration.
> > Although I think the lazy unlock mentioned would not have a
> > problem with it, it would just never find anything locked once
> > it unlocked the first block.
> >
> > The rev D of J3 allows you to make certain sectors permanently locked,
> > so that an unlock of one area will not unlock sectors that are
> > setup to not allow unlocking.   Be careful though, or your can turn your
> > flash into rom very easily if you have no way of stopping the code
> > before it sets up these bits.
> >
> > Gary Hannon
> >
> >
> >
> >
> >
> >
> >
>

  reply	other threads:[~2006-01-12  7:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-11 18:36 sector locks handling for J3 flashes? ghannon
2006-01-12  6:18 ` alfred hitch
2006-01-12  7:26   ` alfred hitch [this message]
2006-01-12 11:09     ` alfred hitch
  -- strict thread matches above, loose matches on Subject: below --
2006-01-11  5:54 alfred hitch
2006-01-11 10:11 ` Peter Wippich
2006-01-11 10:41   ` alfred hitch
2006-01-13  7:40   ` alfred hitch

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=29f916510601112326o7b720454h9ac537c66e84c780@mail.gmail.com \
    --to=alfred.hitch@gmail.com \
    --cc=ghannon@cspi.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=pewi@gw-instruments.de \
    /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