[U-Boot-Users] [PATCH] ppc_4xx:netstal/common fixes wrong check for flash erase

Stefan Roese sr at denx.de
Mon Jan 14 16:01:52 CET 2008


On Monday 14 January 2008, Niklaus Giger wrote:
> Fixed an error in the Netstal specific code, where sometimes a flash was
> declared as not erased, even when it was.
>
> Signed-off-by: Niklaus Giger <niklaus.giger at netstal.com>
> ---
>  board/netstal/common/hcu_flash.c |   10 +++-------
>  1 files changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/board/netstal/common/hcu_flash.c
> b/board/netstal/common/hcu_flash.c index be2cb37..d41d579 100644
> --- a/board/netstal/common/hcu_flash.c
> +++ b/board/netstal/common/hcu_flash.c
> @@ -30,6 +30,9 @@
>   * Modified 6/6/2007
>   * Added isync
>   * Niklaus Giger, Netstal Maschinen, niklaus.giger at netstal.com
> + * Modified 13/3/2007
> + * Removed check whether flash is already erased. Gave false errors.
> + * Niklaus Giger, Netstal Maschinen, niklaus.giger at netstal.com

Don't add commit logs to the source code. We have git for this. So please add 
descriptive commit texts to your commit logs.

>   *
>   */
>
> @@ -480,7 +483,6 @@ int write_buff (flash_info_t * info, uchar * src, ulong
> addr, ulong cnt) * Write a word to Flash, returns:
>   * 0 - OK
>   * 1 - write timeout
> - * 2 - Flash not erased
>   */
>  static int write_word (flash_info_t * info, ulong dest, ulong data)
>  {
> @@ -491,12 +493,6 @@ static int write_word (flash_info_t * info, ulong
> dest, ulong data) ulong start;
>  	int i;
>
> -	/* Check if Flash is (sufficiently) erased */
> -	if ((*((volatile FLASH_WORD_SIZE *) dest) &
> -	    (FLASH_WORD_SIZE) data) != (FLASH_WORD_SIZE) data) {
> -		return (2);
> -	}
> -

Wow. I don't think you really solve this problem with this patch. You are just 
lucky that everything works with this change. Could be that the pointer 
accesses are the main source of this problem. I suggest that you try to move 
to the common CFI driver which now supports non CFI flash chips via the JEDEC 
code.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================




More information about the U-Boot mailing list