view flash.h @ 25:a9cc07caa801

Add stream read/write commands.
author Daniel O'Connor <darius@dons.net.au>
date Sat, 17 Nov 2012 12:18:24 +1030
parents bd8e2cf04034
children 5c9d2e3d6591
line wrap: on
line source

void		flashcmd(char **, int);
uint16_t	flashreadid(void);
uint8_t		flashreadstatus(void);
void		flashwritestatus(uint8_t status);
void		flashwritectl(int enable);
void		flash4kerase(uint32_t addr);
uint8_t		flashread(uint32_t addr);
void		flashenablewrite(void);
void		flashwrite(uint32_t addr, uint8_t data);
void		flashwait(void);

/* Streaming read/write */
void		flashstartread(uint32_t addr);
uint8_t		flashreadbyte(void);
void		flashstartwrite(uint32_t addr, uint16_t data);
void		flashwriteword(uint16_t data);
void		flashstopread(void);
void		flashstopwrite(void);

#define FL_BUSY		(1<<0)
#define FL_WEL		(1<<1)
#define FL_BP0		(1<<2)
#define FL_BP1		(1<<3)
#define FL_BP2		(1<<4)
#define FL_BP3		(1<<5)
#define FL_AAI		(1<<6)
#define FL_BPL		(1<<7)

#define FL_READ		0x03
#define FL_HSREAD	0x0b
#define FL_4KERASE	0x20
#define FL_32KERASE	0x52
#define FL_64KERASE	0xd8
#define FL_CHIPERASE	0x60
#define FL_BYTEPROG	0x02
#define FL_AAIWP	0xad
#define FL_RDSR		0x05
#define FL_EWSR		0x50
#define FL_WRSR		0x01
#define FL_WREN		0x06
#define FL_WRDI		0x04
#define FL_RDID		0x90
#define FL_JEDECID	0x9f
#define FL_EBSY		0x70
#define FL_DBSY		0x80