69 #define UDMA_DMA_CH_INVALID ((uint32_t) 0xFFFF0000U)
74 #define UDMA_DMA_CH_ANY ((uint32_t) 0xFFFF0001U)
79 #define UDMA_DMA_CH_NA ((uint32_t) 0xFFFF0002U)
81 #define UDMA_UTC_ID_INVALID ((uint32_t) 0xFFFF0003U)
83 #define UDMA_MAPPED_GROUP_INVALID ((uint32_t) 0xFFFF0004U)
86 #define UDMA_DMSC_EXTENDED_CH_TYPE_BCDMA_BLK_CPY ((uint8_t) 1U)
89 #define UDMA_DMSC_EXTENDED_CH_TYPE_BCDMA_SPLIT_TR_TX ((uint8_t) 0U)
100 #define UDMA_CH_FLAG_TX ((uint32_t) 0x0001U)
102 #define UDMA_CH_FLAG_RX ((uint32_t) 0x0002U)
104 #define UDMA_CH_FLAG_BLK_COPY ((uint32_t) 0x0004U)
106 #define UDMA_CH_FLAG_PDMA ((uint32_t) 0x0008U)
108 #define UDMA_CH_FLAG_PSIL ((uint32_t) 0x0010U)
110 #define UDMA_CH_FLAG_UTC ((uint32_t) 0x0020U)
112 #define UDMA_CH_FLAG_HC ((uint32_t) 0x0040U)
114 #define UDMA_CH_FLAG_UHC ((uint32_t) 0x0080U)
116 #define UDMA_CH_FLAG_MAPPED ((uint32_t) 0x0100U)
128 #define UDMA_CH_TYPE_TR_BLK_COPY (UDMA_CH_FLAG_BLK_COPY | \
132 #define UDMA_CH_TYPE_TR_BLK_COPY_HC (UDMA_CH_FLAG_BLK_COPY | \
137 #define UDMA_CH_TYPE_TR_BLK_COPY_UHC (UDMA_CH_FLAG_BLK_COPY | \
142 #define UDMA_CH_TYPE_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL)
144 #define UDMA_CH_TYPE_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
146 #define UDMA_CH_TYPE_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
149 #define UDMA_CH_TYPE_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL)
151 #define UDMA_CH_TYPE_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_HC)
153 #define UDMA_CH_TYPE_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_UHC)
156 #define UDMA_CH_TYPE_PDMA_TX (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA)
158 #define UDMA_CH_TYPE_PDMA_TX_HC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
160 #define UDMA_CH_TYPE_PDMA_TX_UHC (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
163 #define UDMA_CH_TYPE_PDMA_RX (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA)
165 #define UDMA_CH_TYPE_PDMA_RX_HC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_HC)
167 #define UDMA_CH_TYPE_PDMA_RX_UHC (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PDMA | UDMA_CH_FLAG_UHC)
174 #define UDMA_CH_TYPE_TX_MAPPED (UDMA_CH_FLAG_TX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
180 #define UDMA_CH_TYPE_RX_MAPPED (UDMA_CH_FLAG_RX | UDMA_CH_FLAG_PSIL | UDMA_CH_FLAG_MAPPED)
188 #define UDMA_CH_TYPE_UTC (UDMA_CH_FLAG_UTC)
198 #define UDMA_PDMA_ES_8BITS ((uint32_t) 0x00U)
200 #define UDMA_PDMA_ES_16BITS ((uint32_t) 0x01U)
202 #define UDMA_PDMA_ES_24BITS ((uint32_t) 0x02U)
204 #define UDMA_PDMA_ES_32BITS ((uint32_t) 0x03U)
206 #define UDMA_PDMA_ES_64BITS ((uint32_t) 0x04U)
208 #define UDMA_PDMA_ES_DONTCARE ((uint32_t) 0x00U)
480 #if (UDMA_NUM_UTC_INSTANCE > 0)
593 Udma_ChHandle chHandle,
865 CSL_UdmapTdResponse *tdResponse);
957 Udma_ChHandle chainedChHandle,
975 Udma_ChHandle chainedChHandle);
1047 #if (UDMA_NUM_UTC_INSTANCE > 0)
1067 uint32_t startThreadId;
1093 #if (UDMA_NUM_UTC_INSTANCE > 0)
1094 const Udma_UtcInstInfo *utcInfo;
1153 #if (UDMA_SOC_CFG_UDMAP_PRESENT == 1)
1156 volatile CSL_udmap_txccfgRegs_chan *pTxCfgRegs;
1158 volatile CSL_udmap_txcrtRegs_chan *pTxRtRegs;
1160 volatile CSL_udmap_rxccfgRegs_chan *pRxCfgRegs;
1162 volatile CSL_udmap_rxcrtRegs_chan *pRxRtRegs;
1164 volatile CSL_udmap_txccfgRegs_chan *pExtCfgRegs;
1166 volatile CSL_udmap_txcrtRegs_chan *pExtRtRegs;
1169 #if (UDMA_SOC_CFG_BCDMA_PRESENT == 1)
1172 volatile CSL_bcdma_bccfgRegs_chan *pBcdmaBcCfgRegs;
1174 volatile CSL_bcdma_bcrtRegs_chan *pBcdmaBcRtRegs;
1176 volatile CSL_bcdma_txccfgRegs_chan *pBcdmaTxCfgRegs;
1178 volatile CSL_bcdma_txcrtRegs_chan *pBcdmaTxRtRegs;
1180 volatile CSL_bcdma_rxccfgRegs_chan *pBcdmaRxCfgRegs;
1182 volatile CSL_bcdma_rxcrtRegs_chan *pBcdmaRxRtRegs;
1185 #if (UDMA_SOC_CFG_PKTDMA_PRESENT == 1)
1188 volatile CSL_pktdma_txccfgRegs_chan *pPktdmaTxCfgRegs;
1190 volatile CSL_pktdma_txcrtRegs_chan *pPktdmaTxRtRegs;
1192 volatile CSL_pktdma_rxccfgRegs_chan *pPktdmaRxCfgRegs;
1194 volatile CSL_pktdma_rxcrtRegs_chan *pPktdmaRxRtRegs;
1196 volatile CSL_pktdma_txccfgRegs_chan *pPktdmaExtCfgRegs;
1198 volatile CSL_pktdma_txcrtRegs_chan *pPktdmaExtRtRegs;
1202 #if (UDMA_NUM_UTC_INSTANCE > 0)
1203 volatile CSL_DRU_CHNRTRegs_CHNRT *pDruNrtRegs;
1205 volatile CSL_DRU_CHRTRegs_CHRT *pDruRtRegs;
uint8_t pauseOnError
Definition: udma_ch.h:288
void UdmaChPdmaPrms_init(Udma_ChPdmaPrms *pdmaPrms)
Udma_ChPdmaPrms structure init function.
Udma_RingHandle Udma_chGetTdCqRingHandle(Udma_ChHandle chHandle)
Returns the teardown completion ring handle of the channel.
int32_t Udma_chOpen(Udma_DrvHandle drvHandle, Udma_ChHandle chHandle, uint32_t chType, const Udma_ChPrms *chPrms)
UDMA open channel.
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.
uint8_t busPriority
Definition: udma_ch.h:449
Udma_RingPrms cqRingPrms
Definition: udma_ch.h:269
uint16_t flowIdFwRangeStart
Definition: udma_ch.h:381
Udma_RingPrms fqRingPrms
Definition: udma_ch.h:267
uint32_t chType
Definition: udma_ch.h:1087
uint32_t peerThreadId
Definition: udma_ch.h:1113
int32_t Udma_chGetStats(Udma_ChHandle chHandle, Udma_ChStats *chStats)
Get real-time channel statistics.
uint32_t chInitDone
Definition: udma_ch.h:1209
uint8_t addrType
Definition: udma_ch.h:442
uint8_t busPriority
Definition: udma_ch.h:371
Udma_ChPrms chPrms
Definition: udma_ch.h:1089
uint8_t busOrderId
Definition: udma_ch.h:453
uint16_t fetchWordSize
Definition: udma_ch.h:299
uint8_t supressTdCqPkt
Definition: udma_ch.h:472
uint8_t burstSize
Definition: udma_ch.h:328
uint32_t completedByteCnt
Definition: udma_ch.h:560
void * appData
Definition: udma_ch.h:262
Udma_RingHandle cqRing
Definition: udma_ch.h:1118
void * Udma_chGetSwTriggerRegister(Udma_ChHandle chHandle)
Returns the software trigger register address for the channel.
Udma_RingHandle Udma_chGetCqRingHandle(Udma_ChHandle chHandle)
Returns the default completion ring handle of the channel.
int32_t Udma_chConfigUtc(Udma_ChHandle chHandle, const Udma_ChUtcPrms *utcPrms)
UDMA configure UTC channel.
int32_t Udma_chClose(Udma_ChHandle chHandle)
UDMA close channel.
void UdmaChPrms_init(Udma_ChPrms *chPrms, uint32_t chType)
Udma_ChPrms structure init function.
uint32_t Udma_chGetNum(Udma_ChHandle chHandle)
Returns the channel number offset with in a channel type - TX, RX and External (UTC) channel types.
uint32_t elemSize
Definition: udma_ch.h:506
uint8_t burstSize
Definition: udma_ch.h:459
uint8_t chanType
Definition: udma_ch.h:297
uint32_t trigger
Definition: udma_ch.h:1216
uint8_t pauseOnError
Definition: udma_ch.h:440
int32_t Udma_chPause(Udma_ChHandle chHandle)
UDMA channel pause API.
Udma_ChRxPrms rxPrms
Definition: udma_ch.h:1147
int32_t Udma_chSetChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle, uint32_t trigger)
Chains the trigger channel with the chained channel.
uint8_t pauseOnError
Definition: udma_ch.h:362
int32_t Udma_chBreakChaining(Udma_ChHandle triggerChHandle, Udma_ChHandle chainedChHandle)
Breaks the chaining by resetting the trigger channel's OES.
struct Udma_RingObj cqRingObj
Definition: udma_ch.h:1128
int32_t Udma_chResume(Udma_ChHandle chHandle)
UDMA channel resume API.
uint8_t burstSize
Definition: udma_ch.h:414
int32_t Udma_chSetSwTrigger(Udma_ChHandle chHandle, uint32_t trigger)
Sets the software trigger register based on the trigger mode provided.
uint8_t busOrderId
Definition: udma_ch.h:305
uint32_t fifoCnt
Definition: udma_ch.h:534
uint32_t rxChNum
Definition: udma_ch.h:1102
uint8_t supressTdCqPkt
Definition: udma_ch.h:347
uint16_t fifoDepth
Definition: udma_ch.h:313
uint32_t packetCnt
Definition: udma_ch.h:558
int32_t Udma_chDisable(Udma_ChHandle chHandle, uint32_t timeout)
UDMA channel teardown and disable API.
uint16_t Udma_chGetCqRingNum(Udma_ChHandle chHandle)
Returns the default completion ring number to be programmed in descriptor.
int32_t Udma_chConfigTx(Udma_ChHandle chHandle, const Udma_ChTxPrms *txPrms)
UDMA configure TX channel.
uint8_t dmaPriority
Definition: udma_ch.h:307
Udma_RingHandle Udma_chGetFqRingHandle(Udma_ChHandle chHandle)
Returns the default free ring handle of the channel.
Udma_RingHandle tdCqRing
Definition: udma_ch.h:1123
uint32_t pdmaChNum
Definition: udma_ch.h:1110
uint8_t ignoreLongPkts
Definition: udma_ch.h:402
uint32_t chNum
Definition: udma_ch.h:220
uint16_t fetchWordSize
Definition: udma_ch.h:447
uint32_t mappedChGrp
Definition: udma_ch.h:254
uint8_t chanType
Definition: udma_ch.h:445
Udma_ChUtcPrms utcPrms
Definition: udma_ch.h:1149
uint8_t flowSopOffset
Definition: udma_ch.h:395
int32_t Udma_chDequeueTdResponse(Udma_ChHandle chHandle, CSL_UdmapTdResponse *tdResponse)
UDMA dequeue response from teardown completion ring.
uint32_t chOesAllocDone
Definition: udma_ch.h:1211
struct Udma_RingObj fqRingObj
Definition: udma_ch.h:1126
uint32_t configDefaultFlow
Definition: udma_ch.h:406
uint8_t ignoreShortPkts
Definition: udma_ch.h:398
int32_t Udma_chEnable(Udma_ChHandle chHandle)
UDMA channel enable API.
uint8_t filterPsWords
Definition: udma_ch.h:292
Udma_ChTxPrms txPrms
Definition: udma_ch.h:1145
uint8_t chanType
Definition: udma_ch.h:367
struct Udma_FlowObj defaultFlowObj
Definition: udma_ch.h:1139
uint32_t utcId
Definition: udma_ch.h:248
uint8_t flowPsInfoPresent
Definition: udma_ch.h:389
uint16_t fetchWordSize
Definition: udma_ch.h:369
uint8_t busQos
Definition: udma_ch.h:451
uint8_t busPriority
Definition: udma_ch.h:301
void UdmaChTxPrms_init(Udma_ChTxPrms *txPrms, uint32_t chType)
Udma_ChTxPrms structure init function.
uint32_t Udma_chGetTriggerEvent(Udma_ChHandle chHandle, uint32_t trigger)
Returns the global trigger event for the channel.
uint32_t txChNum
Definition: udma_ch.h:1098
uint8_t busOrderId
Definition: udma_ch.h:375
uint8_t flowEInfoPresent
Definition: udma_ch.h:386
Udma_RingPrms tdCqRingPrms
Definition: udma_ch.h:274
uint8_t busQos
Definition: udma_ch.h:303
Udma_RingHandle fqRing
Definition: udma_ch.h:1116
Udma_FlowHandle Udma_chGetDefaultFlowHandle(Udma_ChHandle chHandle)
Returns the default flow handle of the RX channel.
uint8_t busQos
Definition: udma_ch.h:373
uint32_t startedByteCnt
Definition: udma_ch.h:562
uint8_t addrType
Definition: udma_ch.h:364
uint16_t Udma_chGetFqRingNum(Udma_ChHandle chHandle)
Returns the default free ring number to be programmed in descriptor.
uint8_t addrType
Definition: udma_ch.h:294
void UdmaChRxPrms_init(Udma_ChRxPrms *rxPrms, uint32_t chType)
Udma_ChRxPrms structure init function.
int32_t Udma_chConfigRx(Udma_ChHandle chHandle, const Udma_ChRxPrms *rxPrms)
UDMA configure RX channel.
struct Udma_RingObj tdCqRingObj
Definition: udma_ch.h:1132
Udma_DrvHandle drvHandle
Definition: udma_ch.h:1091
uint8_t flowErrorHandling
Definition: udma_ch.h:392
uint8_t txCredit
Definition: udma_ch.h:311
uint16_t flowIdFwRangeCnt
Definition: udma_ch.h:383
uint32_t elemCnt
Definition: udma_ch.h:515
uint8_t filterEinfo
Definition: udma_ch.h:290
uint32_t peerChNum
Definition: udma_ch.h:230
uint8_t dmaPriority
Definition: udma_ch.h:377
Udma_FlowHandle defaultFlow
Definition: udma_ch.h:1137
uint8_t dmaPriority
Definition: udma_ch.h:455
void UdmaChUtcPrms_init(Udma_ChUtcPrms *utcPrms)
Udma_ChUtcPrms structure init function.
uint32_t extChNum
Definition: udma_ch.h:1106
UDMA channel object.
Definition: udma_ch.h:1086
UDMA PDMA channel Static TR parameters.
Definition: udma_ch.h:505
UDMA channel open parameters.
Definition: udma_ch.h:219
UDMA RX channel parameters.
Definition: udma_ch.h:361
UDMA channel statistics.
Definition: udma_ch.h:557
UDMA TX channel parameters.
Definition: udma_ch.h:287
UDMA UTC channel parameters.
Definition: udma_ch.h:439
UDMA flow object.
Definition: udma_flow.h:467
UDMA ring object.
Definition: udma_ring.h:788
UDMA ring parameters.
Definition: udma_ring.h:134