Configuration functions
+ Collaboration diagram for 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_mode (dma_regs_t *DMAx, uint32_t channel, uint32_t mode)
 Set DMA mode Single block or Multi block. More...
 
__STATIC_INLINE uint32_t ll_dma_get_mode (dma_regs_t *DMAx, uint32_t channel)
 Get DMA mode circular or normal. 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_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)

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SAR | SAR | +-------------------—+--------------------------------—+ \endrst 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 1326 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CCR | DIR | +-------------------—+--------------------------------—+ \endrst 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 642 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_REG | CFG_EN | +-------------------—+--------------------------------—+ \endrst

Parameters
DMAxDMA instance.
Return values
None

Definition at line 377 of file gr55xx_ll_dma.h.

◆ ll_dma_disable_channel()

__STATIC_INLINE void ll_dma_disable_channel ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Disable DMA channel.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CH_EN_REG | CH_EN_WE&CH_EN | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 454 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_REG | CFG_EN | +-------------------—+--------------------------------—+ \endrst

Parameters
DMAxDMA instance.
Return values
None

Definition at line 354 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CH_EN_REG | CH_EN_WE&CH_EN | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 426 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_HI | BLOCK_TS | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1288 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_LO | CH_PRIOR | +-------------------—+--------------------------------—+ \endrst

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 1228 of file gr55xx_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).

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | TT_FC | +-------------------—+--------------------------------—+ \endrst

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 709 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | DAR | DAR | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1446 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DST_MSIZE | +-------------------—+--------------------------------—+ \endrst

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 1155 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DINC | +-------------------—+--------------------------------—+ \endrst

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 903 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_HI | DST_PER | +-------------------—+--------------------------------—+ \endrst

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 1757 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DST_TR_WIDTH | +-------------------—+--------------------------------—+ \endrst

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 1029 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | DAR | DAR | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1567 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SAR | SAR | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1538 of file gr55xx_ll_dma.h.

◆ ll_dma_get_mode()

__STATIC_INLINE uint32_t ll_dma_get_mode ( dma_regs_t *  DMAx,
uint32_t  channel 
)

Get DMA mode circular or normal.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_LO | RELOAD_DST | +-------------------—+--------------------------------—+ \endrst

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 777 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SAR | SAR | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1418 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SRC_MSIZE | +-------------------—+--------------------------------—+ \endrst

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 1092 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SINC | +-------------------—+--------------------------------—+ \endrst

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 840 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_HI | SRC_PER | +-------------------—+--------------------------------—+ \endrst

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 1662 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SRC_TR_WIDTH | +-------------------—+--------------------------------—+ \endrst

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 966 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFGL | FIFO_EMPTY | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 599 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_REG | CFG_EN | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 396 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CH_EN_REG | CH_EN_WE&CH_EN | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 484 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFGL | CH_SUSP | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 571 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | REQ_DST | DST_WE&DST | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1970 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | LST_DST | LST_DST_WE&LST_DST | +-------------------—+--------------------------------—+ \endrst REQ_DST | DST_WE&DST

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

Definition at line 2031 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SGL_REQ_DST | REQ_DST_WE&REQ_DST | +-------------------—+--------------------------------—+ \endrst 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 2000 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SGL_REQ_DST | REQ_DST_WE&REQ_DST | +-------------------—+--------------------------------—+ \endrst REQ_DST | DST_WE&DST

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

Definition at line 1941 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | REQ_SRC | SRC_WE&SRC | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 1850 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | LST_SRC | LST_SRC_WE&LST_SRC | +-------------------—+--------------------------------—+ \endrst REQ_SRC | SRC_WE&SRC

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

Definition at line 1911 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SGL_REQ_SRC | REQ_SRC_WE&REQ_SRC | +-------------------—+--------------------------------—+ \endrst 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 1880 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SGL_REQ_SRC | REQ_SRC_WE&REQ_SRC | +-------------------—+--------------------------------—+ \endrst REQ_SRC | SRC_WE&SRC

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

Definition at line 1821 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFGL | CH_SUSP | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 543 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_HI | DST_PER | +-------------------—+--------------------------------—+ \endrst

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 1791 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_HI | BLOCK_TS | +-------------------—+--------------------------------—+ \endrst

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 1258 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_LO | CH_PRIOR | +-------------------—+--------------------------------—+ \endrst

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 1192 of file gr55xx_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).

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | TT_FC | +-------------------—+--------------------------------—+ \endrst

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 677 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | DAR | DAR | +-------------------—+--------------------------------—+ \endrst

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 1390 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DST_MSIZE | +-------------------—+--------------------------------—+ \endrst

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 1124 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DINC | +-------------------—+--------------------------------—+ \endrst

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 872 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_HI | DST_PER | +-------------------—+--------------------------------—+ \endrst

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 1710 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | DST_TR_WIDTH | +-------------------—+--------------------------------—+ \endrst

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 998 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | DAR | DAR | +-------------------—+--------------------------------—+ \endrst 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 1508 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SAR | SAR | +-------------------—+--------------------------------—+ \endrst 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 1476 of file gr55xx_ll_dma.h.

◆ ll_dma_set_mode()

__STATIC_INLINE void ll_dma_set_mode ( dma_regs_t *  DMAx,
uint32_t  channel,
uint32_t  mode 
)

Set DMA mode Single block or Multi block.

Note
The circular buffer mode cannot be used if the memory-to-memory data transfer is configured on the selected Channel.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_LO | RELOAD_DST | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 744 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | SAR | SAR | +-------------------—+--------------------------------—+ \endrst

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 1361 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SRC_MSIZE | +-------------------—+--------------------------------—+ \endrst

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 1061 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SINC | +-------------------—+--------------------------------—+ \endrst

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 809 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFG_HI | SRC_PER | +-------------------—+--------------------------------—+ \endrst

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 1615 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CTL_LO | SRC_TR_WIDTH | +-------------------—+--------------------------------—+ \endrst

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 935 of file gr55xx_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.

\rst +-------------------—+--------------------------------—+ | Register | BitsName | +======================+===================================+ | CFGL | CH_SUSP | +-------------------—+--------------------------------—+ \endrst

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

Definition at line 514 of file gr55xx_ll_dma.h.