Configuration functions

Functions

__STATIC_INLINE void ll_dma_enable (dma_regs_t *DMAx)
 Enable DMA Module. More...
 
__STATIC_INLINE void ll_dma_disable (dma_regs_t *DMAx)
 Disable DMA Module. More...
 
__STATIC_INLINE uint32_t ll_dma_is_enable (dma_regs_t *DMAx)
 Check if DMA Module is enabled or disabled. More...
 
__STATIC_INLINE void ll_dma_enable_channel (dma_regs_t *DMAx, uint32_t channel)
 Enable DMA channel. More...
 
__STATIC_INLINE void ll_dma_disable_channel (dma_regs_t *DMAx, uint32_t channel)
 Disable DMA channel. More...
 
__STATIC_INLINE uint32_t ll_dma_is_enabled_channel (dma_regs_t *DMAx, uint32_t channel)
 Check if DMA channel is enabled or disabled. More...
 
__STATIC_INLINE void ll_dma_suspend_channel (dma_regs_t *DMAx, uint32_t channel)
 Suspend a DMA channel transfer. More...
 
__STATIC_INLINE void ll_dma_resume_channel (dma_regs_t *DMAx, uint32_t channel)
 Resume a DMA channel. More...
 
__STATIC_INLINE uint32_t ll_dma_is_suspended (dma_regs_t *DMAx, uint32_t channel)
 Check if DMA channel is suspended or resumed. More...
 
__STATIC_INLINE uint32_t ll_dma_is_empty_fifo (dma_regs_t *DMAx, uint32_t channel)
 Check if DMA channel FIFO is empty. More...
 
__STATIC_INLINE void ll_dma_config_transfer (dma_regs_t *DMAx, uint32_t channel, uint32_t configuration)
 Configure all parameters link to DMA transfer. More...
 
__STATIC_INLINE void ll_dma_set_data_transfer_direction (dma_regs_t *DMAx, uint32_t channel, uint32_t direction)
 Set Data transfer direction (read from peripheral or from memory). More...
 
__STATIC_INLINE uint32_t ll_dma_get_data_transfer_direction (dma_regs_t *DMAx, uint32_t channel)
 Get Data transfer direction (read from peripheral or from memory). More...
 
__STATIC_INLINE void ll_dma_set_source_increment_mode (dma_regs_t *DMAx, uint32_t channel, uint32_t src_increment_mode)
 Set Source increment mode. More...
 
__STATIC_INLINE uint32_t ll_dma_get_source_increment_mode (dma_regs_t *DMAx, uint32_t channel)
 Get Source increment mode. More...
 
__STATIC_INLINE void ll_dma_set_destination_increment_mode (dma_regs_t *DMAx, uint32_t channel, uint32_t dst_increment_mode)
 Set Destination increment mode. More...
 
__STATIC_INLINE uint32_t ll_dma_get_destination_increment_mode (dma_regs_t *DMAx, uint32_t channel)
 Get Destination increment mode. More...
 
__STATIC_INLINE void ll_dma_set_source_width (dma_regs_t *DMAx, uint32_t channel, uint32_t src_width)
 Set Source transfer width. More...
 
__STATIC_INLINE uint32_t ll_dma_get_source_width (dma_regs_t *DMAx, uint32_t channel)
 Get Source transfer width. More...
 
__STATIC_INLINE void ll_dma_set_destination_width (dma_regs_t *DMAx, uint32_t channel, uint32_t dst_width)
 Set Destination transfer width. More...
 
__STATIC_INLINE uint32_t ll_dma_get_destination_width (dma_regs_t *DMAx, uint32_t channel)
 Get Destination transfer width. More...
 
__STATIC_INLINE void ll_dma_set_source_burst_length (dma_regs_t *DMAx, uint32_t channel, uint32_t burst_length)
 Set Source Burst Transaction Length. More...
 
__STATIC_INLINE uint32_t ll_dma_get_source_burst_length (dma_regs_t *DMAx, uint32_t channel)
 Get Burst Transaction Length. More...
 
