aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
authorGunnar Henne <g.henne@combio.de>2011-08-18 09:52:16 +0100
committerSpencer Oliver <ntfreak@users.sourceforge.net>2011-08-18 09:55:44 +0100
commit0d5a38d82934a5886f8c1352d8ec875d4d865ad5 (patch)
tree5f8263f17188ac09bf8ec6529301a064ba8f0f98 /src/flash/nor
parent40ac04ca7a96e0dc80b65e9f017bc9ff517cc0b5 (diff)
downloadriscv-openocd-0d5a38d82934a5886f8c1352d8ec875d4d865ad5.zip
riscv-openocd-0d5a38d82934a5886f8c1352d8ec875d4d865ad5.tar.gz
riscv-openocd-0d5a38d82934a5886f8c1352d8ec875d4d865ad5.tar.bz2
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>
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/cfi.c1
-rw-r--r--src/flash/nor/cfi.h1
-rw-r--r--src/flash/nor/non_cfi.c17
3 files changed, 19 insertions, 0 deletions
diff --git a/src/flash/nor/cfi.c b/src/flash/nor/cfi.c
index f854dd6..90fdede 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 34807ee..a57b0dd 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 9c516c2..b944b72 100644
--- a/src/flash/nor/non_cfi.c
+++ b/src/flash/nor/non_cfi.c
@@ -412,6 +412,23 @@ static struct non_cfi non_cfi_flashes[] = {
}
},
{
+ .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 */
.pri_id = 0x02,