RTEMS 6.1-rc1
|
Functions | |
bool | XDMAD_UpdateStatusFromCallback (sXdmad *pXdmad, uint32_t Channel, uint32_t status) |
void | XDMAD_DoNothingCallback (uint32_t Channel, void *pArg, uint32_t status) |
RTEMS_SYSINIT_ITEM (XDMAD_SysInitialize, RTEMS_SYSINIT_BSP_START, RTEMS_SYSINIT_ORDER_LAST_BUT_5) | |
uint32_t | XDMAD_AllocateChannel (sXdmad *pXdmad, uint8_t bSrcID, uint8_t bDstID) |
Allocate a XDMA channel for upper layer. More... | |
eXdmadRC | XDMAD_FreeChannel (sXdmad *pXdmad, uint32_t dwChannel) |
Free the specified xDMA channel. More... | |
eXdmadRC | XDMAD_SetCallback (sXdmad *pXdmad, uint32_t dwChannel, XdmadTransferCallback fCallback, void *pArg) |
Set the callback function for xDMA channel transfer. More... | |
eXdmadRC | XDMAD_PrepareChannel (sXdmad *pXdmad, uint32_t dwChannel) |
Enable clock of the xDMA peripheral, Enable the dma peripheral, configure configuration register for xDMA transfer. More... | |
eXdmadRC | XDMAD_ConfigureTransfer (sXdmad *pXdmad, uint32_t dwChannel, sXdmadCfg *pXdmaParam, uint32_t dwXdmaDescCfg, uint32_t dwXdmaDescAddr, uint32_t dwXdmaIntEn) |
Configure DMA for a single transfer. More... | |
eXdmadRC | XDMAD_StartTransfer (sXdmad *pXdmad, uint32_t dwChannel) |
Start xDMA transfer. More... | |
eXdmadRC | XDMAD_StopTransfer (sXdmad *pXdmad, uint32_t dwChannel) |
Stop DMA transfer. More... | |
eXdmadRC | XDMAD_IsTransferDone (sXdmad *pXdmad, uint32_t dwChannel) |
Variables | |
sXdmad | XDMAD_Instance |
uint32_t XDMAD_AllocateChannel | ( | sXdmad * | pXdmad, |
uint8_t | bSrcID, | ||
uint8_t | bDstID | ||
) |
Allocate a XDMA channel for upper layer.
pXdmad | Pointer to xDMA driver instance. |
bSrcID | Source peripheral ID, 0xFF for memory. |
bDstID | Destination peripheral ID, 0xFF for memory. |
eXdmadRC XDMAD_ConfigureTransfer | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel, | ||
sXdmadCfg * | pXdmaParam, | ||
uint32_t | dwXdmaDescCfg, | ||
uint32_t | dwXdmaDescAddr, | ||
uint32_t | dwXdmaIntEn | ||
) |
Configure DMA for a single transfer.
pXdmad | Pointer to xDMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |
eXdmadRC XDMAD_FreeChannel | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel | ||
) |
Free the specified xDMA channel.
pXdmad | Pointer to xDMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |
eXdmadRC XDMAD_PrepareChannel | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel | ||
) |
Enable clock of the xDMA peripheral, Enable the dma peripheral, configure configuration register for xDMA transfer.
pXdmad | Pointer to xDMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |
dwCfg | Configuration value. |
eXdmadRC XDMAD_SetCallback | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel, | ||
XdmadTransferCallback | fCallback, | ||
void * | pArg | ||
) |
Set the callback function for xDMA channel transfer.
pXdmad | Pointer to xDMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |
fCallback | Pointer to callback function. |
pArg | Pointer to optional argument for callback. |
eXdmadRC XDMAD_StartTransfer | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel | ||
) |
Start xDMA transfer.
pXdmad | Pointer to XDMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |
eXdmadRC XDMAD_StopTransfer | ( | sXdmad * | pXdmad, |
uint32_t | dwChannel | ||
) |
Stop DMA transfer.
pDmad | Pointer to DMA driver instance. |
dwChannel | ControllerNumber << 8 | ChannelNumber. |