summaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2010-05-10 22:18:24 -0600
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-05-11 20:10:08 +0200
commit6f03e92959008708ac6808df679f5729f6683166 (patch)
treeee1ce83c0526968bcf99248db42d73b1832bee3e /src/flash/nor
parent4e022886d63bc05502ae51264ce9ba85e8c188c1 (diff)
downloadopenocd_libswd-6f03e92959008708ac6808df679f5729f6683166.tar.gz
openocd_libswd-6f03e92959008708ac6808df679f5729f6683166.tar.bz2
openocd_libswd-6f03e92959008708ac6808df679f5729f6683166.tar.xz
openocd_libswd-6f03e92959008708ac6808df679f5729f6683166.zip
Fujitsu MBM29SL800TE flash support
Hi, This is my first post to the list. First, I would like to thank everyone for their work on OpenOCD, it is a great tool to work with. I have been using it to debug code on hardware for the Rockbox project (www.rockbox.org). The target that I primarily work with has a Spansion/Fujitsu NOR flash (MBM29SL800TE). I attached a patch that adds support for this flash. I hope it can be included in the main repository. If there is something that needs to be changed with the patch before inclusion please let me know. -Karl Kurbjun
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/cfi.c1
-rw-r--r--src/flash/nor/non_cfi.c17
2 files changed, 18 insertions, 0 deletions
diff --git a/src/flash/nor/cfi.c b/src/flash/nor/cfi.c
index aa4540af..2235c85c 100644
--- a/src/flash/nor/cfi.c
+++ b/src/flash/nor/cfi.c
@@ -57,6 +57,7 @@ static const struct cfi_fixup cfi_0002_fixups[] = {
{CFI_MFR_SST, 0x00D7, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
{CFI_MFR_SST, 0x2780, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
{CFI_MFR_ATMEL, 0x00C8, cfi_fixup_atmel_reversed_erase_regions, NULL},
+ {CFI_MFR_FUJITSU, 0x22ea, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
{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]},
diff --git a/src/flash/nor/non_cfi.c b/src/flash/nor/non_cfi.c
index b49e4415..e0ea568a 100644
--- a/src/flash/nor/non_cfi.c
+++ b/src/flash/nor/non_cfi.c
@@ -280,6 +280,23 @@ static struct non_cfi non_cfi_flashes[] = {
ERASE_REGION(15, 64*KB)
}
},
+ {
+ .mfr = CFI_MFR_FUJITSU,
+ .id = 0x22ea, /* MBM29SL800TE */
+ .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(15, 64*KB),
+ ERASE_REGION(1, 32*KB),
+ ERASE_REGION(2, 8*KB),
+ ERASE_REGION(1, 16*KB)
+ }
+ },
{
.mfr = CFI_MFR_FUJITSU,
.id = 0xba, /* 29LV400BC */