__STATIC_INLINE void ll_dma_set_destination_burst_length (dma_regs_t *DMAx, uint32_t channel, uint32_t burst_length)
 Set Destination Burst Transaction Length. More...
 
__STATIC_INLINE uint32_t ll_dma_get_destination_burst_length (dma_regs_t *DMAx, uint32_t channel)
 Get Destination Burst Transaction Length. More...
 
__STATIC_INLINE void ll_dma_set_channel_priority_level (dma_regs_t *DMAx, uint32_t channel, uint32_t priority)
 Set Channel priority level. More...
 
__STATIC_INLINE uint32_t ll_dma_get_channel_priority_level (dma_regs_t *DMAx, uint32_t channel)
 Get Channel priority level. More...
 
__STATIC_INLINE void ll_dma_set_block_size (dma_regs_t *DMAx, uint32_t channel, uint32_t block_size)
 Set the block size of a transfer. More...
 
__STATIC_INLINE uint32_t ll_dma_get_block_size (dma_regs_t *DMAx, uint32_t channel)
 Get the block size of a transfer. More...
 
__STATIC_INLINE void ll_dma_config_address (dma_regs_t *DMAx, uint32_t channel, uint32_t src_address, uint32_t dst_address, uint32_t direction)
 Configure the Source and Destination addresses. More...
 
__STATIC_INLINE void ll_dma_set_source_address (dma_regs_t *DMAx, uint32_t channel, uint32_t address)
 Set the Source address. More...
 
__STATIC_INLINE void ll_dma_set_destination_address (dma_regs_t *DMAx, uint32_t channel, uint32_t address)
 Set the Destination address. More...
 
__STATIC_INLINE uint32_t ll_dma_get_source_address (dma_regs_t *DMAx, uint32_t channel)
 Get Source address. More...
 
__STATIC_INLINE uint32_t ll_dma_get_destination_address (dma_regs_t *DMAx, uint32_t channel)
 Get Destination address. More...
 
__STATIC_INLINE void ll_dma_set_m2m_src_address (dma_regs_t *DMAx, uint32_t channel, uint32_t address)
 Set the Memory to Memory Source address. More...
 
__STATIC_INLINE void ll_dma_set_m2m_dst_address (dma_regs_t *DMAx, uint32_t channel, uint32_t address)
 Set the Memory to Memory Destination address. More...
 
__STATIC_INLINE uint32_t ll_dma_get_m2m_src_address (dma_regs_t *DMAx, uint32_t channel)
 Get the Memory to Memory Source address. More...
 
__STATIC_INLINE uint32_t ll_dma_get_m2m_dst_address (dma_regs_t *DMAx, uint32_t channel)
 Get the Memory to Memory Destination address. More...
 
__STATIC_INLINE void ll_dma_set_source_peripheral (dma_regs_t *DMAx, uint32_t channel, uint32_t peripheral)
 Set source peripheral for DMA instance on Channel x. More...
 
__STATIC_INLINE uint32_t ll_dma_get_source_peripheral (dma_regs_t *DMAx, uint32_t channel)
 Get source peripheral for DMA instance on Channel x. More...
 
__STATIC_INLINE void ll_dma_set_destination_peripheral (dma_regs_t *DMAx, uint32_t channel, uint32_t peripheral)
 Set destination peripheral for DMA instance on Channel x. More...
 
__STATIC_INLINE uint32_t ll_dma_get_destination_peripheral (dma_regs_t *DMAx, uint32_t channel)
 Get destination peripheral for DMA instance on Channel x. More...
 
__STATIC_INLINE void ll_dma_select_handshaking (dma_regs_t *DMAx, uint32_t channel, uint32_t src_handshaking, uint32_t dst_handshaking)
 Set source and destination source handshaking interface. More...
 
__STATIC_INLINE void ll_dma_set_max_amba_burst (dma_regs_t *DMAx, uint32_t channel, uint32_t beats)
 Set Maximum AMBA Burst Length. More...
 
__STATIC_INLINE uint32_t ll_dma_get_max_amba_burst (dma_regs_t *DMAx, uint32_t channel)
 Get source status after each block tranfer completed. More...
 
