Intel Fast Boot Block support
Kremer, Alex
alex.kremer at intel.com
Thu Aug 23 11:24:17 EDT 2001
Hi all, I'm resending this one -- not sure it got through.
I have a design question for the code I'm attaching
that adds support for the old Intel's TE28F*B Fast Boot Block series.
The patch is to cvs from Aug, 19. Note that it modifies
the maps/dc21285.c code and Config.in, to which my question below is
related.
As opposed to Intel's 28F*J Strata Flash series the
old Fast Boot Block series is not CFI compliant.
I couldn't even coerce it to work as a jedec.
The Lart (devices/lart.c) uses a chip from this series, but the data bus has
a totally crazy mapping.
So I wrote a module for this series somewhat based on the chips/amd_flash.c
code.
Since I have it mapped via dc21285 I modified maps/dc21285.c to probe using
my module
instead of using cfi_probe. (I also had to modify the write16, since the
code there uses,
IMO, a wrong addr. mask).
I see two problems (not counting the possible bug in dc21285_write*() code)
with what I did:
1. The dc21285.c use of cfi compliant chips is hardcoded (there should maybe
be a
way to try and probe all registered modules for the first one that
reports success,
or something like that) or should I use CONFIG_ and #ifdef
2. A minor one - the use of a certain chipset for mapping doesn't
necessarily mean that the
address and data lanes are always the same. In addition is there
some framework in plan
that captures the mapping/interleaving and bus width issues separated
for the specific chip support?
Should I maybe write a device specific modules without the maps/chips
separation, since it seems only
to complicate things?
BTW: For some reason for Intel's 28F* chips the most important is the letter
that follows the
size code, so the 28F128J means that it belongs to a Strata Flash line
which is CFI comliant,
while 28F128B belongs to the Fast Boot Block Flash line, which is
really a pre-CFI,
and the CFI code wont work.
A totally unrelated issue:
I need to edit the redboot partition table from linux.
How should I reread it? Removing and loading the modules, doesn't seem like
a nice solution,
especially since the root fs is on flash.
Should I try and add ioctl to the mtdchar/block code, so it would work like
when you use fdisk?
Kreso
More information about the linux-mtd
mailing list