UDMA Channel related parameters and API.
Go to the source code of this file.
Data Structures | |
struct | Udma_ChPrms |
UDMA channel open parameters. More... | |
struct | Udma_ChTxPrms |
UDMA TX channel parameters. More... | |
struct | Udma_ChRxPrms |
UDMA RX channel parameters. More... | |
struct | Udma_ChPdmaPrms |
UDMA PDMA channel Static TR parameters. More... | |
struct | Udma_ChStats |
UDMA channel statistics. More... | |
struct | Udma_ChObject |
Opaque UDMA channel object. More... | |
Macros | |
#define | UDMA_DMA_CH_INVALID ((uint32_t) 0xFFFF0000U) |
Macro used to specify that DMA Channel ID is invalid. Used in the API Udma_chOpen. More... | |
#define | UDMA_DMA_CH_ANY ((uint32_t) 0xFFFF0001U) |
Macro used to specify any available DMA Channel while requesting one. Used in the API Udma_chOpen. More... | |
#define | UDMA_DMA_CH_NA ((uint32_t) 0xFFFF0002U) |
Macro used to specify that the DMA Channel is not applicable for a particular mode. More... | |
#define | UDMA_MAPPED_GROUP_INVALID ((uint32_t) 0xFFFF0004U) |
Macro used to specify that the Mapped Channel Group is invalid. More... | |
#define | UDMA_DMSC_EXTENDED_CH_TYPE_BCDMA_BLK_CPY ((uint8_t) 1U) |
DMSC Extended Channel Type Flag for BCDMA Block Copy. More... | |
#define | UDMA_DMSC_EXTENDED_CH_TYPE_BCDMA_SPLIT_TR_TX ((uint8_t) 0U) |
DMSC Extended Channel Type Flag for BCDMA split TR TX channels. More... | |
UDMA Channel Flag | |
#define | UDMA_CH_FLAG_TX ((uint32_t) 0x0001U) |
TX channel flag. More... | |
#define | UDMA_CH_FLAG_RX ((uint32_t) 0x0002U) |
RX channel flag. More... | |
#define | UDMA_CH_FLAG_BLK_COPY ((uint32_t) 0x0004U) |
Block copy mode channel flag. More... | |
#define | UDMA_CH_FLAG_PDMA ((uint32_t) 0x0008U) |
PDMA channel flag. More... | |
#define | UDMA_CH_FLAG_PSIL ((uint32_t) 0x0010U) |
PSIL channel flag meant for periperals like Ethernet, SA2UL. More... | |
#define | UDMA_CH_FLAG_UTC ((uint32_t) 0x0020U) |
UTC channel flag. More... | |
#define | UDMA_CH_FLAG_HC ((uint32_t) 0x0040U) |
High capacity channel flag. More... | |
#define | UDMA_CH_FLAG_UHC ((uint32_t) 0x0080U) |
Ultra high capacity channel flag. More... | |
#define | UDMA_CH_FLAG_MAPPED ((uint32_t) 0x0100U) |
Mapped TX/RX channel flag. More... | |
UDMA Channel Type | |
#define | UDMA_CH_TYPE_TR_BLK_COPY |
TR block copy type - TX/RX pair. More... | |
#define | UDMA_CH_TYPE_TR_BLK_COPY_HC |
High capacity TR block copy type - TX/RX pair. More... | |
#define | UDMA_CH_TYPE_TR_BLK_COPY_UHC |
Ultra high capacity TR block copy type - TX/RX pair. More... | |
#define | UDMA_CH_TYPE_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL) |
TX channel type. More... | |
#define | UDMA_CH_TYPE_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC) |
High capacity TX channel type. More... | |
#define | UDMA_CH_TYPE_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC) |
Ultra high capacity TX channel type. More... | |
#define | UDMA_CH_TYPE_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL) |
RX channel type. More... | |
#define | UDMA_CH_TYPE_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC) |
High capacity RX channel type. More... | |
#define | UDMA_CH_TYPE_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC) |
Ultra high capacity RX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA) |
PDMA TX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC) |
High capacity PDMA TX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC) |
Ultra high capacity PDMA TX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA) |
PDMA RX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC) |
High capacity PDMA RX channel type. More... | |
#define | UDMA_CH_TYPE_PDMA_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC) |
Ultra high capacity PDMA RX channel type. More... | |
#define | UDMA_CH_TYPE_TX_MAPPED (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED) |
Mapped TX channel. This could be different type of mapped TX channels. See Udma_MappedTxGrpSoc for differnt types of SOC specific mapped TX channels. More... | |
#define | UDMA_CH_TYPE_RX_MAPPED (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED) |
Mapped RX channel. This could be different type of mapped RX channels. See Udma_MappedRxGrpSoc for differnt types of SOC specific mapped RX channels. More... | |
#define | UDMA_CH_TYPE_UTC (UDMA_CH_FLAG_UTC) |
UTC channel. This could be. More... | |
UDMA PDMA element size | |
#define | UDMA_PDMA_ES_8BITS ((uint32_t) 0x00U) |
#define | UDMA_PDMA_ES_16BITS ((uint32_t) 0x01U) |
#define | UDMA_PDMA_ES_24BITS ((uint32_t) 0x02U) |
#define | UDMA_PDMA_ES_32BITS ((uint32_t) 0x03U) |
#define | UDMA_PDMA_ES_64BITS ((uint32_t) 0x04U) |
#define | UDMA_PDMA_ES_DONTCARE ((uint32_t) 0x00U) |
Set this for MCAN element size - not applicable. More... | |
Functions | |
int32_t | Udma_chOpen (Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t chType, const Udma_ChPrms *chPrms) |
UDMA open channel. More... | |
int32_t | Udma_chClose (Udma_ChHandle chHandle) |
UDMA close channel. More... | |
int32_t | Udma_chConfigTx (Udma_ChHandle chHandle, const Udma_ChTxPrms *txPrms) |
UDMA configure TX channel. More... | |
int32_t | Udma_chConfigRx (Udma_ChHandle chHandle, const Udma_ChRxPrms *rxPrms) |
UDMA configure RX channel. More... | |
int32_t | Udma_chConfigPdma (Udma_ChHandle chHandle, const Udma_ChPdmaPrms *pdmaPrms) |
UDMA configure PDMA channel (peerChNum as part of Udma_ChPrms) paired with the UDMAP channel. More... | |
int32_t | Udma_chEnable (Udma_ChHandle chHandle) |
UDMA channel enable API. More... | |
int32_t | Udma_chDisable (Udma_ChHandle chHandle, uint32_t timeout) |
UDMA channel teardown and disable API. More... | |
int32_t | Udma_chPause (Udma_ChHandle chHandle) |
UDMA channel pause API. More... | |
int32_t | Udma_chResume (Udma_ChHandle chHandle) |
UDMA channel resume API. More... | |
uint32_t | Udma_chGetNum (Udma_ChHandle chHandle) |
Returns the channel number offset with in a channel type - TX, RX and External (UTC) channel types. More... | |
Udma_RingHandle | Udma_chGetFqRingHandle (Udma_ChHandle chHandle) |
Returns the default free ring handle of the channel. More... | |
Udma_RingHandle | Udma_chGetCqRingHandle (Udma_ChHandle chHandle) |
Returns the default completion ring handle of the channel. More... | |
Udma_RingHandle | Udma_chGetTdCqRingHandle (Udma_ChHandle chHandle) |
Returns the teardown completion ring handle of the channel. More... | |
uint16_t | Udma_chGetFqRingNum (Udma_ChHandle chHandle) |
Returns the default free ring number to be programmed in descriptor. More... | |
uint16_t | Udma_chGetCqRingNum (Udma_ChHandle chHandle) |
Returns the default completion ring number to be programmed in descriptor. More... | |
Udma_FlowHandle | Udma_chGetDefaultFlowHandle (Udma_ChHandle chHandle) |
Returns the default flow handle of the RX channel. More... | |
uint32_t | Udma_chGetTriggerEvent (Udma_ChHandle chHandle, uint32_t trigger) |
Returns the global trigger event for the channel. More... | |
void * | Udma_chGetSwTriggerRegister (Udma_ChHandle chHandle) |
Returns the software trigger register address for the channel. More... | |
int32_t | Udma_chSetSwTrigger (Udma_ChHandle chHandle, uint32_t trigger) |
Sets the software trigger register based on the trigger mode provided. More... | |
int32_t | Udma_chSetChaining (Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle, uint32_t trigger) |
Chains the trigger channel with the chained channel. More... | |
int32_t | Udma_chBreakChaining (Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle) |
Breaks the chaining by resetting the trigger channel's OES. More... | |
void | UdmaChPrms_init (Udma_ChPrms *chPrms, uint32_t chType) |
Udma_ChPrms structure init function. More... | |
void | UdmaChTxPrms_init (Udma_ChTxPrms *txPrms, uint32_t chType) |
Udma_ChTxPrms structure init function. More... | |
void | UdmaChRxPrms_init (Udma_ChRxPrms *rxPrms, uint32_t chType) |
Udma_ChRxPrms structure init function. More... | |
void | UdmaChPdmaPrms_init (Udma_ChPdmaPrms *pdmaPrms) |
Udma_ChPdmaPrms structure init function. More... | |
int32_t | Udma_chGetStats (Udma_ChHandle chHandle, Udma_ChStats *chStats) |
Get real-time channel statistics. More... | |
int32_t | Udma_getPeerData (Udma_ChHandle chHandle, uint32_t *peerData) |
Get real-time peer data which contains number of bytes written. More... | |
int32_t | Udma_clearPeerData (Udma_ChHandle chHandle, uint32_t peerData) |
Clear real-time peer data which contains number of bytes written. More... | |