#include <board.h>
Go to the source code of this file.
Data Structures | |
struct | S25fl1Desc |
struct | S25fl1 |
Defines | |
#define | S25FL1_Size(pS25fl1) ((pS25fl1)->pDesc->size) |
#define | S25FL1_PageSize(pS25fl1) ((pS25fl1)->pDesc->pageSize) |
#define | S25FL1_BlockSize(pS25fl1) ((pS25fl1)->pDesc->blockSize) |
#define | S25FL1_Name(pS25fl1) ((pS25fl1)->pDesc->name) |
#define | S25FL1_ManId(pS25fl1) (((pS25fl1)->pDesc->jedecId) & 0xFF) |
#define | S25FL1_PageNumber(pS25fl1) (S25FL1_Size(pS25FL1) / S25FL1_PageSize(pS25fl1)) |
#define | S25FL1_BlockNumber(pS25fl1) (S25FL1_Size(pS25fl1) / S25FL1_BlockSize(pS25fl1)) |
#define | S25FL1_PagePerBlock(pS25fl1) (S25FL1_BlockSize(pS25fl1) / S25FL1_PageSize(pS25fl1)) |
#define | S25FL1_BlockEraseCmd(pS25fl1) ((pS25fl1)->pDesc->blockEraseCmd) |
#define | S25FL1_ERROR_PROTECTED 1 |
#define | S25FL1_ERROR_BUSY 2 |
#define | S25FL1_ERROR_PROGRAM 3 |
#define | S25FL1_ERROR_SPI 4 |
#define | S25FL1_STATUS_RDYBSY (1 << 0) |
#define | S25FL1_STATUS_RDYBSY_READY (0 << 0) |
#define | S25FL1_STATUS_RDYBSY_BUSY (1 << 0) |
#define | S25FL1_STATUS_WEL (1 << 1) |
#define | S25FL1_STATUS_WEL_DISABLED (0 << 1) |
#define | S25FL1_STATUS_WEL_ENABLED (1 << 1) |
#define | S25FL1_STATUS_SWP (3 << 2) |
#define | S25FL1_STATUS_SWP_PROTALL (3 << 2) |
#define | S25FL1_STATUS_SWP_PROTSOME (1 << 2) |
#define | S25FL1_STATUS_SWP_PROTNONE (0 << 2) |
#define | S25FL1_STATUS_WPP (1 << 4) |
#define | S25FL1_STATUS_WPP_NOTASSERTED (0 << 4) |
#define | S25FL1_STATUS_WPP_ASSERTED (1 << 4) |
#define | S25FL1_STATUS_EPE (1 << 5) |
#define | S25FL1_STATUS_EPE_SUCCESS (0 << 5) |
#define | S25FL1_STATUS_EPE_ERROR (1 << 5) |
#define | S25FL1_STATUS_SPRL (1 << 7) |
#define | S25FL1_STATUS_SPRL_UNLOCKED (0 << 7) |
#define | S25FL1_STATUS_SPRL_LOCKED (1 << 7) |
#define | S25FL1_READ_ARRAY 0x0B |
#define | S25FL1_READ_ARRAY_LF 0x03 |
#define | S25FL1_BLOCK_ERASE_4K 0x20 |
#define | S25FL1_BLOCK_ERASE_32K 0x52 |
#define | S25FL1_BLOCK_ERASE_64K 0xD8 |
#define | S25FL1_CHIP_ERASE_1 0x60 |
#define | S25FL1_CHIP_ERASE_2 0xC7 |
#define | S25FL1_BYTE_PAGE_PROGRAM 0x02 |
#define | S25FL1_SEQUENTIAL_PROGRAM_1 0xAD |
#define | S25FL1_SEQUENTIAL_PROGRAM_2 0xAF |
#define | S25FL1_WRITE_ENABLE 0x06 |
#define | S25FL1_WRITE_DISABLE 0x04 |
#define | S25FL1_PROTECT_SECTOR 0x36 |
#define | S25FL1_UNPROTECT_SECTOR 0x39 |
#define | S25FL1_READ_SECTOR_PROT 0x3C |
#define | S25FL1_READ_STATUS 0x05 |
#define | S25FL1_WRITE_STATUS 0x01 |
#define | S25FL1_READ_JEDEC_ID 0x9F |
#define | S25FL1_DEEP_PDOWN 0xB9 |
#define | S25FL1_RES_DEEP_PDOWN 0xAB |
#define | S25FL1_ENTER_4ADDR_MODE 0xB7 |
#define | S25FL1_EXIT_4ADDR_MODE 0xE9 |
#define | ATMEL_SPI_FLASH 0x1F |
#define | ST_SPI_FLASH 0x20 |
#define | WINBOND_SPI_FLASH 0xEF |
#define | MACRONIX_SPI_FLASH 0xC2 |
#define | SST_SPI_FLASH 0xBF |
Functions | |
void | S25fl1_Configure (S25fl1 *pS25fl1, Qspid *pQspid, uint8_t cs, uint8_t polling) |
uint8_t | S25fl1_SendCommand (S25fl1 *pS25fl1, uint8_t cmd, uint8_t cmdSize, uint8_t *pData, uint32_t dataSize, uint32_t address, QspidCallback callback, void *pArgument) |
uint8_t | S25fl1_IsBusy (S25fl1 *pS25fl1) |
const S25fl1Desc * | S25fl1_FindDevice (S25fl1 *pS25fl1, uint32_t jedecId) |
Interface for the S25fl1 SPI driver.
Definition in file s25fl1_qspi.h.
#define ATMEL_SPI_FLASH 0x1F |
SPI Flash Manufacturer JEDEC ID
Definition at line 158 of file s25fl1_qspi.h.
#define S25FL1_BLOCK_ERASE_32K 0x52 |
Block erase command code (32K block).
Definition at line 118 of file s25fl1_qspi.h.
#define S25FL1_BLOCK_ERASE_4K 0x20 |
Block erase command code (4K block).
Definition at line 116 of file s25fl1_qspi.h.
#define S25FL1_BLOCK_ERASE_64K 0xD8 |
Block erase command code (64K block).
Definition at line 120 of file s25fl1_qspi.h.
#define S25FL1_BYTE_PAGE_PROGRAM 0x02 |
Byte/page program command code.
Definition at line 126 of file s25fl1_qspi.h.
#define S25FL1_CHIP_ERASE_1 0x60 |
Chip erase command code 1.
Definition at line 122 of file s25fl1_qspi.h.
#define S25FL1_CHIP_ERASE_2 0xC7 |
Chip erase command code 2.
Definition at line 124 of file s25fl1_qspi.h.
#define S25FL1_DEEP_PDOWN 0xB9 |
Deep power-down command code.
Definition at line 148 of file s25fl1_qspi.h.
#define S25FL1_ERROR_BUSY 2 |
Device is busy executing a command.
Definition at line 66 of file s25fl1_qspi.h.
#define S25FL1_ERROR_PROGRAM 3 |
There was a problem while trying to program page data.
Definition at line 68 of file s25fl1_qspi.h.
#define S25FL1_ERROR_PROTECTED 1 |
Device is protected, operation cannot be carried out.
Definition at line 64 of file s25fl1_qspi.h.
#define S25FL1_ERROR_SPI 4 |
There was an SPI communication error.
Definition at line 70 of file s25fl1_qspi.h.
#define S25FL1_PROTECT_SECTOR 0x36 |
Protect sector command code.
Definition at line 136 of file s25fl1_qspi.h.
#define S25FL1_READ_ARRAY 0x0B |
Read array command code.
Definition at line 112 of file s25fl1_qspi.h.
#define S25FL1_READ_ARRAY_LF 0x03 |
Read array (low frequency) command code.
Definition at line 114 of file s25fl1_qspi.h.
#define S25FL1_READ_JEDEC_ID 0x9F |
Read manufacturer and device ID command code.
Definition at line 146 of file s25fl1_qspi.h.
#define S25FL1_READ_SECTOR_PROT 0x3C |
Read sector protection registers command code.
Definition at line 140 of file s25fl1_qspi.h.
#define S25FL1_READ_STATUS 0x05 |
Read status register command code.
Definition at line 142 of file s25fl1_qspi.h.
#define S25FL1_RES_DEEP_PDOWN 0xAB |
Resume from deep power-down command code.
Definition at line 150 of file s25fl1_qspi.h.
#define S25FL1_SEQUENTIAL_PROGRAM_1 0xAD |
Sequential program mode command code 1.
Definition at line 128 of file s25fl1_qspi.h.
#define S25FL1_SEQUENTIAL_PROGRAM_2 0xAF |
Sequential program mode command code 2.
Definition at line 130 of file s25fl1_qspi.h.
#define S25FL1_STATUS_EPE (1 << 5) |
Erase/program error bit.
Definition at line 99 of file s25fl1_qspi.h.
#define S25FL1_STATUS_EPE_ERROR (1 << 5) |
Erase or program error detected.
Definition at line 103 of file s25fl1_qspi.h.
#define S25FL1_STATUS_EPE_SUCCESS (0 << 5) |
Erase or program operation was successful.
Definition at line 101 of file s25fl1_qspi.h.
#define S25FL1_STATUS_RDYBSY (1 << 0) |
Device ready/busy status bit.
Definition at line 73 of file s25fl1_qspi.h.
#define S25FL1_STATUS_RDYBSY_BUSY (1 << 0) |
Device is busy with internal operations.
Definition at line 77 of file s25fl1_qspi.h.
#define S25FL1_STATUS_RDYBSY_READY (0 << 0) |
Device is ready.
Definition at line 75 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SPRL (1 << 7) |
Sector protection registers locked bit.
Definition at line 105 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SPRL_LOCKED (1 << 7) |
Sector protection registers are locked.
Definition at line 109 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SPRL_UNLOCKED (0 << 7) |
Sector protection registers are unlocked.
Definition at line 107 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SWP (3 << 2) |
Software protection status bit-field.
Definition at line 85 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SWP_PROTALL (3 << 2) |
All sectors are software protected.
Definition at line 87 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SWP_PROTNONE (0 << 2) |
No sector is software protected.
Definition at line 91 of file s25fl1_qspi.h.
#define S25FL1_STATUS_SWP_PROTSOME (1 << 2) |
Some sectors are software protected.
Definition at line 89 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WEL (1 << 1) |
Write enable latch status bit.
Definition at line 79 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WEL_DISABLED (0 << 1) |
Device is not write enabled.
Definition at line 81 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WEL_ENABLED (1 << 1) |
Device is write enabled.
Definition at line 83 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WPP (1 << 4) |
Write protect pin status bit.
Definition at line 93 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WPP_ASSERTED (1 << 4) |
Write protect signal is asserted.
Definition at line 97 of file s25fl1_qspi.h.
#define S25FL1_STATUS_WPP_NOTASSERTED (0 << 4) |
Write protect signal is not asserted.
Definition at line 95 of file s25fl1_qspi.h.
#define S25FL1_UNPROTECT_SECTOR 0x39 |
Unprotected sector command code.
Definition at line 138 of file s25fl1_qspi.h.
#define S25FL1_WRITE_DISABLE 0x04 |
Write disable command code.
Definition at line 134 of file s25fl1_qspi.h.
#define S25FL1_WRITE_ENABLE 0x06 |
Write enable command code.
Definition at line 132 of file s25fl1_qspi.h.
#define S25FL1_WRITE_STATUS 0x01 |
Write status register command code.
Definition at line 144 of file s25fl1_qspi.h.