SAMV71 Xplained Ultra Software Package 1.5

qspi.h File Reference

Go to the source code of this file.

Data Structures

struct  QspiMemCmd_t
 qspi command structure More...
struct  QspiBuffer_t
 qspi buffer structure More...
struct  QspiInstFrame_t
 qspi frame structure for QSPI mode More...
union  QspiInstFrame_t::_QspiInstFrame
struct  QspiInstFrame_t::_QspiInstFrame::_QspiInstFrameBM
struct  Qspid_t
 qspi driver structure More...

Defines

#define QSPI_SCBR(baudrate, masterClock)   ((uint32_t) (masterClock / baudrate) << 8)
#define QSPI_DLYBS(delay, masterClock)   ((uint32_t) (((masterClock / 1000000) * delay) / 1000) << 16)
#define QSPI_DLYBCT(delay, masterClock)   ((uint32_t) (((masterClock / 1000000) * delay) / 32000) << 24)

Enumerations

enum  Access_t { CmdAccess = 0, ReadAccess, WriteAccess }
 

qspi access modes


enum  QspiMode_t { SpiMode = QSPI_MR_SMM_SPI, QspiMemMode = QSPI_MR_SMM_MEMORY }
 

qspi modes SPI or QSPI


enum  QspiClockMode_t { ClockMode_00 = 0, ClockMode_10, ClockMode_01, ClockMode_11 }
 

qspi clock modes , regarding clock phase and clock polarity


enum  QspidStatus_t {
  QSPI_SUCCESS = 0, QSPI_BUSY, QSPI_BUSY_SENDING, QSPI_READ_ERROR,
  QSPI_WRITE_ERROR, QSPI_UNKNOWN_ERROR, QSPI_INIT_ERROR, QSPI_INPUT_ERROR,
  QSPI_TOTAL_ERROR
}
 

qspi status codes


enum  QspiStatus_t {
  IsReceived = QSPI_SR_RDRF, IsTxSent = QSPI_SR_TDRE, IsTxEmpty = QSPI_SR_TXEMPTY, IsOverrun = QSPI_SR_OVRES,
  IsCsRise = QSPI_SR_CSR, IsCsAsserted = QSPI_SR_CSS, IsEofInst = QSPI_SR_INSTRE, IsEnabled = QSPI_SR_QSPIENS
}
 

qspi status regiter bits


Functions

void QSPI_SwReset (Qspi *pQspi)
 Resets a QSPI peripheral.
void QSPI_Disable (Qspi *pQspi)
 Disables a QSPI peripheral.
void QSPI_Enable (Qspi *pQspi)
 Enables a QSPI peripheral.
QspidStatus_t QSPI_EndTransfer (Qspi *pQspi)
 Ends ongoing transfer by releasing CS of QSPI peripheral.
uint32_t QSPI_GetStatus (Qspi *pQspi, const QspiStatus_t rStatus)
 Get the current status register of the given QSPI peripheral.
void QSPI_ConfigureClock (Qspi *pQspi, QspiClockMode_t ClockMode, uint32_t dwClockCfg)
 Configures peripheral clock of a QSPI/SPI peripheral.
QspidStatus_t QSPI_SingleReadSPI (Qspid_t *pQspid, uint16_t *const pData)
 Reads the data received by a SPI peripheral. This method must be called after a successful SPI_Write call.
QspidStatus_t QSPI_MultiReadSPI (Qspid_t *pQspid, uint16_t *const pData, uint32_t NumOfBytes)
 Reads multiple data received by a SPI peripheral. This method must be called after a successful SPI_Write call.
QspidStatus_t QSPI_SingleWriteSPI (Qspid_t *pQspid, uint16_t const *pData)
 Sends a single data through a SPI peripheral.
QspidStatus_t QSPI_MultiWriteSPI (Qspid_t *pQspid, uint16_t const *pData, uint32_t NumOfBytes)
 Sends multiple data through a SPI peripheral.
QspidStatus_t QSPI_EnableIt (Qspi *pQspi, uint32_t dwSources)
 Enables one or more interrupt sources of a QSPI peripheral.
QspidStatus_t QSPI_DisableIt (Qspi *pQspi, uint32_t dwSources)
 Disables one or more interrupt sources of a QSPI peripheral.
uint32_t QSPI_GetItMask (Qspi *pQspi)
 Return the interrupt mask register.
uint32_t QSPI_GetEnabledItStatus (Qspi *pQspi)
 Returns enabled interrupt status.
