*
* \version $Id$
* \author Daniele Basile <asterix@develer.com>
+ *
+ * $wizard_module = {
+ * "name" : "flash25",
+ * "depends" : ["kfile"],
+ * "configuration" : "bertos/cfg/cfg_flash25.h"
+ * }
*/
#ifndef DRV_FLASH25_H
#define DRV_FLASH25_H
-#include <cfg/compiler.h>
#include "cfg/cfg_flash25.h"
+#include <cfg/compiler.h>
#include <kern/kfile.h>
/**
* Flash25 KFile context structure.
*/
-typedef struct KFileFlash25
+typedef struct Flash25
{
KFile fd; ///< File descriptor.
KFile *channel; ///< Dataflash comm channel (usually SPI).
-} KFileFlash25;
+} Flash25;
/**
* ID for dataflash.
/**
- * Convert + ASSERT from generic KFile to KFileFlash25.
+ * Convert + ASSERT from generic KFile to Flash25.
*/
-INLINE KFileFlash25 * KFILEFLASH25(KFile *fd)
+INLINE Flash25 * FLASH25_CAST(KFile *fd)
{
ASSERT(fd->_type == KFT_FLASH25);
- return (KFileFlash25 *)fd;
+ return (Flash25 *)fd;
}
/**
* \note Below are defined valid serial flash memory support to
* this drive. Every time we call flash25_init() function we check
* if memory defined are right (see flash25.c form more detail).
- * \{
+ *
+ * $WIZARD_LIST = {
+ * "flash25_list" : ["FLASH25_AT25F2048"]
+ * }
*/
#define FLASH25_AT25F2048 1
#endif
#define RDY_BIT 0x1 // Statuts of write cycle
-/* \} */
/**
* Serial flash opcode commands.
FLASH25_SECT4 = 0x30000, ///< Sector 4 (0x30000 -0x3FFFF)
} Flash25Sector;
-void flash25_init(KFileFlash25 *fd, KFile *ch);
-void flash25_chipErase(KFileFlash25 *fd);
-void flash25_sectorErase(KFileFlash25 *fd, Flash25Sector sector);
+void flash25_init(Flash25 *fd, KFile *ch);
+void flash25_chipErase(Flash25 *fd);
+void flash25_sectorErase(Flash25 *fd, Flash25Sector sector);
bool flash25_test(KFile *channel);
#endif /* DRV_FLASH25_H */