[U-Boot-Users] Re: Trouble in cfi_flash, help please!
Yusuf Ibrahim Ozkok
yozkok at aselsan.com.tr
Fri Jun 17 08:42:41 CEST 2005
>It depends on the chip. For some chips, all sectors are unprotected, for
>others (like the chip you're working with) only one sector is
>unprotected. What I see from the debug prints is what I suspected:
>unprotect works OK but protecting already protected sector results in
>time-out (though Intel's docs don't say it's a forbidden
>operation).
That's right, I had already thought it previously and had commented out the
code reprotecting the sectors that are not to be unprotected.
While I was capturing the debug output to send you, I used the last orijinal
cfi_flash driver, which I downloaded from CVS. But in my modified (see
below) driver it's commented out. And it still doesn't work.
********************************************************
if ((retcode =
flash_full_status_check (info, sector, info->erase_blk_tout,
prot ? "protect" : "unprotect")) == 0) {
info->protect[sector] = prot;
/*yio: commented out the following part, due to Intel 28F640C3T do not
unprotects all sectors.*/
/*Intel's unprotect unprotects all locking *
if (prot == 0) {
flash_sect_t i;
for (i = 0; i < info->sector_count; i++) {
if (info->protect[i])
flash_real_protect (info, i, 1);
}
}*/
}
return retcode;
***********************************
>Note: time-out appears after 0x60 0x01 sequence, not after
>0x60 0xD0. If you try to write/erase the sector which you tried to
>unprotect, I think you'll succeed.
That is the an other strange thing. When the region that I want to unprotect
is erased, unprotection operation works well.
But if something is written in that region it fails. (???) Since I tried it
hundreds of times, in my previous mail, I simply powered on the board and
run the protect off command ignoring this issue. Unluckily the region was
erased and you naturally observed it as if it works.
debug messages are as follows;
**********************************************
=> md ff040000
ff040000: 27051956 552d426f 6f742031 2e312e32 '..VU-Boot 1.1.2
ff040010: 20284a75 6e202037 20323030 35202d20 (Jun 7 2005 -
ff040020: 31363a31 313a3438 29000000 00000000 16:11:48).......
ff040030: 00000000 00000000 00000000 00000000 ................
ff040040: 00000000 00000000 00000000 00000000 ................
=> fli
Bank # 1: CFI conformant FLASH (64 x 16) Size: 32 MB in 135 Sectors
Erase timeout 8192 ms, write timeout 0 ms, buffer write timeout 1 ms, buffer
si
ze 1
Sector Start Addresses:
FF000000 (RO) FF040000 (RO) FF080000 (RO) FF0C0000 (RO) FF100000 (R
=> protect off ff040000 ff07ffff
Un-Protecting sectors 1..1 in bank 1
fwrite addr ff040000 cmd 50 0050005000500050 64 bit x 16 bit
fwrite addr ff040000 cmd 60 0060006000600060 64 bit x 16 bit
fwrite addr ff040000 cmd d0 00d000d000d000d0 64 bit x 16 bit
flash_is_busy: 1
long addr is at ff040000 info->portwidth = 8
addr[0] = 0x27
addr[1] = 0x5
addr[2] = 0x19
addr[3] = 0x56
addr[4] = 0x55
addr[5] = 0x2d
addr[6] = 0x42
addr[7] = 0x6f
addr[8] = 0x6f
addr[9] = 0x74
addr[a] = 0x20
addr[b] = 0x31
addr[c] = 0x2e
addr[d] = 0x31
addr[e] = 0x2e
addr[f] = 0x32
addr[10] = 0x20
addr[11] = 0x28
addr[12] = 0x4a
addr[13] = 0x75
addr[14] = 0x6e
addr[15] = 0x20
addr[16] = 0x20
addr[17] = 0x37
addr[18] = 0x20
addr[19] = 0x32
addr[1a] = 0x30
addr[1b] = 0x30
addr[1c] = 0x35
addr[1d] = 0x20
addr[1e] = 0x2d
addr[1f] = 0x20
Flash unprotect timeout at address ff040000 data 326f2037
fwrite addr ff040000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit
is= cmd 80(?) addr ff040000 is= 27051956552d426f 0080008000800080
Flash unprotect error at address ff040000
fwrite addr ff040000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit
.Un-Protected 1 sectors
=> fli
Bank # 1: CFI conformant FLASH (64 x 16) Size: 32 MB in 135 Sectors
Erase timeout 8192 ms, write timeout 0 ms, buffer write timeout 1 ms, buffer
si
ze 1
Sector Start Addresses:
Sector Start Addresses:
**************************************************
Regards
Yusuf.
######################################################################
Dikkat:
Bu elektronik posta mesaji kisisel ve ozeldir. Eger size
gonderilmediyse lutfen gondericiyi bilgilendirip mesaji siliniz.
Firmamiza gelen ve giden mesajlar virus taramasindan gecirilmekte,
guvenlik nedeni ile kontrol edilerek saklanmaktadir. Mesajdaki
gorusler ve bakis acisi gondericiye ait olup Aselsan A.S. resmi
gorusu olmak zorunda degildir.
######################################################################
Attention:
This e-mail message is privileged and confidential. If you are
not the intended recipient please delete the message and notify
the sender. E-mails to and from the company are monitored for
operational reasons and in accordance with lawful business practices.
Any views or opinions presented are solely those of the author and
do not necessarily represent the views of the company.
######################################################################
More information about the U-Boot
mailing list