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... | |