BeRTOS
mt29f.h
Go to the documentation of this file.
00001 
00062 #ifndef DRV_MT29F_H
00063 #define DRV_MT29F_H
00064 
00065 #include "cfg/cfg_mt29f.h"
00066 
00067 #include <cfg/macros.h>
00068 //#include <cfg/compiler.h>
00069 
00070 //#include <cpu/attr.h>
00071 
00072 
00077 #define MT29F_ERR_ERASE     BV(1)   ///< Error erasing a block
00078 #define MT29F_ERR_WRITE     BV(2)   ///< Error writing a page
00079 #define MT29F_ERR_RD_TMOUT  BV(2)   ///< Read timeout
00080 #define MT29F_ERR_WR_TMOUT  BV(2)   ///< Write timeout
00081 
00087 typedef struct Mt29f
00088 {
00089     uint8_t chip_select;
00090     uint8_t status;
00091 } Mt29f;
00092 
00093 void mt29f_init(Mt29f *chip, uint8_t chip_select);
00094 bool mt29f_getDevId(Mt29f *chip, uint8_t dev_id[5]);
00095 int mt29f_blockErase(Mt29f *chip, uint32_t blk);
00096 bool mt29f_read(Mt29f *chip, uint32_t page, void *buf, uint16_t size);
00097 bool mt29f_write(Mt29f *chip, uint32_t page, const void *buf, uint16_t size);
00098 int mt29f_error(Mt29f *chip);
00099 void mt29f_clearError(Mt29f *chip);
00100 
00101 
00102 #endif /* DRV_MT29F_H */