__STATIC_INLINE void ll_dma_enable_channel_lock (dma_regs_t *DMAx, uint32_t channel)
 Enable channel lock. More...
 
__STATIC_INLINE void ll_dma_disable_channel_lock (dma_regs_t *DMAx, uint32_t channel)
 Disable channel lock. More...
 
__STATIC_INLINE uint32_t ll_dma_is_enable_channel_lock (dma_regs_t *DMAx, uint32_t channel)
 CHeck if the channel lock enable. More...
 
__STATIC_INLINE void ll_dma_enable_bus_lock (dma_regs_t *DMAx, uint32_t channel)
 Enable Bus lock. More...
 
__STATIC_INLINE void ll_dma_disable_bus_lock (dma_regs_t *DMAx, uint32_t channel)
 Disable Bus lock. More...
 
__STATIC_INLINE uint32_t ll_dma_is_enable_bus_lock (dma_regs_t *DMAx, uint32_t channel)
 CHeck if the Bus lock enable. More...
 
__STATIC_INLINE void ll_dma_set_channel_lock_level (dma_regs_t *DMAx, uint32_t channel, uint32_t lock_level)
 Set channel lock level. More...
 
__STATIC_INLINE uint32_t ll_dma_get_channel_lock_level (dma_regs_t *DMAx, uint32_t channel)
 Get channel lock level. More...
 
__STATIC_INLINE void ll_dma_set_bus_lock_level (dma_regs_t *DMAx, uint32_t channel, uint32_t lock_level)
 Set bus lock level. More...
 
__STATIC_INLINE uint32_t ll_dma_get_bus_lock_level (dma_regs_t *DMAx, uint32_t channel)
 Get bus lock level. More...
 
__STATIC_INLINE void ll_dma_req_src_single_transaction (dma_regs_t *DMAx, uint32_t channel)
 Source Single Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_src_burst_transaction (dma_regs_t *DMAx, uint32_t channel)
 Source Burst Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_src_last_single_transaction (dma_regs_t *DMAx, uint32_t channel)
 Source Last Single Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_src_last_burst_transaction (dma_regs_t *DMAx, uint32_t channel)
 Source Last Burst Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_dst_single_transaction (dma_regs_t *DMAx, uint32_t channel)
 Destination Single Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_dst_burst_transaction (dma_regs_t *DMAx, uint32_t channel)
 Destination Burst Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_dst_last_single_transaction (dma_regs_t *DMAx, uint32_t channel)
 Destination Last Single Transaction Request. More...
 
__STATIC_INLINE void ll_dma_req_dst_last_burst_transaction (dma_regs_t *DMAx, uint32_t channel)
 Destination Last Burst Transaction Request. More...
 

Detailed Description

Function Documentation

◆ ll_dma_config_address()

__STATIC_INLINE void ll_dma_config_address ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  src_address,
uint32_t  dst_address,
uint32_t  direction 
)

Configure the Source and Destination addresses.

Note
Each IP using DMA provides an API to get directly the register adress (LL_PPP_DMA_GetRegAddr)

Register|BitsName --------|-------- SAR | SAR DAR | DAR CTL_LO | TT_FC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
src_addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
dst_addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
directionThis parameter can be one of the following values:
Return values
None

Definition at line 1062 of file ll_dma.h.

◆ ll_dma_config_transfer()

__STATIC_INLINE void ll_dma_config_transfer ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  configuration 
)

Configure all parameters link to DMA transfer.

Register|BitsName --------|-------- CCR | DIR CCR | MEM2MEM CCR | CIRC CCR | PINC CCR | MINC CCR | PSIZE CCR | MSIZE CCR | PL

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
configurationThis parameter must be a combination of all the following values:
Return values
None

Definition at line 586 of file ll_dma.h.

◆ ll_dma_disable()

__STATIC_INLINE void ll_dma_disable ( dma_regs_t *  DMAx)

Disable DMA Module.

Note
If the ll_dma_disable() function is called while any dma channel is still active, the ll_dma_is_enable() function still return 1 to indicate that there are channels still active until hardware has terminated all cativity on all channels, at which point the ll_dma_is_enable() function returns 0.

