From 0d5a38d82934a5886f8c1352d8ec875d4d865ad5 Mon Sep 17 00:00:00 2001 From: Gunnar Henne Date: Thu, 18 Aug 2011 09:52:16 +0100 Subject: [PATCH] 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 --- src/flash/nor/cfi.c | 1 + src/flash/nor/cfi.h | 1 + src/flash/nor/non_cfi.c | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/flash/nor/cfi.c b/src/flash/nor/cfi.c index f854dd63..90fdedec 100644 --- a/src/flash/nor/cfi.c +++ b/src/flash/nor/cfi.c @@ -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_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_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_ANY, CFI_ID_ANY, cfi_fixup_0002_erase_regions, NULL}, {CFI_MFR_ST, 0x227E, cfi_fixup_0002_write_buffer, NULL}, /* M29W128G */ diff --git a/src/flash/nor/cfi.h b/src/flash/nor/cfi.h index 34807ee2..a57b0ddc 100644 --- a/src/flash/nor/cfi.h +++ b/src/flash/nor/cfi.h @@ -161,6 +161,7 @@ struct cfi_fixup #define CFI_MFR_AMIC 0x0037 #define CFI_MFR_SST 0x00BF #define CFI_MFR_MX 0x00C2 +#define CFI_MFR_EON 0x007F #define CFI_MFR_ANY 0xffff #define CFI_ID_ANY 0xffff diff --git a/src/flash/nor/non_cfi.c b/src/flash/nor/non_cfi.c index 9c516c25..b944b72c 100644 --- a/src/flash/nor/non_cfi.c +++ b/src/flash/nor/non_cfi.c @@ -411,6 +411,23 @@ static struct non_cfi non_cfi_flashes[] = { 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, .id = 0x00c0, /* Atmel 49BV1614 */ -- 2.39.2