STM32 W25Qxx QuadSPI Driver
0.1a
https://github.com/Crazy-Geeks/STM32-W25Q-QSPI
|
W25Q Chip commands from datasheet. More...
Macros | |
#define | W25Q_WRITE_ENABLE 0x06U |
sets WEL bit, must be set before any write/program/erase | |
#define | W25Q_WRITE_DISABLE 0x04U |
resets WEL bit (state after power-up) | |
#define | W25Q_ENABLE_VOLATILE_SR 0x50U |
check 7.1 in datasheet | |
#define | W25Q_READ_SR1 0x05U |
read status-register 1 | |
#define | W25Q_READ_SR2 0x35U |
read status-register 2 | |
#define | W25Q_READ_SR3 0x15U |
read ststus-register 3 | |
#define | W25Q_WRITE_SR1 0x01U |
write status-register 1 (8.2.5) | |
#define | W25Q_WRITE_SR2 0x31U |
write status-register 2 (8.2.5) | |
#define | W25Q_WRITE_SR3 0x11U |
write status-register 3 (8.2.5) | |
#define | W25Q_READ_EXT_ADDR_REG 0xC8U |
read extended addr reg (only in 3-byte mode) | |
#define | W25Q_WRITE_EXT_ADDR_REG 0xC8U |
write extended addr reg (only in 3-byte mode) | |
#define | W25Q_ENABLE_4B_MODE 0xB7U |
enable 4-byte mode (128+ MB address) | |
#define | W25Q_DISABLE_4B_MODE 0xE9U |
disable 4-byte mode (<=128MB) | |
#define | W25Q_READ_DATA 0x03U |
read data by standard SPI | |
#define | W25Q_READ_DATA_4B 0x13U |
read data by standard SPI in 4-byte mode | |
#define | W25Q_FAST_READ 0x0BU |
highest FR speed (8.2.12) | |
#define | W25Q_FAST_READ_4B 0x0CU |
fast read in 4-byte mode | |
#define | W25Q_FAST_READ_DUAL_OUT 0x3BU |
fast read in dual-SPI OUTPUT (8.2.14) | |
#define | W25Q_FAST_READ_DUAL_OUT_4B 0x3CU |
fast read in dual-SPI OUTPUT in 4-byte mode | |
#define | W25Q_FAST_READ_QUAD_OUT 0x6BU |
fast read in quad-SPI OUTPUT (8.2.16) | |
#define | W25Q_FAST_READ_QUAD_OUT_4B 0x6CU |
fast read in quad-SPI OUTPUT in 4-byte mode | |
#define | W25Q_FAST_READ_DUAL_IO 0xBBU |
fast read in dual-SPI I/O (address transmits by both lines) | |
#define | W25Q_FAST_READ_DUAL_IO_4B 0xBCU |
fast read in dual-SPI I/O in 4-byte mode | |
#define | W25Q_FAST_READ_QUAD_IO 0xEBU |
fast read in quad-SPI I/O (address transmits by quad lines) | |
#define | W25Q_FAST_READ_QUAD_IO_4B 0xECU |
fast read in quad-SPI I/O in 4-byte mode | |
#define | W25Q_SET_BURST_WRAP 0x77U |
use with quad-I/O (8.2.22) | |
#define | W25Q_PAGE_PROGRAM 0x02U |
program page (256bytes) by single SPI line | |
#define | W25Q_PAGE_PROGRAM_4B 0x12U |
program page by single SPI in 4-byte mode | |
#define | W25Q_PAGE_PROGRAM_QUAD_INP 0x32U |
program page (256bytes) by quad SPI lines | |
#define | W25Q_PAGE_PROGRAM_QUAD_INP_4B 0x34U |
program page by quad SPI in 4-byte mode | |
#define | W25Q_SECTOR_ERASE 0x20U |
sets all 4Kbyte sector with 0xFF (erases it) | |
#define | W25Q_SECTOR_ERASE_4B 0x21U |
sets all 4Kbyte sector with 0xFF in 4-byte mode | |
#define | W25Q_32KB_BLOCK_ERASE 0x52U |
sets all 32Kbyte block with 0xFF | |
#define | W25Q_64KB_BLOCK_ERASE 0xD8U |
sets all 64Kbyte block with 0xFF | |
#define | W25Q_64KB_BLOCK_ERASE_4B 0xDCU |
sets all 64Kbyte sector with 0xFF in 4-byte mode | |
#define | W25Q_CHIP_ERASE 0xC7U |
fill all the chip with 0xFF | |
#define | W25Q_ERASEPROG_SUSPEND 0x75U |
suspend erase/program operation (can be applied only when SUS=0, BYSY=1) | |
#define | W25Q_ERASEPROG_RESUME 0x7AU |
resume erase/program operation (if SUS=1, BUSY=0) | |
#define | W25Q_POWERDOWN 0xB9U |
powers down the chip (power-up by reading ID) | |
#define | W25Q_POWERUP 0xABU |
release power-down | |
#define | W25Q_DEVID 0xABU |
read Device ID (same as powerup) | |
#define | W25Q_FULLID 0x90U |
read Manufacturer ID & Device ID | |
#define | W25Q_FULLID_DUAL_IO 0x92U |
read Manufacturer ID & Device ID by dual I/O | |
#define | W25Q_FULLID_QUAD_IO 0x94U |
read Manufacturer ID & Device ID by quad I/O | |
#define | W25Q_READ_UID 0x4BU |
read unique chip 64-bit ID | |
#define | W25Q_READ_JEDEC_ID 0x9FU |
read JEDEC-standard ID | |
#define | W25Q_READ_SFDP 0x5AU |
read SFDP register parameters | |
#define | W25Q_ERASE_SECURITY_REG 0x44U |
erase security registers | |
#define | W25Q_PROG_SECURITY_REG 0x42U |
program security registers | |
#define | W25Q_READ_SECURITY_REG 0x48U |
read security registers | |
#define | W25Q_IND_BLOCK_LOCK 0x36U |
make block/sector read-only | |
#define | W25Q_IND_BLOCK_UNLOCK 0x39U |
disable block/sector protection | |
#define | W25Q_READ_BLOCK_LOCK 0x3DU |
check block/sector protection | |
#define | W25Q_GLOBAL_LOCK 0x7EU |
global read-only protection enable | |
#define | W25Q_GLOBAL_UNLOCK 0x98U |
global read-only protection disable | |
#define | W25Q_ENABLE_RST 0x66U |
enable software-reset ability | |
#define | W25Q_RESET 0x99U |
make software reset | |
W25Q Chip commands from datasheet.