Register|BitsName --------|-------- CFG_REG | CFG_EN

Parameters
DMAxDMA instance.
Return values
None

Definition at line 382 of file ll_dma.h.

◆ ll_dma_disable_bus_lock()

__STATIC_INLINE void ll_dma_disable_bus_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Disable Bus lock.

Register|BitsName --------|-------- CFG_LO | LOCK_B

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1573 of file ll_dma.h.

◆ ll_dma_disable_channel()

__STATIC_INLINE void ll_dma_disable_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Disable DMA channel.

Register|BitsName --------|-------- CH_EN_REG | CH_EN_WE&CH_EN

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 441 of file ll_dma.h.

◆ ll_dma_disable_channel_lock()

__STATIC_INLINE void ll_dma_disable_channel_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Disable channel lock.

Register|BitsName --------|-------- CFG_LO | LOCK_CH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1510 of file ll_dma.h.

◆ ll_dma_enable()

__STATIC_INLINE void ll_dma_enable ( dma_regs_t *  DMAx)

Enable DMA Module.

Note
This function is used to enable the DMA Module, which must be done before any channel activity can begin.

Register|BitsName --------|-------- CFG_REG | CFG_EN

Parameters
DMAxDMA instance.
Return values
None

Definition at line 363 of file ll_dma.h.

◆ ll_dma_enable_bus_lock()

__STATIC_INLINE void ll_dma_enable_bus_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Enable Bus lock.

Register|BitsName --------|-------- CFG_LO | LOCK_B

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1552 of file ll_dma.h.

◆ ll_dma_enable_channel()

__STATIC_INLINE void ll_dma_enable_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Enable DMA channel.

Note
When the DMA Module is disabled, then call this function to DMA_CFG_REG register is ignored and call ll_dma_disable_channel() function will always returns 0.

Register|BitsName --------|-------- CH_EN_REG | CH_EN_WE&CH_EN

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 420 of file ll_dma.h.

◆ ll_dma_enable_channel_lock()

__STATIC_INLINE void ll_dma_enable_channel_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Enable channel lock.

Register|BitsName --------|-------- CFG_LO | LOCK_CH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1489 of file ll_dma.h.

◆ ll_dma_get_block_size()

__STATIC_INLINE uint32_t ll_dma_get_block_size ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get the block size of a transfer.

Note
Once the channel is enabled, the return value indicate the remaining bytes to be transmitted.

Register|BitsName --------|-------- CTL_HI | BLOCK_TS

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
BetweenMin_Data = 0 and Max_Data = 0xFFF

Definition at line 1031 of file ll_dma.h.

◆ ll_dma_get_bus_lock_level()

__STATIC_INLINE uint32_t ll_dma_get_bus_lock_level ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get bus lock level.

Register|BitsName --------|-------- CFG_LO | LOCK_B

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 1692 of file ll_dma.h.

◆ ll_dma_get_channel_lock_level()

__STATIC_INLINE uint32_t ll_dma_get_channel_lock_level ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get channel lock level.

Register|BitsName --------|-------- CFG_LO | LOCK_CH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 1643 of file ll_dma.h.

◆ ll_dma_get_channel_priority_level()

__STATIC_INLINE uint32_t ll_dma_get_channel_priority_level ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Channel priority level.

Register|BitsName --------|-------- CFG_LO | CH_PRIOR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 985 of file ll_dma.h.

◆ ll_dma_get_data_transfer_direction()

__STATIC_INLINE uint32_t ll_dma_get_data_transfer_direction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Data transfer direction (read from peripheral or from memory).

Register|BitsName --------|-------- CTL_LO | TT_FC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 638 of file ll_dma.h.

◆ ll_dma_get_destination_address()

__STATIC_INLINE uint32_t ll_dma_get_destination_address ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Destination address.

Register|BitsName --------|-------- DAR | DAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
BetweenMin_Data = 0 and Max_Data = 0xFFFFFFFF

Definition at line 1154 of file ll_dma.h.

◆ ll_dma_get_destination_burst_length()

