X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fcfi.h;h=d92fcc0b1d85bf211d8fa003fbccb581c9629159;hb=513436a17accbe5494f763055124be594bef0a45;hp=fa717dc815ccdb50c5d6f1c603426a3cc149083f;hpb=f3e6f584f12dbde9ba9806ed4a412db0524d438c;p=openocd.git diff --git a/src/flash/nor/cfi.h b/src/flash/nor/cfi.h index fa717dc815..d92fcc0b1d 100644 --- a/src/flash/nor/cfi.h +++ b/src/flash/nor/cfi.h @@ -15,18 +15,16 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ***************************************************************************/ + #ifndef CFI_H #define CFI_H #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 working_area *write_algorithm; - +struct cfi_flash_bank { int x16_as_x8; int jedec_probe; int not_cfi; @@ -35,7 +33,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; @@ -68,15 +66,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; @@ -94,8 +97,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; @@ -118,8 +120,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; @@ -134,18 +135,16 @@ 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 *param; + void (*fixup)(struct flash_bank *bank, const void *param); + const void *param; }; #define CFI_MFR_AMD 0x0001 @@ -155,6 +154,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