48 #undef uDMAChannelAttributeEnable
49 #define uDMAChannelAttributeEnable NOROM_uDMAChannelAttributeEnable
50 #undef uDMAChannelAttributeDisable
51 #define uDMAChannelAttributeDisable NOROM_uDMAChannelAttributeDisable
52 #undef uDMAChannelAttributeGet
53 #define uDMAChannelAttributeGet NOROM_uDMAChannelAttributeGet
54 #undef uDMAChannelControlSet
55 #define uDMAChannelControlSet NOROM_uDMAChannelControlSet
56 #undef uDMAChannelTransferSet
57 #define uDMAChannelTransferSet NOROM_uDMAChannelTransferSet
58 #undef uDMAChannelScatterGatherSet
59 #define uDMAChannelScatterGatherSet NOROM_uDMAChannelScatterGatherSet
60 #undef uDMAChannelSizeGet
61 #define uDMAChannelSizeGet NOROM_uDMAChannelSizeGet
62 #undef uDMAChannelModeGet
63 #define uDMAChannelModeGet NOROM_uDMAChannelModeGet
78 ASSERT(uDMABaseValid(ui32Base));
129 ASSERT(uDMABaseValid(ui32Base));
176 uint32_t ui32Attr = 0;
181 ASSERT(uDMABaseValid(ui32Base));
229 uint32_t ui32Control)
236 ASSERT(uDMABaseValid(ui32Base));
249 pControlTable[ui32ChannelStructIndex].
ui32Control =
250 ((pControlTable[ui32ChannelStructIndex].
ui32Control &
266 uint32_t ui32Mode,
void *pvSrcAddr,
void *pvDstAddr,
267 uint32_t ui32TransferSize)
270 uint32_t ui32Control;
272 uint32_t ui32BufferBytes;
277 ASSERT(uDMABaseValid(ui32Base));
294 ui32Control = (pControlTable[ui32ChannelStructIndex].
ui32Control &
328 ui32BufferBytes = ui32TransferSize << ui32Inc;
329 pvSrcAddr = (
void *)((uint32_t)pvSrcAddr + ui32BufferBytes - (1 << ui32Inc));
335 pControlTable[ui32ChannelStructIndex].
pvSrcEndAddr = pvSrcAddr;
360 (
void *)&pControlTable[ui32ChannelStructIndex |
361 UDMA_ALT_SELECT].ui32Spare;
369 ui32BufferBytes = ui32TransferSize << ui32Inc;
370 pvDstAddr = (
void *)((uint32_t)pvDstAddr + ui32BufferBytes - 1);
377 pControlTable[ui32ChannelStructIndex].
pvDstEndAddr = pvDstAddr;
382 pControlTable[ui32ChannelStructIndex].
ui32Control = ui32Control;
392 uint32_t ui32TaskCount,
void *pvTaskList,
393 uint32_t ui32IsPeriphSG)
401 ASSERT(uDMABaseValid(ui32Base));
406 ASSERT(ui32TaskCount != 0);
423 &pTaskTable[ui32TaskCount - 1].
ui32Spare;
465 uint32_t ui32Control;
470 ASSERT(uDMABaseValid(ui32Base));
483 ui32Control = (pControlTable[ui32ChannelStructIndex].
ui32Control &
517 uint32_t ui32Control;
522 ASSERT(uDMABaseValid(ui32Base));
534 ui32Control = (pControlTable[ui32ChannelStructIndex].
ui32Control &
#define UDMA_NUM_CHANNELS
uint32_t uDMAChannelModeGet(uint32_t ui32Base, uint32_t ui32ChannelStructIndex)
Gets the transfer mode for a uDMA channel control structure.
volatile void * pvSrcEndAddr
The ending source address of the data transfer.
#define UDMA_MODE_MEM_SCATTER_GATHER
#define UDMA_MODE_ALT_SELECT
void uDMAChannelScatterGatherSet(uint32_t ui32Base, uint32_t ui32ChannelNum, uint32_t ui32TaskCount, void *pvTaskList, uint32_t ui32IsPeriphSG)
Configures a uDMA channel for scatter-gather mode.
#define UDMA_ATTR_HIGH_PRIORITY
#define UDMA_ATTR_REQMASK
#define UDMA_SRC_INC_NONE
void uDMAChannelAttributeDisable(uint32_t ui32Base, uint32_t ui32ChannelNum, uint32_t ui32Attr)
Disables attributes of an uDMA channel.
#define UDMA_MODE_PER_SCATTER_GATHER
void uDMAChannelAttributeEnable(uint32_t ui32Base, uint32_t ui32ChannelNum, uint32_t ui32Attr)
Enables attributes of a uDMA channel.
void uDMAChannelControlSet(uint32_t ui32Base, uint32_t ui32ChannelStructIndex, uint32_t ui32Control)
Sets the control parameters for a uDMA channel control structure.
volatile uint32_t ui32Spare
An unused location.
#define UDMA_DST_INC_NONE
#define UDMA_ATTR_USEBURST
volatile uint32_t ui32Control
The channel control mode.
volatile void * pvDstEndAddr
The ending destination address of the data transfer.
#define UDMA_ATTR_ALTSELECT
void uDMAChannelTransferSet(uint32_t ui32Base, uint32_t ui32ChannelStructIndex, uint32_t ui32Mode, void *pvSrcAddr, void *pvDstAddr, uint32_t ui32TransferSize)
Sets the transfer parameters for a uDMA channel control structure.
#define UDMA_NEXT_USEBURST
A structure that defines an entry in the channel control table.
uint32_t uDMAChannelAttributeGet(uint32_t ui32Base, uint32_t ui32ChannelNum)
Gets the enabled attributes of a uDMA channel.
#define UDMA_XFER_SIZE_MAX
uint32_t uDMAChannelSizeGet(uint32_t ui32Base, uint32_t ui32ChannelStructIndex)
Gets the current transfer size for a uDMA channel control structure.