[U-Boot-Users] RE: problems with the strataflash driver in U-boot
Brad Kemp
Brad.Kemp at Seranoa.com
Mon Feb 16 01:18:36 CET 2004
Josh,
Use the flash driver in drivers/cfi_flash.c - this is a much better version. A number of people have helped
make improvements over the original strataflash driver.
I use this driver in a 4 chip16 x 64 and a 2 chip 16 x 32 implementations.
If you have 4 chips in parrallel it should detect a 16x64 bit interface.
Brad
-----Original Message-----
From: Josh Fryman [mailto:fryman at cc.gatech.edu]
Sent: Sun 2/15/2004 2:48 PM
To: u-boot-users at lists.sourceforge.net
Cc: Brad Kemp
Subject: problems with the strataflash driver in U-boot
hi,
the strataflash driver (used in the U-boot boot loader project) is getting
confused by the configuration of flash i've got. i'm CC'ing Brad Kemp, the
author of the driver, as i'm not sure he's a developer of U-boot.
the intel sitsang platform has the 28F128J3 (A150) on it. it has 4 of these
16MB chips, set up to make a 32-bit wide flash interface. the address lines
and flash bank enables are shared for both chips in a block.
ie:
0-32MB: high-data chip 1 low-data chip 0
32-64MB: high-data chip 3 low-data chip 2
should the driver support this? it seems to be getting very confused right
in the beginnining of initialization, with flash_get_size() calling
flash_isequal() which does this pattern of data xfer... (i've tossed in a lot
of debug statements :)
Flash Driver initializing...
flash_isequal: tgt = 00000010 (sect 0 ofs 16)
flash_isequal: cptr-8[0]=0x14, cword=0x51
flash_isequal: retval = 0
flash_isequal: tgt = 00000020 (sect 0 ofs 16)
flash_isequal: cptr-16[0]=0x0000, cword=0x5151
flash_isequal: retval = 0
flash_isequal: tgt = 00000020 (sect 0 ofs 16)
flash_isequal: cptr-16[0]=0x0260, cword=0x5100
flash_isequal: retval = 0
flash_isequal: tgt = 00000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0x00510051, cword=0x51515151
flash_isequal: retval = 0
flash_isequal: tgt = 00000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0xa1fe0000, cword=0x51005100
flash_isequal: retval = 0
flash_isequal: tgt = 00000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0xa1fe0000, cword=0x51000000
flash_isequal: retval = 0
flash detect base 0, bank 0 failed
Flash bank 0 reported size 0x00000000
## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0x00000000 MB
flash_isequal: tgt = 02000010 (sect 0 ofs 16)
flash_isequal: cptr-8[0]=0x0e, cword=0x51
flash_isequal: retval = 0
flash_isequal: tgt = 02000020 (sect 0 ofs 16)
flash_isequal: cptr-16[0]=0x0000, cword=0x5151
flash_isequal: retval = 0
flash_isequal: tgt = 02000020 (sect 0 ofs 16)
flash_isequal: cptr-16[0]=0xe195, cword=0x5100
flash_isequal: retval = 0
flash_isequal: tgt = 02000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0x00510051, cword=0x51515151
flash_isequal: retval = 0
flash_isequal: tgt = 02000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0x2523fa29, cword=0x51005100
flash_isequal: retval = 0
flash_isequal: tgt = 02000040 (sect 0 ofs 16)
flash_isequal: cptr-32[0]=0x2523fa29, cword=0x51000000
flash_isequal: retval = 0
flash detect base 33554432, bank 1 failed
Flash bank 1 reported size 0x00000000
## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0x00000000 MB
Flash driver done... returning size 0
Flash: 0 kB
do i just have the permutation of CFG_foo flags set wrong?
thanks for any input,
-josh
More information about the U-Boot
mailing list