This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
RE: Intel FLASH
- From: "Doyle, Patrick" <WPD at dtccom dot com>
- To: "'Jani Monoses'" <jani at iv dot ro>, ecos-patches at sources dot redhat dot com
- Date: Fri, 26 Sep 2003 14:31:30 -0400
- Subject: RE: Intel FLASH
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.)
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 :-)
--wpd