Major CFI-FLASH driver update:

* Add env-variable "unlock" to handle initial state of sectors
  (locked/unlocked).

  Only the U-Boot image and it's environment is protected,
  all other sectors are unprotected (unlocked) if flash
  hardware protection is used (CFG_FLASH_PROTECTION) and
  the environment variable "unlock" is set to "yes".

  Patch by Stefan Roese, 28 Feb 2006

* Update drivers/cfi_flash.c:
  - find_sector() called in both versions of flash_write_cfiword()
  Patch by Peter Pearse, 27th Feb 2006

* CFI support for a x8/x16 AMD/Spansion flash configured in x8 mode
  Patch by Jose Maria Lopez, 16 Jan 2006

* Add support for AMD/Spansion Flashes in flash_write_cfibuffer
  Patch by Alex Bastos and Thomas Schaefer, 2005-08-29

* Changes/fixes for drivers/cfi_flash.c:
  We *should* check if there are any error bits if the previous call
  returned ERR_OK (Otherwise we will have output an error message in
  flash_status_check() already.)  The original code would only check for
  error bits if flash_status_check() returns ERR_TIMEOUT.
  Patch by Marcus Hall, 23 Aug 2005

* Changes/fixes for drivers/cfi_flash.c:
  - Add CFG_FLASH_PROTECT_CLEAR on drivers/cfi_flash.c
  - Prohibit buffer write when buffer_size is 1 on drivers/cfi_flash.c
  Patch by Sangmoon Kim, 19 Aug 2005

* Fixes for drivers/cfi_flash.c:
  - Fix wrong timeout value usage in flash_status_check()
  - Round write_tout up when converting to msec in flash_get_size()
  - Remove clearing flash status at the end of flash_write_cfibuffer()
    which sets Intel 28F640J3 flash back to command mode on CSB472
  Patch by Tolunay Orkun, 02 July 2005
diff --git a/include/flash.h b/include/flash.h
index 069aa63..9108723 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -80,6 +80,7 @@
 extern int flash_erase	(flash_info_t *, int, int);
 extern int flash_sect_erase (ulong addr_first, ulong addr_last);
 extern int flash_sect_protect (int flag, ulong addr_first, ulong addr_last);
+extern ulong flash_get_size (ulong base, int banknum);
 
 /* common/flash.c */
 extern void flash_protect (int flag, ulong from, ulong to, flash_info_t *info);
@@ -274,6 +275,12 @@
 #define INTEL_ID_28F64K3    0x88018801	/*  64M =  32K x 255 + 32k x 4 */
 #define INTEL_ID_28F128K3   0x88028802	/* 128M =  64K x 255 + 32k x 4 */
 #define INTEL_ID_28F256K3   0x88038803	/* 256M = 128K x 255 + 32k x 4 */
+#define INTEL_ID_28F64P30T  0x88178817	/*  64M =  32K x 255 + 32k x 4 */
+#define INTEL_ID_28F64P30B  0x881A881A	/*  64M =  32K x 255 + 32k x 4 */
+#define INTEL_ID_28F128P30T 0x88188818	/* 128M =  64K x 255 + 32k x 4 */
+#define INTEL_ID_28F128P30B 0x881B881B	/* 128M =  64K x 255 + 32k x 4 */
+#define INTEL_ID_28F256P30T 0x88198819	/* 256M = 128K x 255 + 32k x 4 */
+#define INTEL_ID_28F256P30B 0x881C881C	/* 256M = 128K x 255 + 32k x 4 */
 
 #define INTEL_ID_28F160S3   0x00D000D0	/*  16M = 512K x  32 (64kB x 32)	*/
 #define INTEL_ID_28F320S3   0x00D400D4	/*  32M = 512K x  64 (64kB x 64)	*/