From: Karl Kurbjun Date: Tue, 11 May 2010 04:18:24 +0000 (-0600) Subject: Fujitsu MBM29SL800TE flash support X-Git-Tag: v0.5.0-rc1~705 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=6f03e92959008708ac6808df679f5729f6683166;p=openocd 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 --- 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 */