From 20e4e77cdf366dedac21ff5670c54291feadfc05 Mon Sep 17 00:00:00 2001 From: drath Date: Fri, 10 Aug 2007 19:44:06 +0000 Subject: - renamed M5960 USB JTAG to "flyswatter" - make ep93xx and at91rm9200 bitbang JTAG interfaces dependant on ARM host (thanks to Vincent Palatin) - various whitespace fixes - removed various warnings - add support for Debian GNU/kFreeBSD (thanks to Uwe Hermann) - fix OpenOCD compilation for various platforms (thanks to Uwe Hermann and Vincent Palatin) - switched order of JTAG chain examination and validation (examine first, then multiple validation tries even if examination failed) - added target_request subsystem to handle requests from the target (debug messages and tracepoints implemented, future enhancements might include semihosting, all ARM7/9 only for now) - added support for GDB vFlashXXX packets (thanks to Pavel Chromy) - added support for receiving data via ARM7/9 DCC - reworked flash writing. the 'flash write' command is now deprecated and replaced by 'flash write_binary' (old syntax and behaviour) and 'flash write_image' (write image files (bin, hex, elf, s19) to a target). - added support for AMD/ST/SST 29F400B non-cfi flashes git-svn-id: svn://svn.berlios.de/openocd/trunk@190 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/flash/non_cfi.c | 86 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 77 insertions(+), 9 deletions(-) (limited to 'src/flash/non_cfi.c') diff --git a/src/flash/non_cfi.c b/src/flash/non_cfi.c index 3a74ff92..d80f3784 100644 --- a/src/flash/non_cfi.c +++ b/src/flash/non_cfi.c @@ -35,13 +35,13 @@ non_cfi_t non_cfi_flashes[] = { .mfr = CFI_MFR_SST, .id = 0xd4, .pri_id = 0x02, - .dev_size = 0x10, - .interface_desc = 0x0, + .dev_size = 0x10, /* 2^16 = 64KB */ + .interface_desc = 0x0, /* x8 only device */ .max_buf_write_size = 0x0, .num_erase_regions = 1, .erase_region_info = { - 0x0010000f, + 0x0010000f, /* 16x 4KB */ 0x00000000 } }, @@ -49,8 +49,8 @@ non_cfi_t non_cfi_flashes[] = { .mfr = CFI_MFR_SST, .id = 0xd5, .pri_id = 0x02, - .dev_size = 0x11, - .interface_desc = 0x0, + .dev_size = 0x11, /* 2^17 = 128KB */ + .interface_desc = 0x0, /* x8 only device */ .max_buf_write_size = 0x0, .num_erase_regions = 1, .erase_region_info = @@ -63,8 +63,8 @@ non_cfi_t non_cfi_flashes[] = { .mfr = CFI_MFR_SST, .id = 0xd6, .pri_id = 0x02, - .dev_size = 0x12, - .interface_desc = 0x0, + .dev_size = 0x12, /* 2^18 = 256KB */ + .interface_desc = 0x0, /* x8 only device */ .max_buf_write_size = 0x0, .num_erase_regions = 1, .erase_region_info = @@ -77,8 +77,8 @@ non_cfi_t non_cfi_flashes[] = { .mfr = CFI_MFR_SST, .id = 0xd7, .pri_id = 0x02, - .dev_size = 0x13, - .interface_desc = 0x0, + .dev_size = 0x13, /* 2^19 = 512KB */ + .interface_desc = 0x0, /* x8 only device */ .max_buf_write_size = 0x0, .num_erase_regions = 1, .erase_region_info = @@ -87,6 +87,74 @@ non_cfi_t non_cfi_flashes[] = { 0x00000000 } }, + { + .mfr = CFI_MFR_ST, + .id = 0xd6, /* ST29F400BB */ + .pri_id = 0x02, + .dev_size = 0x13, /* 2^19 = 512KB */ + .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 */ + 0x01000006, /* 7x 64KB */ + 0x00000000 + } + }, + { + .mfr = CFI_MFR_ST, + .id = 0xd5, /* ST29F400BT */ + .pri_id = 0x02, + .dev_size = 0x13, /* 2^19 = 512KB */ + .interface_desc = 0x2, /* x8 or x16 device with nBYTE */ + .max_buf_write_size = 0x0, + .num_erase_regions = 4, + .erase_region_info = + { + 0x01000006, /* 7x 64KB */ + 0x00800000, /* 1x 32KB */ + 0x00200001, /* 2x 8KB */ + 0x00400000, /* 1x 16KB */ + 0x00000000 + } + }, + { + .mfr = CFI_MFR_AMD, + .id = 0x22ab, /* AM29F400BB */ + .pri_id = 0x02, + .dev_size = 0x13, /* 2^19 = 512KB */ + .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 */ + 0x01000006, /* 7x 64KB */ + 0x00000000 + } + }, + { + .mfr = CFI_MFR_AMD, + .id = 0x2223, /* AM29F400BT */ + .pri_id = 0x02, + .dev_size = 0x13, /* 2^19 = 512KB */ + .interface_desc = 0x2, /* x8 or x16 device with nBYTE */ + .max_buf_write_size = 0x0, + .num_erase_regions = 4, + .erase_region_info = + { + 0x01000006, /* 7x 64KB */ + 0x00800000, /* 1x 32KB */ + 0x00200001, /* 2x 8KB */ + 0x00400000, /* 1x 16KB */ + 0x00000000 + } + }, { .mfr = 0, .id = 0, -- cgit v1.2.3