X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fcfi.h;h=04153b688075287cb6be558774a7bb584ff901bd;hp=565a2b6cf64878a27230fcba64ed2b8edf20024a;hb=87a9ee3625c942d86db76b2d9be67c9e17e3bd63;hpb=2b2d5ec1e38efdd10ec64f8e880588350fb4edea diff --git a/src/flash/nor/cfi.h b/src/flash/nor/cfi.h index 565a2b6cf6..04153b6880 100644 --- a/src/flash/nor/cfi.h +++ b/src/flash/nor/cfi.h @@ -17,16 +17,14 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ + #ifndef CFI_H #define CFI_H -#include - #define CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7 0xE0 /* DQ5..DQ7 */ #define CFI_STATUS_POLL_MASK_DQ6_DQ7 0xC0 /* DQ6..DQ7 */ -struct cfi_flash_bank -{ +struct cfi_flash_bank { struct working_area *write_algorithm; int x16_as_x8; @@ -37,7 +35,7 @@ struct cfi_flash_bank uint16_t manufacturer; uint16_t device_id; - char qry[3]; + uint8_t qry[3]; /* identification string */ uint16_t pri_id; @@ -70,15 +68,20 @@ struct cfi_flash_bank void *pri_ext; void *alt_ext; + + /* calculated timeouts */ + unsigned word_write_timeout; + unsigned buf_write_timeout; + unsigned block_erase_timeout; + unsigned chip_erase_timeout; }; /* Intel primary extended query table * as defined for the Advanced+ Boot Block Flash Memory (C3) * and used by the linux kernel cfi driver (as of 2.6.14) */ -struct cfi_intel_pri_ext -{ - char pri[3]; +struct cfi_intel_pri_ext { + uint8_t pri[3]; uint8_t major_version; uint8_t minor_version; uint32_t feature_support; @@ -96,8 +99,7 @@ struct cfi_intel_pri_ext /* Spansion primary extended query table as defined for and used by * the linux kernel cfi driver (as of 2.6.15) */ -struct cfi_spansion_pri_ext -{ +struct cfi_spansion_pri_ext { uint8_t pri[3]; uint8_t major_version; uint8_t minor_version; @@ -120,8 +122,7 @@ struct cfi_spansion_pri_ext /* Atmel primary extended query table as defined for and used by * the linux kernel cfi driver (as of 2.6.20+) */ -struct cfi_atmel_pri_ext -{ +struct cfi_atmel_pri_ext { uint8_t pri[3]; uint8_t major_version; uint8_t minor_version; @@ -136,17 +137,15 @@ enum { CFI_UNLOCK_5555_2AAA, }; -struct cfi_unlock_addresses -{ +struct cfi_unlock_addresses { uint32_t unlock1; uint32_t unlock2; }; -struct cfi_fixup -{ +struct cfi_fixup { uint16_t mfr; uint16_t id; - void (*fixup)(struct flash_bank *flash, void *param); + void (*fixup)(struct flash_bank *bank, void *param); void *param; }; @@ -157,6 +156,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