__STATIC_INLINE uint32_t ll_dma_get_destination_burst_length ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Destination Burst Transaction Length.

Register|BitsName --------|-------- CTL_LO | DST_MSIZE

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 932 of file ll_dma.h.

◆ ll_dma_get_destination_increment_mode()

__STATIC_INLINE uint32_t ll_dma_get_destination_increment_mode ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Destination increment mode.

Register|BitsName --------|-------- CTL_LO | DINC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 736 of file ll_dma.h.

◆ ll_dma_get_destination_peripheral()

__STATIC_INLINE uint32_t ll_dma_get_destination_peripheral ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get destination peripheral for DMA instance on Channel x.

Register|BitsName --------|-------- CFG_HI | DST_PER

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 1394 of file ll_dma.h.

◆ ll_dma_get_destination_width()

__STATIC_INLINE uint32_t ll_dma_get_destination_width ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Destination transfer width.

Register|BitsName --------|-------- CTL_LO | DST_TR_WIDTH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 834 of file ll_dma.h.

◆ ll_dma_get_m2m_dst_address()

__STATIC_INLINE uint32_t ll_dma_get_m2m_dst_address ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get the Memory to Memory Destination address.

Note
Interface used for direction LL_DMA_DIRECTION_MEMORY_TO_MEMORY only.

Register|BitsName --------|-------- DAR | DAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
BetweenMin_Data = 0 and Max_Data = 0xFFFFFFFF

Definition at line 1247 of file ll_dma.h.

◆ ll_dma_get_m2m_src_address()

__STATIC_INLINE uint32_t ll_dma_get_m2m_src_address ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get the Memory to Memory Source address.

Note
Interface used for direction LL_DMA_DIRECTION_MEMORY_TO_MEMORY only.

Register|BitsName --------|-------- SAR | SAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
BetweenMin_Data = 0 and Max_Data = 0xFFFFFFFF

Definition at line 1225 of file ll_dma.h.

◆ ll_dma_get_max_amba_burst()

__STATIC_INLINE uint32_t ll_dma_get_max_amba_burst ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get source status after each block tranfer completed.

Register|BitsName --------|-------- SSTAT | SSTAT

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values: Between Min_Data = 0 and Max_Data = 0xFFFFFFFF.
None

Definition at line 1468 of file ll_dma.h.

◆ ll_dma_get_source_address()

__STATIC_INLINE uint32_t ll_dma_get_source_address ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Source address.

Register|BitsName --------|-------- SAR | SAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
BetweenMin_Data = 0 and Max_Data = 0xFFFFFFFF

Definition at line 1133 of file ll_dma.h.

◆ ll_dma_get_source_burst_length()

__STATIC_INLINE uint32_t ll_dma_get_source_burst_length ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Burst Transaction Length.

Register|BitsName --------|-------- CTL_LO | SRC_MSIZE

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 883 of file ll_dma.h.

◆ ll_dma_get_source_increment_mode()

__STATIC_INLINE uint32_t ll_dma_get_source_increment_mode ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Source increment mode.

Register|BitsName --------|-------- CTL_LO | SINC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 687 of file ll_dma.h.

◆ ll_dma_get_source_peripheral()

__STATIC_INLINE uint32_t ll_dma_get_source_peripheral ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get source peripheral for DMA instance on Channel x.

Register|BitsName --------|-------- CFG_HI | SRC_PER

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 1321 of file ll_dma.h.

◆ ll_dma_get_source_width()

__STATIC_INLINE uint32_t ll_dma_get_source_width ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get Source transfer width.

Register|BitsName --------|-------- CTL_LO | SRC_TR_WIDTH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
Returnedvalue can be one of the following values:

Definition at line 785 of file ll_dma.h.

◆ ll_dma_is_empty_fifo()

__STATIC_INLINE uint32_t ll_dma_is_empty_fifo ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Check if DMA channel FIFO is empty.

Register|BitsName --------|-------- CFGL | FIFO_EMPTY

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
Stateof bit (1 or 0).

Definition at line 551 of file ll_dma.h.

◆ ll_dma_is_enable()

