diff packages/io/flash/current/include/flash.h @ 156:b939e9cada46

Merge from eCos master repository on 2001-03-29-21:44:39-BST
author jlarmour
date Fri, 06 Apr 2001 17:20:13 +0000
parents e2d866e32dac
children 2395031e7a66
line wrap: on
line diff
--- a/packages/io/flash/current/include/flash.h
+++ b/packages/io/flash/current/include/flash.h
@@ -79,6 +79,7 @@ externC int printf(char* fmt, ...);
 #define FLASH_ERR_DRV_VERIFY      0x0b  // Driver failed to verify data
 #define FLASH_ERR_DRV_TIMEOUT     0x0c  // Driver timed out waiting for device
 #define FLASH_ERR_DRV_WRONG_PART  0x0d  // Driver does not support device
+#define FLASH_ERR_LOW_VOLTAGE     0x0e  // Not enough juice to complete job
 
 #ifdef _FLASH_PRIVATE_
 
@@ -87,6 +88,7 @@ struct flash_info {
     int   work_space_size;
     int   block_size;   // Assuming fixed size "blocks"
     int   blocks;       // Number of blocks
+    int   buffer_size;  // Size of write buffer (only defined for some devices)
     unsigned long block_mask;
     void *start, *end;  // Address range
     int   init;
@@ -96,6 +98,22 @@ externC struct flash_info flash_info;
 externC int  flash_hwr_init(void);
 externC int  flash_hwr_map_error(int err);
 
+// 
+// Some FLASH devices may require additional support, e.g. to turn on
+// appropriate voltage drivers, before any operation.
+//
+#ifdef  CYGIMP_FLASH_ENABLE
+#define FLASH_Enable CYGIMP_FLASH_ENABLE
+extern void CYGIMP_FLASH_ENABLE(void *, void *);
+#else
+#define FLASH_Enable(_start_, _end_)
+#endif
+#ifdef  CYGIMP_FLASH_DISABLE
+#define FLASH_Disable CYGIMP_FLASH_DISABLE
+extern void CYGIMP_FLASH_DISABLE(void *, void *);
+#else
+#define FLASH_Disable(_start_, _end_)
+#endif
 
 //---------------------------------------------------------------------------
 // Execution of flash code must be done inside a