[U-Boot] Flash Erase and Write timeout for S29GL512P

Wolfgang Denk
2010-05-25T11:41:09Z

Dear prakash bedge,

In message <AANLkTilsrQ2jt8A2d9Lczd1uJHRa_3BcofQOjphinnyT@mail.gmail.com> you wrote:
>
> >> Be careful. 1024 s is chip erase time, but we use sector erase only, so
> it's only 3.5 seconds.
> It would be really helpful if you please explain how 3.5 seconds come; since
> the S29GL512P datasheet says sector erase operation time is 0.5 seconds and
> program operation time is 64 microseconds.

The data sheet "S29GL-P MirrorBit? Flash Family" (see
http://www.spansion.com/Support/Datasheets/S29GL-P_00_A12_e.pdf) reads
in "Table 11.8 Erase And Programming Performance" (page 67):

Parameter Typ Max Unit Comments
Sector Erase Time 0.5 3.5 sec

So the 0.5 seconds you are referring to is the "Typical program and
erase times assume the following conditions: 25?C, 3.6 V VCC, 10,000
cycles, checkerboard pattern."

The 3.5 seconds I listed was " Under worst case conditions of -40?C,
VCC = 3.0 V, 100,000 cycles."

Obviously it is necessary to adjust this timeout for worst case
conditions.

> What values I should put in my config file?
> #define CONFIG_SYS_FLASH_ERASE_TOUT ?? /* Timeout for Flash Erase (in
> ms) */

I would use 5000 here (i. e. 5 seconds, which is 3.5 plus some safety
margin).

> #define CONFIG_SYS_FLASH_WRITE_TOUT ?? /* Timeout for Flash Write (in ms) */

Here we have to calculate the timing based on the Write Buffer
Programming Time.

> I seen canyonlands.h and I think it is also 64 MB flash.
...
> #define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in
> ms) */
> #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in
> ms) */

So - did you try using these values? And did they not work for you?

> But I myself is not geting satsifed why I should use these values since they
> are not as per the flash datasheet.

They are timeouts, and they are most ptobably defensively set.

I don't understand your problem. Keep in mind that these timeouts
don't play any role as long as the chip is working normally - they
apply only in the error case. And if your flash chip cannot be erased
or programmed any more it does not really matter if you find out
after 3.5 or after 5 or even after 12 seconds - you will lose much
more time after that ;-)

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Death. Destruction. Disease. Horror. That's what war is all about.
That's what makes it a thing to be avoided.
-- Kirk, "A Taste of Armageddon", stardate 3193.0