]> git.sur5r.net Git - u-boot/blobdiff - include/flash.h
Add support for CATcenter board (based on PPChameleon ME module)
[u-boot] / include / flash.h
index 8f20887e4b945a894ff58d7882aab5b2f986df80..52219076cb7ab3741e63140d3862806dc941c935 100644 (file)
@@ -42,7 +42,9 @@ typedef struct {
        ulong   erase_blk_tout;         /* maximum block erase timeout          */
        ulong   write_tout;             /* maximum write timeout                */
        ulong   buffer_write_tout;      /* maximum buffer write timeout         */
-
+       ushort  vendor;                 /* the primary vendor id                */
+       ushort  cmd_reset;              /* Vendor specific reset command        */
+       ushort  interface;              /* used for x8/x16 adjustments          */
 #endif
 } flash_info_t;
 
@@ -60,7 +62,17 @@ typedef struct {
 #define FLASH_CFI_BY16         0x02
 #define FLASH_CFI_BY32         0x04
 #define FLASH_CFI_BY64         0x08
+/* convert between bit value and numeric value */
+#define CFI_FLASH_SHIFT_WIDTH      3
+/*
+ * Values for the flash device interface
+ */
+#define FLASH_CFI_X8           0x00
+#define FLASH_CFI_X16          0x01
+#define FLASH_CFI_X8X16                0x02
 
+/* convert between bit value and numeric value */
+#define CFI_FLASH_SHIFT_WIDTH      3
 /* Prototypes */
 
 extern unsigned long flash_init (void);
@@ -78,6 +90,8 @@ extern int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt);
 /* board/?/flash.c */
 #if defined(CFG_FLASH_PROTECTION)
 extern int flash_real_protect(flash_info_t *info, long sector, int prot);
+extern void flash_read_user_serial(flash_info_t * info, void * buffer, int offset, int len);
+extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int offset, int len);
 #endif /* CFG_FLASH_PROTECTION */
 
 /*-----------------------------------------------------------------------
@@ -154,7 +168,9 @@ extern int flash_real_protect(flash_info_t *info, long sector, int prot);
 #define AMD_ID_DL163B  0x222B222B      /* 29DL163B ID (16 M, bottom boot sect) */
 
 #define AMD_ID_LV320T  0x22F622F6      /* 29LV320T ID (32 M, top boot sector)  */
+#define MX_ID_LV320T   0x22A722A7      /* 29LV320T by Macronix, AMD compatible */
 #define AMD_ID_LV320B  0x22F922F9      /* 29LV320B ID (32 M, bottom boot sect) */
+#define MX_ID_LV320B   0x22A822A8      /* 29LV320B by Macronix, AMD compatible */
 
 #define AMD_ID_DL322T  0x22552255      /* 29DL322T ID (32 M, top boot sector)  */
 #define AMD_ID_DL322B  0x22562256      /* 29DL322B ID (32 M, bottom boot sect) */
@@ -169,6 +185,8 @@ extern int flash_real_protect(flash_info_t *info, long sector, int prot);
 #define AMD_ID_LV640U_3        0x22012201      /* 3d ID word for AM29LV640M  at 0x3c */
 #define AMD_ID_LV128U_2 0x22122212     /* 2d ID word for AM29LV128M  at 0x38 */
 #define AMD_ID_LV128U_3 0x22002200     /* 3d ID word for AM29LV128M  at 0x3c */
+#define AMD_ID_LV256U_2 0x22122212     /* 2d ID word for AM29LV256M  at 0x38 */
+#define AMD_ID_LV256U_3 0x22012201     /* 3d ID word for AM29LV256M  at 0x3c */
 
 #define AMD_ID_LV320B_2        0x221A221A      /* 2d ID word for AM29LV320MB at 0x38 */
 #define AMD_ID_LV320B_3 0x22002200     /* 3d ID word for AM29LV320MB at 0x3c */
@@ -180,6 +198,7 @@ extern int flash_real_protect(flash_info_t *info, long sector, int prot);
 
 #define FUJI_ID_29F800BA  0x22582258   /* MBM29F800BA ID  (8M) */
 #define FUJI_ID_29F800TA  0x22D622D6   /* MBM29F800TA ID  (8M) */
+#define FUJI_ID_29LV650UE 0x22d722d7   /* MBM29LV650UE/651UE ID (8M = 128 x 32kWord) */
 
 #define SST_ID_xF200A  0x27892789      /* 39xF200A ID ( 2M = 128K x 16 )       */
 #define SST_ID_xF400A  0x27802780      /* 39xF400A ID ( 4M = 256K x 16 )       */
@@ -330,11 +349,16 @@ extern int flash_real_protect(flash_info_t *info, long sector, int prot);
 #define FLASH_AMLV128U 0x00A6          /* AMD 29LV128M    ( 128M = 8M x 16 )   */
 #define FLASH_AMLV320B  0x00A7         /* AMD 29LV320MB   ( 32M = 2M x 16 )    */
 #define FLASH_AMLV320T 0x00A8          /* AMD 29LV320MT   ( 32M = 2M x 16 )    */
+#define FLASH_AMLV256U 0x00AA          /* AMD 29LV256M    ( 256M = 16M x 16 )  */
+#define FLASH_MXLV320B  0x00AB         /* MX  29LV320MB   ( 32M = 2M x 16 )    */
+#define FLASH_MXLV320T 0x00AC          /* MX  29LV320MT   ( 32M = 2M x 16 )    */
 /* Intel 28F256L18T 256M = 128K x 255 + 32k x 4        */
 #define FLASH_28F256L18T 0x00B0
 #define FLASH_AMDL163T 0x00B2          /* AMD AM29DL163T (2M x 16 )                    */
 #define FLASH_AMDL163B 0x00B3
 
+#define FLASH_FUJLV650 0x00B4          /* Fujitsu MBM 29LV650UE/651UE          */
+
 #define FLASH_UNKNOWN  0xFFFF          /* unknown flash type                   */