diff --git a/src/flash/cfi.c b/src/flash/cfi.c index 580110958..3a1e9f1a1 100644 --- a/src/flash/cfi.c +++ b/src/flash/cfi.c @@ -96,6 +96,7 @@ cfi_fixup_t cfi_jedec_fixups[] = { {CFI_MFR_FUJITSU, 0x226b, cfi_fixup_non_cfi, NULL}, {CFI_MFR_AMIC, 0xb31a, cfi_fixup_non_cfi, NULL}, {CFI_MFR_MX, 0x225b, cfi_fixup_non_cfi, NULL}, + {CFI_MFR_AMD, 0x225b, cfi_fixup_non_cfi, NULL}, {0, 0, NULL, NULL} }; @@ -110,6 +111,7 @@ cfi_fixup_t cfi_0002_fixups[] = { {CFI_MFR_FUJITSU, 0x226b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]}, {CFI_MFR_AMIC, 0xb31a, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]}, {CFI_MFR_MX, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]}, + {CFI_MFR_AMD, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]}, {CFI_MFR_ANY, CFI_ID_ANY, cfi_fixup_0002_erase_regions, NULL}, {0, 0, NULL, NULL} }; diff --git a/src/flash/non_cfi.c b/src/flash/non_cfi.c index 7b4ae3afd..632ae7e97 100644 --- a/src/flash/non_cfi.c +++ b/src/flash/non_cfi.c @@ -220,6 +220,23 @@ non_cfi_t non_cfi_flashes[] = { 0x00000000 } }, + { + .mfr = CFI_MFR_AMD, + .id = 0x225b, /* S29AL008D */ + .pri_id = 0x02, + .dev_size = 0x14, /* 2^20 = 1MB */ + .interface_desc = 0x2, /* x8 or x16 device with nBYTE */ + .max_buf_write_size = 0x0, + .num_erase_regions = 4, + .erase_region_info = + { + 0x00400000, /* 1x 16KB */ + 0x00200001, /* 2x 8KB */ + 0x00800000, /* 1x 32KB */ + 0x0100000e, /* 15x 64KB */ + 0x00000000 + } + }, { .mfr = 0, .id = 0,