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