summaryrefslogtreecommitdiffstats
path: root/Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h
diff options
context:
space:
mode:
authorTom2011-08-16 13:19:29 +0200
committerTom2011-08-16 13:19:29 +0200
commit7be0213030d2ce50e618e72b5a90e4c5b63c59a4 (patch)
tree98f7f3b0d38c863153f6d95a7129d867c43b652a /Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h
parentremoved whole lib since compiled files were on index (diff)
downloadimsi-catcher-detection-7be0213030d2ce50e618e72b5a90e4c5b63c59a4.tar.gz
imsi-catcher-detection-7be0213030d2ce50e618e72b5a90e4c5b63c59a4.tar.xz
imsi-catcher-detection-7be0213030d2ce50e618e72b5a90e4c5b63c59a4.zip
checked in clean osmocombb lib
Diffstat (limited to 'Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h')
-rw-r--r--Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h b/Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h
new file mode 100644
index 0000000..9d8b33a
--- /dev/null
+++ b/Src/osmocombb/src/target/firmware/include/flash/cfi_flash.h
@@ -0,0 +1,41 @@
+
+#ifndef _CFI_FLASH_H
+#define _CFI_FLASH_H
+
+#include <stdint.h>
+
+#define FLASH_MAX_REGIONS 4
+
+typedef struct {
+ void *fr_base;
+ size_t fr_bnum;
+ size_t fr_bsize;
+} flash_region_t;
+
+typedef struct {
+ void *f_base;
+ size_t f_size;
+
+ size_t f_nregions;
+ flash_region_t f_regions[FLASH_MAX_REGIONS];
+} flash_t;
+
+typedef enum {
+ FLASH_UNLOCKED = 0,
+ FLASH_LOCKED,
+ FLASH_LOCKED_DOWN
+} flash_lock_t;
+
+int flash_init(flash_t *flash, void *base_addr);
+
+flash_lock_t flash_block_getlock(flash_t *flash, uint32_t block_offset);
+
+int flash_block_unlock(flash_t *flash, uint32_t block_offset);
+int flash_block_lock(flash_t *flash, uint32_t block_offset);
+int flash_block_lockdown(flash_t *flash, uint32_t block_offset);
+
+int flash_block_erase(flash_t *flash, uint32_t block_offset);
+
+int flash_program(flash_t *flash, uint32_t dst_offset, void *src, uint32_t nbytes);
+
+#endif