SAMV71 Xplained Ultra Software Package 1.5

XDMAC Functions
[Working with DMAC]

Collaboration diagram for XDMAC Functions:

Functions

uint32_t XDMAC_GetType (Xdmac *pXdmac)
 Get XDMAC global type.
uint32_t XDMAC_GetConfig (Xdmac *pXdmac)
 Get XDMAC global configuration.
uint32_t XDMAC_GetArbiter (Xdmac *pXdmac)
 Get XDMAC global weighted arbiter configuration.
void XDMAC_EnableGIt (Xdmac *pXdmac, uint8_t dwInteruptMask)
 Enables XDMAC global interrupt.
void XDMAC_DisableGIt (Xdmac *pXdmac, uint8_t dwInteruptMask)
 Disables XDMAC global interrupt.
uint32_t XDMAC_GetGItMask (Xdmac *pXdmac)
 Get XDMAC global interrupt mask.
uint32_t XDMAC_GetGIsr (Xdmac *pXdmac)
 Get XDMAC global interrupt status.
uint32_t XDMAC_GetMaskedGIsr (Xdmac *pXdmac)
 Get XDMAC masked global interrupt.
void XDMAC_EnableChannel (Xdmac *pXdmac, uint8_t channel)
 enables the relevant channel of given XDMAC.
void XDMAC_EnableChannels (Xdmac *pXdmac, uint32_t bmChannels)
 enables the relevant channels of given XDMAC.
void XDMAC_DisableChannel (Xdmac *pXdmac, uint8_t channel)
 Disables the relevant channel of given XDMAC.
void XDMAC_DisableChannels (Xdmac *pXdmac, uint32_t bmChannels)
 Disables the relevant channels of given XDMAC.
uint32_t XDMAC_GetGlobalChStatus (Xdmac *pXdmac)
 Get Global channel status of given XDMAC.
void XDMAC_SuspendReadChannel (Xdmac *pXdmac, uint8_t channel)
 Suspend the relevant channel's read.
void XDMAC_SuspendWriteChannel (Xdmac *pXdmac, uint8_t channel)
 Suspend the relevant channel's write.
void XDMAC_SuspendReadWriteChannel (Xdmac *pXdmac, uint8_t channel)
 Suspend the relevant channel's read & write.
void XDMAC_ResumeReadWriteChannel (Xdmac *pXdmac, uint8_t channel)
 Resume the relevant channel's read & write.
void XDMAC_SoftwareTransferReq (Xdmac *pXdmac, uint8_t channel)
 Set software transfer request on the relevant channel.
uint32_t XDMAC_GetSoftwareTransferStatus (Xdmac *pXdmac)
 Get software transfer status of the relevant channel.
void XDMAC_SoftwareFlushReq (Xdmac *pXdmac, uint8_t channel)
 Set software flush request on the relevant channel.
void XDMAC_EnableChannelIt (Xdmac *pXdmac, uint8_t channel, uint8_t dwInteruptMask)
 Disable interrupt with mask on the relevant channel of given XDMA.
void XDMAC_DisableChannelIt (Xdmac *pXdmac, uint8_t channel, uint8_t dwInteruptMask)
 Enable interrupt with mask on the relevant channel of given XDMA.
uint32_t XDMAC_GetChannelItMask (Xdmac *pXdmac, uint8_t channel)
 Get interrupt mask for the relevant channel of given XDMA.
uint32_t XDMAC_GetChannelIsr (Xdmac *pXdmac, uint8_t channel)
 Get interrupt status for the relevant channel of given XDMA.
uint32_t XDMAC_GetMaskChannelIsr (Xdmac *pXdmac, uint8_t channel)
 Get masked interrupt status for the relevant channel of given XDMA.
void XDMAC_SetSourceAddr (Xdmac *pXdmac, uint8_t channel, uint32_t addr)
 Set source address for the relevant channel of given XDMA.
void XDMAC_SetDestinationAddr (Xdmac *pXdmac, uint8_t channel, uint32_t addr)
 Set destination address for the relevant channel of given XDMA.
void XDMAC_SetDescriptorAddr (Xdmac *pXdmac, uint8_t channel, uint32_t addr, uint8_t ndaif)
 Set next descriptor's address & interface for the relevant channel of given XDMA.
void XDMAC_SetDescriptorControl (Xdmac *pXdmac, uint8_t channel, uint8_t config)
 Set next descriptor's configuration for the relevant channel of given XDMA.
