SAMV71 Xplained Ultra Software Package 1.0

s25fl1_qspi.h File Reference

#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 S25fl1DescS25fl1_FindDevice (S25fl1 *pS25fl1, uint32_t jedecId)

Detailed Description

Interface for the S25fl1 SPI driver.

Definition in file s25fl1_qspi.h.


Define Documentation

#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.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines