summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-14 06:27:46 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-14 06:27:46 +0000
commit254bde2a23d10e0bfb26577f801afaf348e4316b (patch)
tree72ac39bd1abe0768c3d8d6402fe779feb6f18831
parent4fa359b53d2681f6f5851291556a7266a97968b2 (diff)
downloadopenocd_libswd-254bde2a23d10e0bfb26577f801afaf348e4316b.tar.gz
openocd_libswd-254bde2a23d10e0bfb26577f801afaf348e4316b.tar.bz2
openocd_libswd-254bde2a23d10e0bfb26577f801afaf348e4316b.tar.xz
openocd_libswd-254bde2a23d10e0bfb26577f801afaf348e4316b.zip
Ben Bodley TEKNIQUE <ben@teknique.com> - support for the 1Mb Spansion Flash S29AL008D.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1051 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/flash/cfi.c2
-rw-r--r--src/flash/non_cfi.c17
2 files changed, 19 insertions, 0 deletions
diff --git a/src/flash/cfi.c b/src/flash/cfi.c
index 58011095..3a1e9f1a 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 7b4ae3af..632ae7e9 100644
--- a/src/flash/non_cfi.c
+++ b/src/flash/non_cfi.c
@@ -221,6 +221,23 @@ non_cfi_t non_cfi_flashes[] = {
}
},
{
+ .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,
}