[U-Boot] maybe a bug for flash write, CFI_CMDSET_AMD_LEGACY

Stefan Roese sr at denx.de
Wed Jul 15 05:48:18 CEST 2009


On Wednesday 15 July 2009 03:25:12 cheng gao wrote:
> u-boot-2009.06\drivers\mtd\cfi_flash.c
> Line: 836~845
> Function: flash_write_cfiword
>
> case CFI_CMDSET_AMD_EXTENDED:
>     case CFI_CMDSET_AMD_STANDARD:
> #ifdef CONFIG_FLASH_CFI_LEGACY
>     case CFI_CMDSET_AMD_LEGACY:
> #endif
>         sect = find_sector(info, dest);
>         flash_unlock_seq (info, sect);
>         flash_write_cmd (info, sect, info->addr_unlock1, AMD_CMD_WRITE);
>         sect_found = 1;
>         break;
>
>
> It should be :
>
>        case CFI_CMDSET_AMD_EXTENDED:
>        case CFI_CMDSET_AMD_STANDARD:
>
>         sect = find_sector(info, dest);
>         flash_unlock_seq (info, sect);
>         flash_write_cmd (info, sect, info->addr_unlock1, AMD_CMD_WRITE);
>         sect_found = 1;
>         break;
> #ifdef CONFIG_FLASH_CFI_LEGACY
>     case CFI_CMDSET_AMD_LEGACY:
>     flash_unlock_seq (info, 0);
>     flash_write_cmd (info, 0, info->addr_unlock1, AMD_CMD_WRITE);
>      sect_found = 1;
>     break;
> #endif
>
>   to make it work for SST39LF040 which is only 4k per serctor.

Take a look at the latest version of the file in mainline. It already has such 
a patch integrated:

http://git.denx.de/?p=u-boot/u-boot-cfi-
flash.git;a=commitdiff;h=b4db4a7638ef90cf0aacf7b954d9bf3043dda780

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