map and chip drivers

Munira Ahmed munira.ahmed at radixs.com
Fri May 20 05:50:28 EDT 2005


I see

Now I understand. 

It also means that one might have to make changes to the map driver to
make adjustments according to the boards/address space used?

Can I call it a hardware abstraction layer code?

On Fri, 2005-05-20 at 10:35 +0100, Ian Campbell wrote:
> On Fri, 2005-05-20 at 17:17 +0800, Munira Ahmed wrote:
> > > Breaking things down a little more, in the mtd stack there are 3 kinds of drivers.
> > > map drivers that describe how to talk to a given flash chip.
> > > probe drivers that identify what kind of chip you have.
> > > chip drivers that know how to speak a command set and let you flash your chip.
> > 
> > 
> > I really don't understand the difference between the map and the chip
> > driver? 
> > 
> > talk to a given flash !
> > speak a command set!
> > 
> > ain't they the same?
> 
> The map driver takes care of physically accessing the flash, while the
> chip driver knows what to do with each type of flash. So the map driver
> provides the method for the chip driver to actually access the flash.
> 
> For example we have boards at work which have flash chips mapped at
> various physical addresses (differing between boards), some devices have
> paged flash, with an i/o register to select the page and a physical
> address where the current page is mapped. I'm sure there are other ways
> of arranging things.
> 
> The board-specific map drivers takes care of all these differences,
> while the chip driver is shared between multiple boards because the
> underlying chips are the same in each case.
> 
> Ian.
-- 
Munira Ahmed






More information about the linux-mtd mailing list