__STATIC_INLINE uint32_t ll_dma_is_enable ( dma_regs_t *  DMAx)

Check if DMA Module is enabled or disabled.

Register|BitsName --------|-------- CFG_REG | CFG_EN

Parameters
DMAxDMA instance.
Return values
Stateof bit (1 or 0).

Definition at line 397 of file ll_dma.h.

◆ ll_dma_is_enable_bus_lock()

__STATIC_INLINE uint32_t ll_dma_is_enable_bus_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

CHeck if the Bus lock enable.

Register|BitsName --------|-------- CFG_LO | LOCK_B

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1594 of file ll_dma.h.

◆ ll_dma_is_enable_channel_lock()

__STATIC_INLINE uint32_t ll_dma_is_enable_channel_lock ( dma_regs_t *  DMAx,
uint32_t  channel 
)

CHeck if the channel lock enable.

Register|BitsName --------|-------- CFG_LO | LOCK_CH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1531 of file ll_dma.h.

◆ ll_dma_is_enabled_channel()

__STATIC_INLINE uint32_t ll_dma_is_enabled_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Check if DMA channel is enabled or disabled.

Note
Software can therefore poll this function to determine when channel is free for a new DMA transfer.

Register|BitsName --------|-------- CH_EN_REG | CH_EN_WE&CH_EN

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
Stateof bit (1 or 0).

Definition at line 464 of file ll_dma.h.

◆ ll_dma_is_suspended()

__STATIC_INLINE uint32_t ll_dma_is_suspended ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Check if DMA channel is suspended or resumed.

Register|BitsName --------|-------- CFGL | CH_SUSP

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
Stateof bit (1 or 0).

Definition at line 530 of file ll_dma.h.

◆ ll_dma_req_dst_burst_transaction()

__STATIC_INLINE void ll_dma_req_dst_burst_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Destination Burst Transaction Request.

Register|BitsName --------|-------- REQ_DST | DST_WE&DST

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1828 of file ll_dma.h.

◆ ll_dma_req_dst_last_burst_transaction()

__STATIC_INLINE void ll_dma_req_dst_last_burst_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Destination Last Burst Transaction Request.

Register|BitsName --------|-------- LST_DST | LST_DST_WE&LST_DST REQ_DST | DST_WE&DST

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1875 of file ll_dma.h.

◆ ll_dma_req_dst_last_single_transaction()

__STATIC_INLINE void ll_dma_req_dst_last_single_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Destination Last Single Transaction Request.

Register|BitsName --------|-------- SGL_REQ_DST | REQ_DST_WE&REQ_DST LST_DST | LST_DST_WE&LST_DST REQ_DST | DST_WE&DST

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1851 of file ll_dma.h.

◆ ll_dma_req_dst_single_transaction()

__STATIC_INLINE void ll_dma_req_dst_single_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Destination Single Transaction Request.

Register|BitsName --------|-------- SGL_REQ_DST | REQ_DST_WE&REQ_DST REQ_DST | DST_WE&DST

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1806 of file ll_dma.h.

◆ ll_dma_req_src_burst_transaction()

__STATIC_INLINE void ll_dma_req_src_burst_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Source Burst Transaction Request.

Register|BitsName --------|-------- REQ_SRC | SRC_WE&SRC

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1736 of file ll_dma.h.

◆ ll_dma_req_src_last_burst_transaction()

__STATIC_INLINE void ll_dma_req_src_last_burst_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Source Last Burst Transaction Request.

Register|BitsName --------|-------- LST_SRC | LST_SRC_WE&LST_SRC REQ_SRC | SRC_WE&SRC

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1783 of file ll_dma.h.

◆ ll_dma_req_src_last_single_transaction()

__STATIC_INLINE void ll_dma_req_src_last_single_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Source Last Single Transaction Request.

Register|BitsName --------|-------- SGL_REQ_SRC | REQ_SRC_WE&REQ_SRC LST_SRC | LST_SRC_WE&LST_SRC REQ_SRC | SRC_WE&SRC

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1759 of file ll_dma.h.

◆ ll_dma_req_src_single_transaction()