void XDMAC_SetMicroblockControl (Xdmac *pXdmac, uint8_t channel, uint32_t ublen)
 Set microblock length for the relevant channel of given XDMA.
void XDMAC_SetBlockControl (Xdmac *pXdmac, uint8_t channel, uint16_t blen)
 Set block length for the relevant channel of given XDMA.
void XDMAC_SetChannelConfig (Xdmac *pXdmac, uint8_t channel, uint32_t config)
 Set configuration for the relevant channel of given XDMA.
uint32_t XDMAC_GetChannelConfig (Xdmac *pXdmac, uint8_t channel)
 Get the relevant channel's configuration of given XDMA.
void XDMAC_SetDataStride_MemPattern (Xdmac *pXdmac, uint8_t channel, uint32_t dds_msp)
 Set the relevant channel's data stride memory pattern of given XDMA.
void XDMAC_SetSourceMicroBlockStride (Xdmac *pXdmac, uint8_t channel, uint32_t subs)
 Set the relevant channel's source microblock stride of given XDMA.
void XDMAC_SetDestinationMicroBlockStride (Xdmac *pXdmac, uint8_t channel, uint32_t dubs)
 Set the relevant channel's destination microblock stride of given XDMA.
uint32_t XDMAC_GetChDestinationAddr (Xdmac *pXdmac, uint8_t channel)
 Get the relevant channel's destination address of given XDMA.

Function Documentation

void XDMAC_DisableChannel ( Xdmac pXdmac,
uint8_t  channel 
)

Disables the relevant channel of given XDMAC.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 178 of file xdmac.c.

void XDMAC_DisableChannelIt ( Xdmac pXdmac,
uint8_t  channel,
uint8_t  dwInteruptMask 
)

Enable interrupt with mask on the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
dwInteruptMask Interrupt mask.

Definition at line 327 of file xdmac.c.

void XDMAC_DisableChannels ( Xdmac pXdmac,
uint32_t  bmChannels 
)

Disables the relevant channels of given XDMAC.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
bmChannels Channels bitmap.

Definition at line 191 of file xdmac.c.

void XDMAC_DisableGIt ( Xdmac pXdmac,
uint8_t  dwInteruptMask 
)

Disables XDMAC global interrupt.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
dwInteruptMask IT to be enabled

Definition at line 105 of file xdmac.c.

void XDMAC_EnableChannel ( Xdmac pXdmac,
uint8_t  channel 
)

enables the relevant channel of given XDMAC.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 153 of file xdmac.c.

void XDMAC_EnableChannelIt ( Xdmac pXdmac,
uint8_t  channel,
uint8_t  dwInteruptMask 
)

Disable interrupt with mask on the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
dwInteruptMask Interrupt mask.

Definition at line 312 of file xdmac.c.

void XDMAC_EnableChannels ( Xdmac pXdmac,
uint32_t  bmChannels 
)

enables the relevant channels of given XDMAC.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
bmChannels Channels bitmap.

Definition at line 166 of file xdmac.c.

void XDMAC_EnableGIt ( Xdmac pXdmac,
uint8_t  dwInteruptMask 
)

Enables XDMAC global interrupt.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
dwInteruptMask IT to be enabled.

Definition at line 93 of file xdmac.c.

uint32_t XDMAC_GetArbiter ( Xdmac pXdmac  ) 

Get XDMAC global weighted arbiter configuration.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 81 of file xdmac.c.

uint32_t XDMAC_GetChannelConfig ( Xdmac pXdmac,
uint8_t  channel 
)

Get the relevant channel's configuration of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 487 of file xdmac.c.

uint32_t XDMAC_GetChannelIsr ( Xdmac pXdmac,
uint8_t  channel 
)

Get interrupt status for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 354 of file xdmac.c.

uint32_t XDMAC_GetChannelItMask ( Xdmac pXdmac,
uint8_t  channel 
)

Get interrupt mask for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 341 of file xdmac.c.

uint32_t XDMAC_GetChDestinationAddr ( Xdmac pXdmac,
uint8_t  channel 
)

Get the relevant channel's destination address of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 546 of file xdmac.c.

uint32_t XDMAC_GetConfig ( Xdmac pXdmac  ) 

Get XDMAC global configuration.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 70 of file xdmac.c.

uint32_t XDMAC_GetGIsr ( Xdmac pXdmac  ) 

Get XDMAC global interrupt status.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 127 of file xdmac.c.

uint32_t XDMAC_GetGItMask ( Xdmac pXdmac  ) 

