sector locks handling for J3 flashes?

alfred hitch alfred.hitch at
Thu Jan 12 01:18:00 EST 2006

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 ?


On 1/11/06, ghannon at <ghannon at> 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

More information about the linux-mtd mailing list