flash: add stm32l Revision X support
[fw/openocd] / src / flash / nor / cfi.h
index e2ff808b49f4732c42ed396a133ec86431c45980..04153b688075287cb6be558774a7bb584ff901bd 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, 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 cfi_flash_bank {
        struct working_area *write_algorithm;
 
        int x16_as_x8;
@@ -68,14 +68,19 @@ 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
-{
+struct cfi_intel_pri_ext {
        uint8_t pri[3];
        uint8_t major_version;
        uint8_t minor_version;
@@ -94,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;
@@ -118,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;
@@ -134,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;
 };
 
@@ -155,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