__STATIC_INLINE void ll_dma_req_src_single_transaction ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Source Single Transaction Request.

Register|BitsName --------|-------- SGL_REQ_SRC | REQ_SRC_WE&REQ_SRC REQ_SRC | SRC_WE&SRC

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 1714 of file ll_dma.h.

◆ ll_dma_resume_channel()

__STATIC_INLINE void ll_dma_resume_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Resume a DMA channel.

Note
The function may be called after enabling the DMA channel.

Register|BitsName --------|-------- CFGL | CH_SUSP

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 509 of file ll_dma.h.

◆ ll_dma_select_handshaking()

__STATIC_INLINE void ll_dma_select_handshaking ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  src_handshaking,
uint32_t  dst_handshaking 
)

Set source and destination source handshaking interface.

Register|BitsName --------|-------- CFG_HI | DST_PER

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
src_handshakingThis parameter can be one of the following values:
dst_handshakingThis parameter can be one of the following values:
Return values
None

Definition at line 1421 of file ll_dma.h.

◆ ll_dma_set_block_size()

__STATIC_INLINE void ll_dma_set_block_size ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  block_size 
)

Set the block size of a transfer.

Note
This action has no effect if channel is enabled.

Register|BitsName --------|-------- CTL_HI | BLOCK_TS

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
block_sizeBetween Min_Data = 0 and Max_Data = 0xFFF
Return values
None

Definition at line 1008 of file ll_dma.h.

◆ ll_dma_set_bus_lock_level()

__STATIC_INLINE void ll_dma_set_bus_lock_level ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  lock_level 
)

Set bus lock level.

Register|BitsName --------|-------- CFG_LO | LOCK_B

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
lock_levelThis parameter can be one of the following values:
Return values
None

Definition at line 1668 of file ll_dma.h.

◆ ll_dma_set_channel_lock_level()

__STATIC_INLINE void ll_dma_set_channel_lock_level ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  lock_level 
)

Set channel lock level.

Register|BitsName --------|-------- CFG_LO | LOCK_CH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
lock_levelThis parameter can be one of the following values:
Return values
None

Definition at line 1619 of file ll_dma.h.

◆ ll_dma_set_channel_priority_level()

__STATIC_INLINE void ll_dma_set_channel_priority_level ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  priority 
)

Set Channel priority level.

Register|BitsName --------|-------- CFG_LO | CH_PRIOR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
priorityThis parameter can be one of the following values:
Return values
None

Definition at line 959 of file ll_dma.h.

◆ ll_dma_set_data_transfer_direction()

__STATIC_INLINE void ll_dma_set_data_transfer_direction ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  direction 
)

Set Data transfer direction (read from peripheral or from memory).

Register|BitsName --------|-------- CTL_LO | TT_FC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
directionThis parameter can be one of the following values:
Return values
None

Definition at line 613 of file ll_dma.h.

◆ ll_dma_set_destination_address()

__STATIC_INLINE void ll_dma_set_destination_address ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  address 
)

Set the Destination address.

Register|BitsName --------|-------- DAR | DAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
Return values
None

Definition at line 1112 of file ll_dma.h.

◆ ll_dma_set_destination_burst_length()

__STATIC_INLINE void ll_dma_set_destination_burst_length ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  burst_length 
)

Set Destination Burst Transaction Length.

Register|BitsName --------|-------- CTL_LO | DST_MSIZE

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
burst_lengthThis parameter can be one of the following values:
Return values
None

Definition at line 908 of file ll_dma.h.

◆ ll_dma_set_destination_increment_mode()

__STATIC_INLINE void ll_dma_set_destination_increment_mode ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  dst_increment_mode 
)

Set Destination increment mode.

Register|BitsName --------|-------- CTL_LO | DINC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
dst_increment_modeThis parameter can be one of the following values:
Return values
None

Definition at line 712 of file ll_dma.h.

◆ ll_dma_set_destination_peripheral()

__STATIC_INLINE void ll_dma_set_destination_peripheral ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  peripheral 
)

Set destination peripheral for DMA instance on Channel x.

Register|BitsName --------|-------- CFG_HI | DST_PER

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
peripheralThis parameter can be one of the following values:
Return values
None

