SAMV71 Xplained Ultra Software Package 1.5

qspi_dma.c File Reference

#include "chip.h"

Go to the source code of this file.

Defines

#define DMA_QSPI_LLI   2

Functions

uint32_t QSPID_Configure (QspiDma_t *pQspidma, QspiMode_t Mode, uint32_t dwConf, sXdmad *pXdmad)
 Initializes the pQspidma structure and the corresponding QSPI & DMA . hardware select value.
uint32_t QSPID_EnableQspiRxChannel (QspiDma_t *pQspidma)
 Enables a QSPI Rx channel. This function will allocate a dma Rx channel for QSPI.
uint32_t QSPID_EnableQspiTxChannel (QspiDma_t *pQspidma)
 Enables a QSPI Tx channel. This function will allocate a dma Tx channel for QSPI.
uint32_t QSPID_EnableSpiChannel (QspiDma_t *pQspidma)
 Enables a QSPI SPI Rx channel. This function will allocate a dma Rx channel for QSPI SPI mode.
uint32_t QSPID_DisableQspiRxChannel (QspiDma_t *pQspidma)
 Disables a QSPI Rx channel. This function will de-allocate previous allocated dma Rx channel for QSPI.
uint32_t QSPID_DisableQspiTxChannel (QspiDma_t *pQspidma)
 Disables a QSPI Tx channel. This function will de-allocate previous allocated dma Tx channel for QSPI.
uint32_t QSPID_DisableSpiChannel (QspiDma_t *pQspidma)
 Disables a QSPI SPI Rx and Tx channels. This function will de-allocate privious allocated dma Rx, Txchannel for QSPI in SPI mode.
uint32_t QSPID_ReadWriteQSPI (QspiDma_t *pQspidma, Access_t const ReadWrite)
 Starts a QSPI read or write operation.
uint32_t QSPID_ReadWriteSPI (QspiDma_t *pQspidma, Access_t const ReadWrite)
 Starts a SPI master transfer. This is a non blocking function. It will return as soon as the transfer is started.
uint32_t QSPID_IsBusy (volatile uint8_t *QspiSemaphore)
 Check if the QSPI driver is busy.

Detailed Description

Implementation for the SPI Flash with xDMA driver.

Definition in file qspi_dma.c.


Define Documentation

#define DMA_QSPI_LLI   2

xDMA support xDMA Link List size for SPI transmission

Definition at line 58 of file qspi_dma.c.


Function Documentation

uint32_t QSPID_Configure ( QspiDma_t pQspidma,
QspiMode_t  Mode,
uint32_t  dwConf,
sXdmad pXdmad 
)

Initializes the pQspidma structure and the corresponding QSPI & DMA . hardware select value.

Parameters:
pQspidma Pointer to a QspiDma_t instance.
Mode Associated SPI peripheral.
dwConf QSPI peripheral configuration.
pXdmad Pointer to a Xdmad instance.

Definition at line 281 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_DisableQspiRxChannel ( QspiDma_t pQspidma  ) 

Disables a QSPI Rx channel. This function will de-allocate previous allocated dma Rx channel for QSPI.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 451 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_DisableQspiTxChannel ( QspiDma_t pQspidma  ) 

Disables a QSPI Tx channel. This function will de-allocate previous allocated dma Tx channel for QSPI.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 480 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_DisableSpiChannel ( QspiDma_t pQspidma  ) 

Disables a QSPI SPI Rx and Tx channels. This function will de-allocate privious allocated dma Rx, Txchannel for QSPI in SPI mode.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 507 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_EnableQspiRxChannel ( QspiDma_t pQspidma  ) 

Enables a QSPI Rx channel. This function will allocate a dma Rx channel for QSPI.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 320 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_EnableQspiTxChannel ( QspiDma_t pQspidma  ) 

Enables a QSPI Tx channel. This function will allocate a dma Tx channel for QSPI.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 357 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_EnableSpiChannel ( QspiDma_t pQspidma  ) 

Enables a QSPI SPI Rx channel. This function will allocate a dma Rx channel for QSPI SPI mode.

Parameters:
pQspidma Pointer to a Spid instance.
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 394 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_IsBusy ( volatile uint8_t *  QspiSemaphore  ) 

Check if the QSPI driver is busy.

Parameters:
pSpid Pointer to a Spid instance.
Returns:
1 if the SPI driver is currently busy executing a command; otherwise

Definition at line 617 of file qspi_dma.c.

uint32_t QSPID_ReadWriteQSPI ( QspiDma_t pQspidma,
Access_t const   ReadWrite 
)

Starts a QSPI read or write operation.

Parameters:
pQspidma Pointer to a Qspid instance.
ReadWrite Defines the memory access type
Returns:
0 if the transfer has been started successfully; otherwise returns QSPID_ERROR_LOCK is the driver is in use, or QSPID_ERROR if the command is not valid.

Definition at line 538 of file qspi_dma.c.

Here is the call graph for this function:

uint32_t QSPID_ReadWriteSPI ( QspiDma_t pQspidma,
Access_t const   ReadWrite 
)

Starts a SPI master transfer. This is a non blocking function. It will return as soon as the transfer is started.

Parameters:
pSpid Pointer to a Spid instance.
pCommand Pointer to the SPI command to execute.
Returns:
0 if the transfer has been started successfully; otherwise returns SPID_ERROR_LOCK is the driver is in use, or SPID_ERROR if the command is not valid.

Definition at line 580 of file qspi_dma.c.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines