This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Intel FLASH


On Fri, 2003-09-26 at 12:31, Doyle, Patrick wrote:
> OK, I tried your patch and learned that my device (28F640W18-B) had only 8
> blocks of 0x2000 bytes each.  This is significantly smaller than the 8
> Mbytes I was expecting :-).  Investigating further I see that it determines
> the number of blocks and the block size using the CFI query command.  The
> structure definition in strata.h and the code in strata.c specifes only one
> set of "erase block information".  However, my datasheet for the W18 part
> contains two sets of erase block region information.
> 
> So, now I am looking for a little guidance.  The 28xxx driver works fine
> with this device (once I made the changes to support the multiple
> partitions).  But I am concerned about propogating the proliferation of
> device drivers for, essentially, the same devices.  So, I could start
> investigating the strata driver to add support for two sets of erase block
> region information, or I could just submit my patch against the 28xxx driver
> and be done with it.
> 
> What do folks prefer?  Is the 28xxx driver to be deprecated in favor of the
> strata driver?  If I add support for the 2nd set of erase block region
> information is that going to break everything else?  (IOW do earlier data
> sheets that describe the CFI specify that bytes 0x31, 0x32, 0x33, and 0x34
> are zeros -- if so, then it shouldn't break anything.)
> 

The CFI information is supposed to be correct, so use it.  I'd like to 
get rid of the old 28Fxxx driver and use only the newer StrataFlash one.
If you have to add the idea of multiple regions, do so.  Note that what
we've been able to do on all other devices that have non-homogeneous 
regions is to collapse the small chunks into one (or more) bigger chunks
that match the other regions in the device.  E.g. a device which has 
8x0x2000 boot blocks and 7x0x10000 others would look to the system like
one that has 8x0x10000 and the driver just takes care of the magic 
(mostly dealing with erase) for the low number blocks.

> What the heck does "strata" mean anyway?  In my ignorance, I assumed that
> that was some high performance/density part from Intel that didn't look like
> a normal flash device (i.e. one with random access capabilities, block
> erase, whatever, etc...)  Now that I have looked at the device driver a
> little, I am less ignorant, but more confused :-)

StrataFlash is just what Intel calls their advanced parts.

-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]