summaryrefslogtreecommitdiff
path: root/src/flash/cfi.h
diff options
context:
space:
mode:
authordrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-11 14:25:12 +0000
committerdrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-11 14:25:12 +0000
commita48a5e6d94dc98cf69d15be133ae7b8283126bbe (patch)
treec1c3fda3f64a7d47af5591c4f96f55a83d47b2a7 /src/flash/cfi.h
parent98da554bbd560fa5af0c639140fe34e211bf38da (diff)
downloadopenocd+libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.gz
openocd+libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.bz2
openocd+libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.xz
openocd+libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.zip
- disabled excessive debug output in jtag.h
- output all of EmbeddedICE version register in error message - update OpenOCD's idea of the current core mode, and immediately change core mode, on CPSR changes - added support for CFI cmdset 0002 (patch by Andrew Dyer, thanks a lot) - enhanced CFI cmdset 0002 support to Atmel AT49 flashes (thanks to Joerg Krein for providing test hardware) git-svn-id: svn://svn.berlios.de/openocd/trunk@138 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/flash/cfi.h')
-rw-r--r--src/flash/cfi.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/flash/cfi.h b/src/flash/cfi.h
index d9700be2..fa53f0d8 100644
--- a/src/flash/cfi.h
+++ b/src/flash/cfi.h
@@ -28,6 +28,11 @@ typedef struct cfi_flash_bank_s
struct target_s *target;
working_area_t *write_algorithm;
working_area_t *erase_check_algorithm;
+
+ int x16_as_x8;
+
+ u16 manufacturer;
+ u16 device_id;
char qry[3];
@@ -83,4 +88,55 @@ typedef struct cfi_intel_pri_ext_s
u8 extra[0];
} cfi_intel_pri_ext_t;
+/* Spansion primary extended query table as defined for and used by
+ * the linux kernel cfi driver (as of 2.6.15)
+ */
+typedef struct cfi_spansion_pri_ext_s
+{
+ u8 pri[3];
+ u8 major_version;
+ u8 minor_version;
+ u8 SiliconRevision; /* bits 1-0: Address Sensitive Unlock */
+ u8 EraseSuspend;
+ u8 BlkProt;
+ u8 TmpBlkUnprotect;
+ u8 BlkProtUnprot;
+ u8 SimultaneousOps;
+ u8 BurstMode;
+ u8 PageMode;
+ u8 VppMin;
+ u8 VppMax;
+ u8 TopBottom;
+ int _reversed_geometry;
+} cfi_spansion_pri_ext_t;
+
+/* Atmel primary extended query table as defined for and used by
+ * the linux kernel cfi driver (as of 2.6.20+)
+ */
+typedef struct cfi_atmel_pri_ext_s
+{
+ u8 pri[3];
+ u8 major_version;
+ u8 minor_version;
+ u8 features;
+ u8 bottom_boot;
+ u8 burst_mode;
+ u8 page_mode;
+} cfi_atmel_pri_ext_t;
+
+typedef struct cfi_fixup_s
+{
+ u16 mfr;
+ u16 id;
+ void (*fixup)(flash_bank_t *flash, void *param);
+ void *param;
+} cfi_fixup_t;
+
+#define CFI_MFR_AMD 0x0001
+#define CFI_MFR_ATMEL 0x001F
+#define CFI_MFR_ST 0x0020 /* STMicroelectronics */
+
+#define CFI_MFR_ANY 0xffff
+#define CFI_ID_ANY 0xffff
+
#endif /* CFI_H */