[U-Boot-Users] cfi driver - wrong sector protection detection with AMD flashes
Martin Krause
Martin.Krause at tqs.de
Tue Oct 26 18:35:39 CEST 2004
Hi all,
I tried the cfi flash driver on our custom MPC5200 board (TQM5200).
It works fine with different flash chips soldered. The only problem
is with an AMD (Spansion) AM29L160M Flash. There u-boot comes up with
_all_ sectors protected:
=> flinfo
Bank # 1: CFI conformant FLASH (32 x 16) Size: 4 MB in 35 Sectors
Erase timeout 16384 ms, write timeout 0 ms, buffer write timeout 1 ms, buffer s
ize 1
Sector Start Addresses:
FC000000 RO FC008000 RO FC00C000 RO FC010000 RO FC020000 RO
FC040000 RO FC060000 ERO FC080000 ERO FC0A0000 ERO FC0C0000 ERO
FC0E0000 ERO FC100000 ERO FC120000 ERO FC140000 ERO FC160000 ERO
FC180000 ERO FC1A0000 ERO FC1C0000 ERO FC1E0000 ERO FC200000 ERO
FC220000 ERO FC240000 ERO FC260000 ERO FC280000 ERO FC2A0000 ERO
FC2C0000 ERO FC2E0000 ERO FC300000 ERO FC320000 ERO FC340000 ERO
FC360000 ERO FC380000 ERO FC3A0000 ERO FC3C0000 ERO FC3E0000 ERO
=>
I tracked down the problem to the function flash_get_size() in cfi_flash.c.
There a special mechanism is used to query the flash for the protection
status of each sector. As far as I know, the used mechanism is not part of
the CFI Spec. And worse the mechanism is different for Intel and AMD
(Spansion).
For Intel flashes the sector protection status could be read when the flash
is in the CFI query state (at offset 02h on each sector address). For AMD
flashes this works only in the "autoselect" mode and in the actual driver
the "autoselect" mode is not used. And I could not say, if autoselect and CFI
Query mode would work at the same time.
I wonder if anyone else encountered similar problems with AMD flahes and
sector protection detection?
As solution for flashes with AMD command set I disabled the sector
protection detection in the cfi driver (see patch). Comments are welcome.
Is there anybody out there who uses the cfi driver and _really_ protected
flash sectors (not the software based protection used by u-boot)? If not,
we could perhaps disable the protection detection mechanism completely. Also
because the used mechanism is not part of the cfi specification.
Regards,
Martin
------------------------------------------------------------------
Martin Krause
TQ-Systems GmbH
Gut Delling, Mühlstr. 2, 82229 Seefeld, Germany
Fax: +49 8153 4223
Phone: +49 8153 9308 157
Personal Fax: +49 8153 9308 7157
Email: martin.krause at tqs.de
http://www.tq-group.com
------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch
Type: application/octet-stream
Size: 877 bytes
Desc: patch
Url : http://lists.denx.de/pipermail/u-boot/attachments/20041026/3a9bb726/attachment.obj
More information about the U-Boot
mailing list