cfi: add EN29LV800BB support

Posted by telekatz@gmx.de in the bettyhacks forum for openocd
0.4.0 and integrated into 0.5.0 by Gunnar Henne.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
This commit is contained in:
Gunnar Henne 2011-08-18 09:52:16 +01:00 committed by Spencer Oliver
parent 40ac04ca7a
commit 0d5a38d829
3 changed files with 19 additions and 0 deletions

View File

@ -72,6 +72,7 @@ static const struct cfi_fixup cfi_0002_fixups[] = {
{CFI_MFR_FUJITSU, 0x226b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]}, {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_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_MX, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
{CFI_MFR_EON, 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_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}, {CFI_MFR_ANY, CFI_ID_ANY, cfi_fixup_0002_erase_regions, NULL},
{CFI_MFR_ST, 0x227E, cfi_fixup_0002_write_buffer, NULL}, /* M29W128G */ {CFI_MFR_ST, 0x227E, cfi_fixup_0002_write_buffer, NULL}, /* M29W128G */

View File

@ -161,6 +161,7 @@ struct cfi_fixup
#define CFI_MFR_AMIC 0x0037 #define CFI_MFR_AMIC 0x0037
#define CFI_MFR_SST 0x00BF #define CFI_MFR_SST 0x00BF
#define CFI_MFR_MX 0x00C2 #define CFI_MFR_MX 0x00C2
#define CFI_MFR_EON 0x007F
#define CFI_MFR_ANY 0xffff #define CFI_MFR_ANY 0xffff
#define CFI_ID_ANY 0xffff #define CFI_ID_ANY 0xffff

View File

@ -411,6 +411,23 @@ static struct non_cfi non_cfi_flashes[] = {
ERASE_REGION(1, 16*KB) ERASE_REGION(1, 16*KB)
} }
}, },
{
.mfr = CFI_MFR_EON,
.id = 0x225b, /* EN29LV800BB */
.pri_id = 0x02,
.dev_size = 1*MB,
.interface_desc = 0x2, /* x8 or x16 device with nBYTE */
.max_buf_write_size = 0x0,
.status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
.num_erase_regions = 4,
.erase_region_info =
{
ERASE_REGION(1, 16*KB),
ERASE_REGION(2, 8*KB),
ERASE_REGION(1, 32*KB),
ERASE_REGION(15, 64*KB)
}
},
{ {
.mfr = CFI_MFR_ATMEL, .mfr = CFI_MFR_ATMEL,
.id = 0x00c0, /* Atmel 49BV1614 */ .id = 0x00c0, /* Atmel 49BV1614 */