Get XDMAC global interrupt mask.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 116 of file xdmac.c.

uint32_t XDMAC_GetGlobalChStatus ( Xdmac pXdmac  ) 

Get Global channel status of given XDMAC.

Note:
: When set to 1, this bit indicates that the channel x is enabled. If a channel disable request is issued, this bit remains asserted until pending transaction is completed.
Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 205 of file xdmac.c.

uint32_t XDMAC_GetMaskChannelIsr ( Xdmac pXdmac,
uint8_t  channel 
)

Get masked interrupt status for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 367 of file xdmac.c.

uint32_t XDMAC_GetMaskedGIsr ( Xdmac pXdmac  ) 

Get XDMAC masked global interrupt.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 138 of file xdmac.c.

uint32_t XDMAC_GetSoftwareTransferStatus ( Xdmac pXdmac  ) 

Get software transfer status of the relevant channel.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 282 of file xdmac.c.

uint32_t XDMAC_GetType ( Xdmac pXdmac  ) 

Get XDMAC global type.

Parameters:
pXdmac Pointer to the XDMAC peripheral.

Definition at line 59 of file xdmac.c.

void XDMAC_ResumeReadWriteChannel ( Xdmac pXdmac,
uint8_t  channel 
)

Resume the relevant channel's read & write.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 256 of file xdmac.c.

void XDMAC_SetBlockControl ( Xdmac pXdmac,
uint8_t  channel,
uint16_t  blen 
)

Set block length for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
blen Block length.

Definition at line 460 of file xdmac.c.

void XDMAC_SetChannelConfig ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  config 
)

Set configuration for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
config Channel configuration.

Definition at line 474 of file xdmac.c.

void XDMAC_SetDataStride_MemPattern ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  dds_msp 
)

Set the relevant channel's data stride memory pattern of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
dds_msp Data stride memory pattern.

Definition at line 501 of file xdmac.c.

void XDMAC_SetDescriptorAddr ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  addr,
uint8_t  ndaif 
)

Set next descriptor's address & interface for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
addr Address of next descriptor.
ndaif Interface of next descriptor.

Definition at line 415 of file xdmac.c.

void XDMAC_SetDescriptorControl ( Xdmac pXdmac,
uint8_t  channel,
uint8_t  config 
)

Set next descriptor's configuration for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
config Configuration of next descriptor.

Definition at line 432 of file xdmac.c.

void XDMAC_SetDestinationAddr ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  addr 
)

Set destination address for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
addr Destination address.

Definition at line 399 of file xdmac.c.

void XDMAC_SetDestinationMicroBlockStride ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  dubs 
)

Set the relevant channel's destination microblock stride of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
dubs Destination microblock stride.

Definition at line 532 of file xdmac.c.

void XDMAC_SetMicroblockControl ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  ublen 
)

Set microblock length for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
ublen Microblock length.

Definition at line 446 of file xdmac.c.

void XDMAC_SetSourceAddr ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  addr 
)

Set source address for the relevant channel of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
addr Source address.

Definition at line 385 of file xdmac.c.

void XDMAC_SetSourceMicroBlockStride ( Xdmac pXdmac,
uint8_t  channel,
uint32_t  subs 
)

Set the relevant channel's source microblock stride of given XDMA.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.
subs Source microblock stride.

Definition at line 517 of file xdmac.c.

void XDMAC_SoftwareFlushReq ( Xdmac pXdmac,
uint8_t  channel 
)

Set software flush request on the relevant channel.

Note:
: This API is used as polling without enabling FIE interrupt. The user can use it in interrupt mode after deleting while sentense.
Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 296 of file xdmac.c.

Here is the call graph for this function:

void XDMAC_SoftwareTransferReq ( Xdmac pXdmac,
uint8_t  channel 
)

Set software transfer request on the relevant channel.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 269 of file xdmac.c.

void XDMAC_SuspendReadChannel ( Xdmac pXdmac,
uint8_t  channel 
)

Suspend the relevant channel's read.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 217 of file xdmac.c.

void XDMAC_SuspendReadWriteChannel ( Xdmac pXdmac,
uint8_t  channel 
)

Suspend the relevant channel's read & write.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 243 of file xdmac.c.

void XDMAC_SuspendWriteChannel ( Xdmac pXdmac,
uint8_t  channel 
)

Suspend the relevant channel's write.

Parameters:
pXdmac Pointer to the XDMAC peripheral.
channel Particular channel number.

Definition at line 230 of file xdmac.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines