mtd/include/linux/mtd cfi.h,1.35,1.36

Stuart Menefy stuart at infradead.org
Tue Jul 22 09:23:41 EDT 2003


Update of /home/cvs/mtd/include/linux/mtd
In directory phoenix.infradead.org:/tmp/cvs-serv24911/include/linux/mtd

Modified Files:
	cfi.h 
Log Message:
Added generic support for reading CFI extended query tables, and device IDs,
and applying fixups for buggy CFI data.

Moved all current workarounds to this structure.

Index: cfi.h
===================================================================
RCS file: /home/cvs/mtd/include/linux/mtd/cfi.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- cfi.h	28 May 2003 15:37:32 -0000	1.35
+++ cfi.h	22 Jul 2003 13:23:39 -0000	1.36
@@ -272,6 +272,25 @@
   __u8  UserProtRegSize;
 } __attribute__((packed));
 
+/* Vendor-Specific PRI for AMD/Fujitsu Extended Command Set (0x0002) */
+
+struct cfi_pri_amdstd {
+  __u8  pri[3];
+  __u8  MajorVersion;
+  __u8  MinorVersion;
+  __u8  SiliconRevision; /* bit 0: Address Sensitive Unlock */
+  __u8  EraseSuspend;
+  __u8  BlkProt;
+  __u8  TmpBlkUnprotect;
+  __u8  BlkProtUnprot;
+  __u8  SimultaneousOps;
+  __u8  BurstMode;
+  __u8  PageMode;
+  __u8  VppMin;
+  __u8  VppMax;
+  __u8  TopBottom;
+} __attribute__((packed));
+
 struct cfi_pri_query {
   __u8  NumFields;
   __u32 ProtField[1]; /* Not host ordered */
@@ -479,5 +498,20 @@
 {
 	spin_unlock_bh(mutex);
 }
+
+struct cfi_extquery *cfi_read_pri(struct map_info *map, __u16 adr, __u16 size,
+			     const char* name);
+
+struct cfi_fixup {
+	__u16 mfr;
+	__u16 id;
+	void (*fixup)(struct map_info *map, void* param);
+	void* param;
+};
+
+#define CFI_MFR_ANY 0xffff
+#define CFI_ID_ANY  0xffff
+
+void cfi_fixup(struct map_info *map, struct cfi_fixup* fixups);
 
 #endif /* __MTD_CFI_H__ */




More information about the linux-mtd-cvs mailing list