QspidStatus_t QSPI_ConfigureInterface (Qspid_t *pQspid, QspiMode_t Mode, uint32_t dwConfiguration)
 Configures QSPI/SPI.
QspidStatus_t QSPI_SendCommand (Qspid_t *pQspi, uint8_t const KeepCfg)
 Send an instruction over QSPI (oly a flash command no data).
QspidStatus_t QSPI_SendCommandWithData (Qspid_t *pQspi, uint8_t const KeepCfg)
 Send instruction over QSPI with data.
QspidStatus_t QSPI_ReadCommand (Qspid_t *pQspi, uint8_t const KeepCfg)
 Send instruction over QSPI to read data.
QspidStatus_t QSPI_EnableMemAccess (Qspid_t *pQspi, uint8_t const KeepCfg, uint8_t ScrambleFlag)
 Sends an instruction over QSPI and configures other related address like Addr , Frame and synchronise bus access before data read or write.
QspidStatus_t QSPI_ReadWriteMem (Qspid_t *pQspid, Access_t const ReadWrite)
 Writes or reads the QSPI memory (0x80000000) to transmit or receive data from Flash memory.

Detailed Description

Interface for Serial Peripheral Interface (SPI) controller.

Definition in file qspi.h.


Define Documentation

#define QSPI_DLYBCT (   delay,
  masterClock 
)    ((uint32_t) (((masterClock / 1000000) * delay) / 32000) << 24)

Calculates the value of the CSR DLYBCT field given the desired delay (in ns)

Definition at line 65 of file qspi.h.

#define QSPI_DLYBS (   delay,
  masterClock 
)    ((uint32_t) (((masterClock / 1000000) * delay) / 1000) << 16)

Calculates the value of the CSR DLYBS field given the desired delay (in ns)

Definition at line 61 of file qspi.h.

#define QSPI_SCBR (   baudrate,
  masterClock 
)    ((uint32_t) (masterClock / baudrate) << 8)

Here are several macros which should be used when configuring a SPI peripheral.

SPI Configuration Macros

Definition at line 57 of file qspi.h.


Function Documentation

void QSPI_ConfigureClock ( Qspi pQspi,
QspiClockMode_t  ClockMode,
uint32_t  dwClockCfg 
)

Configures peripheral clock of a QSPI/SPI peripheral.

Parameters:
pQspi Pointer to an Qspi instance.
dwConfiguration Desired clock configuration.

Definition at line 323 of file qspi.c.

QspidStatus_t QSPI_ConfigureInterface ( Qspid_t pQspid,
QspiMode_t  Mode,
uint32_t  dwConfiguration 
)

Configures QSPI/SPI.

Parameters:
pQspi Pointer to an Qspi instance.
Mode Mode for QSPI or SPI
dwConfiguration Config of SPI or QSPI mode

Definition at line 338 of file qspi.c.

Here is the call graph for this function:

void QSPI_Disable ( Qspi pQspi  ) 

Disables a QSPI peripheral.

Parameters:
pQspi Pointer to a Qspi instance.

Definition at line 236 of file qspi.c.

QspidStatus_t QSPI_DisableIt ( Qspi pQspi,
uint32_t  dwSources 
)

Disables one or more interrupt sources of a QSPI peripheral.

Parameters:
pQspi Pointer to a Qspi instance.
sources Bitwise OR of selected interrupt sources.

Definition at line 274 of file qspi.c.

void QSPI_Enable ( Qspi pQspi  ) 

Enables a QSPI peripheral.

Parameters:
pQspi Pointer to a Qspi instance.

Definition at line 223 of file qspi.c.

QspidStatus_t QSPI_EnableIt ( Qspi pQspi,
uint32_t  dwSources 
)

Enables one or more interrupt sources of a QSPI peripheral.

Parameters:
pQspi Pointer to a Qspi instance.
sources Bitwise OR of selected interrupt sources.

Definition at line 261 of file qspi.c.

QspidStatus_t QSPI_EnableMemAccess ( Qspid_t pQspid,
uint8_t const   KeepCfg,
uint8_t  ScrambleFlag 
)

Sends an instruction over QSPI and configures other related address like Addr , Frame and synchronise bus access before data read or write.

Parameters:
pQspi Pointer to an Qspi instance.
KeepCfg To keep Instruction from value or resets to zero
ScrambleFlag Enable or disable scramble on QSPI
Returns:
Returns 1 if At least one instruction end has been detected since the last read of QSPI_SR.; otherwise returns 0.

