Merge branch 'master' of git://www.denx.de/git/u-boot-mpc85xx
[platform/kernel/u-boot.git] / include / flash.h
index 8b7e824..2ed1e20 100644 (file)
@@ -52,6 +52,9 @@ typedef struct {
        ushort  ext_addr;               /* extended query table address         */
        ushort  cfi_version;            /* cfi version                          */
        ushort  cfi_offset;             /* offset for cfi query                 */
+       ulong   addr_unlock1;           /* unlock address 1 for AMD flash roms  */
+       ulong   addr_unlock2;           /* unlock address 2 for AMD flash roms  */
+       const char *name;               /* human-readable name                  */
 #endif
 } flash_info_t;
 
@@ -77,6 +80,7 @@ typedef struct {
 #define FLASH_CFI_X8           0x00
 #define FLASH_CFI_X16          0x01
 #define FLASH_CFI_X8X16                0x02
+#define FLASH_CFI_X16X32       0x05
 
 /* convert between bit value and numeric value */
 #define CFI_FLASH_SHIFT_WIDTH  3
@@ -101,6 +105,13 @@ extern void flash_read_user_serial(flash_info_t * info, void * buffer, int offse
 extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int offset, int len);
 #endif /* CFG_FLASH_PROTECTION */
 
+#ifdef CONFIG_FLASH_CFI_LEGACY
+extern ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info);
+extern int jedec_flash_match(flash_info_t *info, ulong base);
+#define CFI_CMDSET_AMD_LEGACY          0xFFF0
+#endif
+
+
 /*-----------------------------------------------------------------------
  * return codes from flash_write():
  */
@@ -119,6 +130,11 @@ extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int of
  */
 #define FLAG_PROTECT_SET       0x01
 #define FLAG_PROTECT_CLEAR     0x02
+#define        FLAG_PROTECT_INVALID    0x03
+/*-----------------------------------------------------------------------
+ * Set Environment according to label:
+ */
+#define        FLAG_SETENV             0x80
 
 /*-----------------------------------------------------------------------
  * Device IDs
@@ -252,6 +268,8 @@ extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int of
 #define STM_ID_x800AB  0x005B005B      /* M29W800AB ID (8M = 512K x 16 )       */
 #define STM_ID_29W320DT 0x22CA22CA     /* M29W320DT ID (32 M, top boot sector) */
 #define STM_ID_29W320DB 0x22CB22CB     /* M29W320DB ID (32 M, bottom boot sect)        */
+#define STM_ID_29W320ET 0x22562256     /* M29W320ET ID (32 M, top boot sector) */
+#define STM_ID_29W320EB 0x22572257     /* M29W320EB ID (32 M, bottom boot sect)*/
 #define STM_ID_29W040B 0x00E300E3      /* M29W040B ID (4M = 512K x 8)  */
 #define FLASH_PSD4256GV 0x00E9         /* PSD4256 Flash and CPLD combination   */
 
@@ -304,6 +322,7 @@ extern void flash_read_factory_serial(flash_info_t * info, void * buffer, int of
 
 #define TOSH_ID_FVT160 0xC2            /* TC58FVT160 ID (16 M, top )           */
 #define TOSH_ID_FVB160 0x43            /* TC58FVT160 ID (16 M, bottom )        */
+#define PHILIPS_LPC2292 0x0401FF13  /* LPC2292 internal FLASH                  */
 
 /*-----------------------------------------------------------------------
  * Internal FLASH identification codes