[U-Boot-Users] 16BIT SPANSION Flash writing problem with CFI Driver
Tolunay Orkun
listmember at orkun.us
Tue Nov 21 00:39:01 CET 2006
Sam Song wrote:
>> non-buffered writes I believe the write timeout of 0
>> may be the problem. Typically these values are set
>> to 0 if the feature is not supported but
>> the datasheet gives program sequence as well. Please
>> override the data read from CFI regarding write
>> timeout with a non zero value (say 1ms
>> timeout) and see what happens. Perhaps, they set the
>>
>
> With this hacking way as suggested, it simply worked
> fine! I tried programming a 1.4MB files several times.
> No probelm.
>
Glad to hear that the hack has worked.
> --- drivers/cfi_flash.c 17 Nov 2006 09:02:43 -0000
> 1.2
> +++ drivers/cfi_flash.c 20 Nov 2006 03:41:43 -0000
> 1.3
> @@ -1107,7 +1107,12 @@ ulong flash_get_size (ulong
> +#ifndef CONFIG_S29GL064M
> info->write_tout = (tmp * (1 << flash_read_uchar
> (info, FLASH_OFFSET_WMAX_TOUT))) / 1000;
> +#else
> + info->write_tout = 1; /* Suggested by Tolunay */
> +#endif /* CONFIG_S29GL064M */
> +
>
Instead of a chip specific solution we should try to find more
generalized solution. At minimum, we could always use 1 if the value
turns out to be 0 after calculation.
Or maybe we should examine the DQ7 toggle check to see if there is a
race condition. If there is a race condition there we should fix that
problem instead.
Best regards,
Tolunay
More information about the U-Boot
mailing list