Definition at line 679 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_EndTransfer ( Qspi pQspi  ) 

Ends ongoing transfer by releasing CS of QSPI peripheral.

Parameters:
pQspi Pointer to an Qspi instance.

Definition at line 359 of file qspi.c.

Here is the call graph for this function:

uint32_t QSPI_GetEnabledItStatus ( Qspi pQspi  ) 

Returns enabled interrupt status.

Returns:
Qspi interrupt mask register.

Definition at line 297 of file qspi.c.

Here is the call graph for this function:

uint32_t QSPI_GetItMask ( Qspi pQspi  ) 

Return the interrupt mask register.

Returns:
Qspi interrupt mask register.

Definition at line 286 of file qspi.c.

uint32_t QSPI_GetStatus ( Qspi pQspi,
const QspiStatus_t  rStatus 
)

Get the current status register of the given QSPI peripheral.

Note:
This resets the internal value of the status register, so further read may yield different values.
Parameters:
pQspi Pointer to a Qspi instance.
rStatus Compare status with given status bit
Returns:
QSPI status register.

Definition at line 311 of file qspi.c.

QspidStatus_t QSPI_MultiReadSPI ( Qspid_t pQspid,
uint16_t *const   pData,
uint32_t  NumOfBytes 
)

Reads multiple data received by a SPI peripheral. This method must be called after a successful SPI_Write call.

Parameters:
pQspid Pointer to a Qspi instance.
pData Pointer to read buffer
NumOfBytes Num of bytes to read
Returns:
Qspi status

Definition at line 421 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_MultiWriteSPI ( Qspid_t pQspid,
uint16_t const *  pData,
uint32_t  NumOfBytes 
)

Sends multiple data through a SPI peripheral.

Parameters:
pQspid Pointer to a Qspi instance.
pData Pointer to a Tx buffer
NumOfBytes Num of data to send.

Definition at line 507 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_ReadCommand ( Qspid_t pQspid,
uint8_t const   KeepCfg 
)

Send instruction over QSPI to read data.

Parameters:
pQspi Pointer to an Qspi instance.
KeepCfg To keep Instruction from value or resets to zero
Returns:
Returns 1 if At least one instruction end has been detected since the last read of QSPI_SR.; otherwise returns 0.

Definition at line 636 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_ReadWriteMem ( Qspid_t pQspid,
Access_t const   ReadWrite 
)

Writes or reads the QSPI memory (0x80000000) to transmit or receive data from Flash memory.

Parameters:
pQspi Pointer to an Qspi instance.
ReadWrite Flag to indicate read/write QSPI memory access
Returns:
Returns 1 if At least one instruction end has been detected since the last read of QSPI_SR.; otherwise returns 0.

Definition at line 714 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_SendCommand ( Qspid_t pQspid,
uint8_t const   KeepCfg 
)

Send an instruction over QSPI (oly a flash command no data).

Parameters:
pQspi Pointer to an Qspi instance.
KeepCfg To keep Instruction fram value or restes to zero
Returns:
Returns 1 if At least one instruction end has been detected since the last read of QSPI_SR.; otherwise returns 0.

Definition at line 559 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_SendCommandWithData ( Qspid_t pQspid,
uint8_t const   KeepCfg 
)

Send instruction over QSPI with data.

Parameters:
pQspi Pointer to an Qspi instance.
KeepCfg To keep Instruction fram value or restes to zero
Returns:
Returns 1 if At least one instruction end has been detected since the last read of QSPI_SR.; otherwise returns 0.

Definition at line 594 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_SingleReadSPI ( Qspid_t pQspid,
uint16_t *const   pData 
)

Reads the data received by a SPI peripheral. This method must be called after a successful SPI_Write call.

Parameters:
pQspid Pointer to a Qspi instance.
pData Buffer to put read value
Returns:
Qspi status

Definition at line 382 of file qspi.c.

Here is the call graph for this function:

QspidStatus_t QSPI_SingleWriteSPI ( Qspid_t pQspid,
uint16_t const *  pData 
)

Sends a single data through a SPI peripheral.

Parameters:
pQspid Pointer to a Qspi instance.
pData Pointer to Tx data
Returns:
Qspi status

Definition at line 472 of file qspi.c.

Here is the call graph for this function:

void QSPI_SwReset ( Qspi pQspi  ) 

Resets a QSPI peripheral.

Parameters:
pQspi Pointer to a Qspi instance.

Definition at line 249 of file qspi.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines