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

cheng gao jianminggao at gmail.com
Wed Jul 15 03:25:12 CEST 2009


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.


More information about the U-Boot mailing list