
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.