Definition at line 1358 of file ll_dma.h.

◆ ll_dma_set_destination_width()

__STATIC_INLINE void ll_dma_set_destination_width ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  dst_width 
)

Set Destination transfer width.

Register|BitsName --------|-------- CTL_LO | DST_TR_WIDTH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
dst_widthThis parameter can be one of the following values:
Return values
None

Definition at line 810 of file ll_dma.h.

◆ ll_dma_set_m2m_dst_address()

__STATIC_INLINE void ll_dma_set_m2m_dst_address ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  address 
)

Set the Memory to Memory Destination address.

Note
Interface used for direction LL_DMA_DIRECTION_MEMORY_TO_MEMORY only.

Register|BitsName --------|-------- DAR | DAR CTL_LO | TT_FC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
Return values
None

Definition at line 1202 of file ll_dma.h.

◆ ll_dma_set_m2m_src_address()

__STATIC_INLINE void ll_dma_set_m2m_src_address ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  address 
)

Set the Memory to Memory Source address.

Note
Interface used for direction LL_DMA_DIRECTION_MEMORY_TO_MEMORY only.

Register|BitsName --------|-------- SAR | SAR CTL_LO | TT_FC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
Return values
None

Definition at line 1177 of file ll_dma.h.

◆ ll_dma_set_max_amba_burst()

__STATIC_INLINE void ll_dma_set_max_amba_burst ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  beats 
)

Set Maximum AMBA Burst Length.

Register|BitsName --------|-------- CFG_LO | MAX_ABRST

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
beatsThis parameter can be one of the following values: Between Min_Data = 0 and Max_Data = 0x3FFU.
Return values
None

Definition at line 1445 of file ll_dma.h.

◆ ll_dma_set_source_address()

__STATIC_INLINE void ll_dma_set_source_address ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  address 
)

Set the Source address.

Register|BitsName --------|-------- SAR | SAR

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
addressBetween Min_Data = 0 and Max_Data = 0xFFFFFFFF
Return values
None

Definition at line 1090 of file ll_dma.h.

◆ ll_dma_set_source_burst_length()

__STATIC_INLINE void ll_dma_set_source_burst_length ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  burst_length 
)

Set Source Burst Transaction Length.

Register|BitsName --------|-------- CTL_LO | SRC_MSIZE

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
burst_lengthThis parameter can be one of the following values:
Return values
None

Definition at line 859 of file ll_dma.h.

◆ ll_dma_set_source_increment_mode()

__STATIC_INLINE void ll_dma_set_source_increment_mode ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  src_increment_mode 
)

Set Source increment mode.

Register|BitsName --------|-------- CTL_LO | SINC

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
src_increment_modeThis parameter can be one of the following values:
Return values
None

Definition at line 663 of file ll_dma.h.

◆ ll_dma_set_source_peripheral()

__STATIC_INLINE void ll_dma_set_source_peripheral ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  peripheral 
)

Set source peripheral for DMA instance on Channel x.

Register|BitsName --------|-------- CFG_HI | SRC_PER

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
peripheralThis parameter can be one of the following values:
Return values
None

Definition at line 1285 of file ll_dma.h.

◆ ll_dma_set_source_width()

__STATIC_INLINE void ll_dma_set_source_width ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  src_width 
)

Set Source transfer width.

Register|BitsName --------|-------- CTL_LO | SRC_TR_WIDTH

Parameters
DMAxDMAx instance
channelThis parameter can be one of the following values:
src_widthThis parameter can be one of the following values:
Return values
None

Definition at line 761 of file ll_dma.h.

◆ ll_dma_suspend_channel()

__STATIC_INLINE void ll_dma_suspend_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Suspend a DMA channel transfer.

Note
Suspends all DMA data transfers from the source until the ll_dma_resume_channel() function is called. The function may be called after enabling the DMA channel.

Register|BitsName --------|-------- CFGL | CH_SUSP

Parameters
DMAxDMA instance.
channelThis parameter can be one of the following values:
Return values
None

Definition at line 487 of file ll_dma.h.