[U-Boot-Users] strataflash.c

Tom Guilliams tguilliams at sbs.com
Sat May 10 00:14:41 CEST 2003


I can tell you I've had some problems with a x16 in x8 mode in
strataflash.c.  Basically, the flash_detect_cfi() routine detects my
E28F128J3A chip as portwidth 2 (x16) and chipwidth 1 (x8).  All the CFI info
is read correctly.  However, any write accesses to chip (programming or
erasing) fail upon the calculated offset (it's incorrectly doubled because
of portwidth being 2).  

I had to manually force the portwidth to 1 (x8) after the flash_get_size()
routine to make everything behave for any flash operations.

I don't think the "detect" logic is correct in terms of port and chip width
for "some" devices.  However, the author - Brad Kemp - has said he's had
success on numerous other flash width devices.

Your problem sounds exactly like mine.  For a hack fix, set 

info->portwidth = 1;

for the last thing flash_get_size() does before returning the size.


-----Original Message-----
From: Frank Smith [mailto:smith at amirix.com] 
Sent: Friday, May 09, 2003 1:00 PM
To: u-boot-users at lists.sourceforge.net
Subject: [U-Boot-Users] strataflash.c


I have a board with a couple of Intel RC28F320J3A Strataflash devices.  One
device is wired to x16 mode, the other to x8 mode.

I'm trying to use the strataflash.c driver with these flash chips.  The
driver detects the flash that's in x16 mode, but not 
the one in x8 mode.  So I'm digging through the code to try to figure 
out what's up.  I've been successful in avoiding dealing with flash
programming code up until now in my life.....

If anyone knows anything about whether strataflash.c was designed to work
with x16 devices in x8 mode, I'd love to hear from you! From what I've seen
so far, I'm tending to think that it doesn't.


Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara The
only event dedicated to issues related to Linux enterprise solutions

U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net

More information about the U-Boot mailing list