Infineon MOTIX™ MCU TLE988x/9x Device Family SDK
Functions
dma.c File Reference
Include dependency graph for dma.c:

Functions

sint8 DMA_init (void)
 Initialize the DMA structure in RAM and SFRs according to the ConfigWizard settings. More...
 
void DMA_setBasicTransfer (uint8 u8_chIdx, uint32 u32_srcAddr, uint32 u32_dstAddr, uint32 u32_transferCnt, tDMA_transferSize e_transferSize, tDMA_incrementMode e_incrementMode)
 Set up a basic transfer for the desired DMA channel in the primary structure in RAM. More...
 
void DMA_resetChannel (uint8 u8_chIdx, uint32 u32_transferCnt)
 Reset the primary structure in RAM for a given channel and rearm it. More...
 
void DMA_setMemSctGth (uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up a channel to operate in Memory Scatter-Gather mode on a given task list. More...
 
void DMA_setPerSctGth (uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up a channel to operate in Peripheral Scatter-Gather mode on a given task list. More...
 
tDMA_entryDMA_setPrimaryTaskSctGth (tDMA_entry *s_primEntry, uint8 u8_chIdx, tDMA_entry *s_taskList, uint32 u32_taskCnt)
 Set up the primary task to configure the scatter-gather mode. More...
 
tDMA_entryDMA_setTaskSctGth (tDMA_entry *s_entry, tDMA_cycleType e_cycleType, uint8 u8_Rpower, uint32 u32_srcAddr, uint32 u32_dstAddr, uint32 u32_transferCnt, tDMA_transferSize e_transferSize, tDMA_incrementMode e_incrementMode)
 Set up a task to be used in the scatter-gather mode. More...
 
void DMA_setCh0IntNodePtr (void)
 
void DMA_setCh1IntNodePtr (void)
 
void DMA_setCh2IntNodePtr (void)
 
void DMA_setCh3IntNodePtr (void)
 
void DMA_setCh4IntNodePtr (void)
 
void DMA_setCh5IntNodePtr (void)
 
void DMA_setCh6IntNodePtr (void)
 
void DMA_setCh7IntNodePtr (void)
 
void DMA_setErrIntNodePtr (void)
 

Function Documentation

◆ DMA_init()

sint8 DMA_init ( void  )

Initialize the DMA structure in RAM and SFRs according to the ConfigWizard settings.

Returns
sint8 0: success, <0: error codes

◆ DMA_resetChannel()

void DMA_resetChannel ( uint8  u8_chIdx,
uint32  u32_transferCnt 
)

Reset the primary structure in RAM for a given channel and rearm it.

Parameters
u8_chIdxDMA channel to be reset
u32_transferCntNumber of transfers

◆ DMA_setBasicTransfer()

void DMA_setBasicTransfer ( uint8  u8_chIdx,
uint32  u32_srcAddr,
uint32  u32_dstAddr,
uint32  u32_transferCnt,
tDMA_transferSize  e_transferSize,
tDMA_incrementMode  e_incrementMode 
)

Set up a basic transfer for the desired DMA channel in the primary structure in RAM.

Parameters
u8_chIdxDMA channel to be set up
u32_srcAddrAddress pointing to the source location
u32_dstAddrAddress pointing to the destination location
u32_transferCntNumber of transfers
e_transferSizeData width for each transfer, see tDMA_transferSize
e_incrementModeincrementing scheme used for the transfer, see tDMA_incrementMode

◆ DMA_setCh0IntNodePtr()

void DMA_setCh0IntNodePtr ( void  )

◆ DMA_setCh1IntNodePtr()

void DMA_setCh1IntNodePtr ( void  )

◆ DMA_setCh2IntNodePtr()

void DMA_setCh2IntNodePtr ( void  )

◆ DMA_setCh3IntNodePtr()

void DMA_setCh3IntNodePtr ( void  )

◆ DMA_setCh4IntNodePtr()

void DMA_setCh4IntNodePtr ( void  )

◆ DMA_setCh5IntNodePtr()

void DMA_setCh5IntNodePtr ( void  )

◆ DMA_setCh6IntNodePtr()

void DMA_setCh6IntNodePtr ( void  )

◆ DMA_setCh7IntNodePtr()

void DMA_setCh7IntNodePtr ( void  )

◆ DMA_setErrIntNodePtr()

void DMA_setErrIntNodePtr ( void  )

◆ DMA_setMemSctGth()

void DMA_setMemSctGth ( uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up a channel to operate in Memory Scatter-Gather mode on a given task list.

Parameters
u8_chIdxDMA channel to be set up
s_taskListPoints to the task structure defined in RAM, see DMA_setTaskSctGth
u32_taskCntNumber of tasks in the s_taskList

◆ DMA_setPerSctGth()

void DMA_setPerSctGth ( uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up a channel to operate in Peripheral Scatter-Gather mode on a given task list.

Parameters
u8_chIdxDMA channel to be set up
s_taskListPoints to the task structure defined in RAM, see DMA_setTaskSctGth
u32_taskCntNumber of tasks in the s_taskList

◆ DMA_setPrimaryTaskSctGth()

tDMA_entry* DMA_setPrimaryTaskSctGth ( tDMA_entry s_primEntry,
uint8  u8_chIdx,
tDMA_entry s_taskList,
uint32  u32_taskCnt 
)

Set up the primary task to configure the scatter-gather mode.

The DMA scather-gather mode can be used to perform multiple but different DMA transfers initiated with one trigger.

The last task can be used to self-arm this scatter-gather transfer again.

Parameters
s_primEntryPointer to the task
u8_chIdxDMA channel for with the task is setup
s_taskListPointer to the task list to be executed with this DMA transfer
u32_taskCntNumber of tasks defined in the task list
Returns
Pointer to the task

◆ DMA_setTaskSctGth()

tDMA_entry* DMA_setTaskSctGth ( tDMA_entry s_entry,
tDMA_cycleType  e_cycleType,
uint8  u8_Rpower,
uint32  u32_srcAddr,
uint32  u32_dstAddr,
uint32  u32_transferCnt,
tDMA_transferSize  e_transferSize,
tDMA_incrementMode  e_incrementMode 
)

Set up a task to be used in the scatter-gather mode.

Parameters
s_entrypointer to the task structure tDMA_entry
e_cycleTypedefines the type of DMA transfer to be performed, see tDMA_cycleType
u8_RpowerArbitration rate, defines after how many DMA transfers (2^u8_Rpower) the controller rearbitrates
u32_srcAddrAddress pointing to the source location
u32_dstAddrAddress pointing to the destination location
u32_transferCntNumber of transfers
e_transferSizeData width for each transfer, see tDMA_transferSize
e_incrementModeIncrementing scheme used for the transfer, see tDMA_incrementMode
Returns
Pointer to the task