Accessing flash directly from User Space

Scott Wood scottwood at freescale.com
Fri Oct 30 03:33:00 EST 2009


On Tue, Oct 27, 2009 at 04:52:40PM -0600, Jonathan Haws wrote:
> > Will the device respond to 0x1234 being written at offset zero?  You
> > generally have to poke these things pretty specifically in order to
> > get
> > them to go into command mode.
> > 
> 
> It should because that is the first data location in flash. 

I don't follow.  Even if you have an Intel command set flash (and thus don't
need unlock writes), 0x1234 isn't a valid command that I know of.  The flash
doesn't behave as a register that you can read back; it just responds in a
certain way based on what you write to it.

> Also, just to be sure I am telling the truth, I tried writing to one of
> the registers to setup an erase and got the same results - the value did
> not get written.

Following the exact sequence that the driver uses?  What did you write, what
did you expect (you're generally not going to get the same thing back that
you wrote), and what did you get?  What kind of command set, bus width, and
interleaving do you have?

If you manually do the same exact accesses from a firmware prompt, external
debugger, etc. does it work?

> > > The driver works perfectly in VxWorks,

On this exact hardware?

> > Including the 0x1234 thing?
> 
> Actually, I have not tried that - I have not had to since the driver worked.

What happens without the 0x1234?

-Scott


More information about the Linuxppc-dev mailing list