comparison spiflash.h @ 80:1a4573062b37

Reshuffle in preparation for being able to have a common API for SPI flash and (emulated) EEPROM.
author Daniel O'Connor <darius@dons.net.au>
date Sun, 07 Jul 2013 22:49:02 +0930
parents flash.h@aaf0603d7f88
children
comparison
equal deleted inserted replaced
79:cecb0506f4b8 80:1a4573062b37
1 void spiflashcmd(int argc, char **argv);
2 uint16_t spiflashreadid(void);
3 uint8_t spiflashreadstatus(void);
4 void spiflashwritestatus(uint8_t status);
5 void spiflashwritectl(int enable);
6 void spiflash4kerase(uint32_t addr);
7 uint8_t spiflashread(uint32_t addr);
8 void spiflashenablewrite(void);
9 void spiflashwrite(uint32_t addr, uint8_t data);
10 void spiflashwait(void);
11 int spiflashreadblock(uint32_t addr, uint32_t len, void *_data);
12 int spiflashwriteblock(uint32_t addr, uint32_t len, void *_data);
13 uint32_t spiflashcrcblock(uint32_t addr, uint32_t len);
14 void spiflashprintstatus(uint8_t status, FILE *out);
15
16 /* Streaming read/write */
17 void spiflashstartread(uint32_t addr);
18 uint8_t spiflashreadbyte(void);
19 void spiflashstartwrite(uint32_t addr, uint16_t data);
20 void spiflashwriteword(uint16_t data);
21 void spiflashstopread(void);
22 void spiflashstopwrite(void);
23
24 #define FL_BUSY (1<<0)
25 #define FL_WEL (1<<1)
26 #define FL_BP0 (1<<2)
27 #define FL_BP1 (1<<3)
28 #define FL_BP2 (1<<4)
29 #define FL_BP3 (1<<5)
30 #define FL_AAI (1<<6)
31 #define FL_BPL (1<<7)
32
33 #define FL_READ 0x03
34 #define FL_HSREAD 0x0b
35 #define FL_4KERASE 0x20
36 #define FL_32KERASE 0x52
37 #define FL_64KERASE 0xd8
38 #define FL_CHIPERASE 0x60
39 #define FL_BYTEPROG 0x02
40 #define FL_AAIWP 0xad
41 #define FL_RDSR 0x05
42 #define FL_EWSR 0x50
43 #define FL_WRSR 0x01
44 #define FL_WREN 0x06
45 #define FL_WRDI 0x04
46 #define FL_RDID 0x90
47 #define FL_JEDECID 0x9f
48 #define FL_EBSY 0x70
49 #define FL_DBSY 0x80
50