Functions
Configuration functions
Peripheral Driver » LL Driver » DMA » 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  src_address | Between Min_Data = 0 and Max_Data = 0xFFFFFFFF
  dst_address | Between Min_Data = 0 and Max_Data = 0xFFFFFFFF
  direction | This parameter can be one of the following values: LL_DMA_DIRECTION_MEMORY_TO_MEMORY LL_DMA_DIRECTION_MEMORY_TO_PERIPH LL_DMA_DIRECTION_PERIPH_TO_MEMORY LL_DMA_DIRECTION_PERIPH_TO_PERIPH

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  configuration | This parameter must be a combination of all the following values: LL_DMA_MODE_SINGLE_BLOCK or LL_DMA_MODE_MULTI_BLOCK_SRC_RELOAD or LL_DMA_MODE_MULTI_BLOCK_DST_RELOAD or LL_DMA_MODE_MULTI_BLOCK_ALL_RELOAD LL_DMA_SRC_INCREMENT or LL_DMA_SRC_DECREMENT or LL_DMA_SRC_NO_CHANGE LL_DMA_DST_INCREMENT or LL_DMA_DST_DECREMENT or LL_DMA_DST_NO_CHANGE LL_DMA_SDATAALIGN_BYTE or LL_DMA_SDATAALIGN_HALFWORD or LL_DMA_SDATAALIGN_WORD LL_DMA_DDATAALIGN_BYTE or LL_DMA_DDATAALIGN_HALFWORD or LL_DMA_DDATAALIGN_WORD LL_DMA_SRC_BURST_LENGTH_1 or LL_DMA_SRC_BURST_LENGTH_4 or LL_DMA_SRC_BURST_LENGTH_8 LL_DMA_DST_BURST_LENGTH_1 or LL_DMA_DST_BURST_LENGTH_4 or LL_DMA_DST_BURST_LENGTH_8

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

  DMAx | DMA 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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA 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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Between | Min_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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_PRIORITY_0 LL_DMA_PRIORITY_1 LL_DMA_PRIORITY_2 LL_DMA_PRIORITY_3 LL_DMA_PRIORITY_4 LL_DMA_PRIORITY_5 LL_DMA_PRIORITY_6 LL_DMA_PRIORITY_7

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_DIRECTION_MEMORY_TO_MEMORY LL_DMA_DIRECTION_MEMORY_TO_PERIPH LL_DMA_DIRECTION_PERIPH_TO_MEMORY LL_DMA_DIRECTION_PERIPH_TO_PERIPH

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Between | Min_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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_DST_BURST_LENGTH_1 LL_DMA_DST_BURST_LENGTH_4 LL_DMA_DST_BURST_LENGTH_8

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_DST_INCREMENT LL_DMA_DST_DECREMENT LL_DMA_DST_NO_CHANGE

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_PERIPH_SPIM_TX LL_DMA_PERIPH_SPIM_RX LL_DMA_PERIPH_SPIS_TX LL_DMA_PERIPH_SPIS_RX LL_DMA_PERIPH_QSPI0_TX LL_DMA_PERIPH_QSPI0_RX LL_DMA_PERIPH_I2C0_TX LL_DMA_PERIPH_I2C0_RX LL_DMA_PERIPH_I2C1_TX LL_DMA_PERIPH_I2C1_RX LL_DMA_PERIPH_I2S_S_TX LL_DMA_PERIPH_I2S_S_RX LL_DMA_PERIPH_UART0_TX LL_DMA_PERIPH_UART0_RX LL_DMA_PERIPH_QSPI1_TX LL_DMA_PERIPH_QSPI1_RX LL_DMA_PERIPH_I2S_M_TX LL_DMA_PERIPH_I2S_M_RX LL_DMA_PERIPH_SNSADC

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_DDATAALIGN_BYTE LL_DMA_DDATAALIGN_HALFWORD LL_DMA_DDATAALIGN_WORD

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Between | Min_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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Between | Min_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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_MODE_SINGLE_BLOCK LL_DMA_MODE_MULTI_BLOCK_SRC_RELOAD LL_DMA_MODE_MULTI_BLOCK_DST_RELOAD LL_DMA_MODE_MULTI_BLOCK_ALL_RELOAD

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Between | Min_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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_SRC_BURST_LENGTH_1 LL_DMA_SRC_BURST_LENGTH_4 LL_DMA_SRC_BURST_LENGTH_8

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_SRC_INCREMENT LL_DMA_SRC_DECREMENT LL_DMA_SRC_NO_CHANGE

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_PERIPH_SPIM_TX LL_DMA_PERIPH_SPIM_RX LL_DMA_PERIPH_SPIS_TX LL_DMA_PERIPH_SPIS_RX LL_DMA_PERIPH_QSPI0_TX LL_DMA_PERIPH_QSPI0_RX LL_DMA_PERIPH_I2C0_TX LL_DMA_PERIPH_I2C0_RX LL_DMA_PERIPH_I2C1_TX LL_DMA_PERIPH_I2C1_RX LL_DMA_PERIPH_I2S_S_TX LL_DMA_PERIPH_I2S_S_RX LL_DMA_PERIPH_UART0_TX LL_DMA_PERIPH_UART0_RX LL_DMA_PERIPH_QSPI1_TX LL_DMA_PERIPH_QSPI1_RX LL_DMA_PERIPH_I2S_M_TX LL_DMA_PERIPH_I2S_M_RX LL_DMA_PERIPH_SNSADC

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  Returned | value can be one of the following values: LL_DMA_SDATAALIGN_BYTE LL_DMA_SDATAALIGN_HALFWORD LL_DMA_SDATAALIGN_WORD

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  State | of 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

  DMAx | DMA instance.

Return values

  State | of 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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  State | of 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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  State | of 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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  src_handshaking | This parameter can be one of the following values: LL_DMA_SHANDSHAKING_HW LL_DMA_SHANDSHAKING_HW
  dst_handshaking | This parameter can be one of the following values: LL_DMA_DHANDSHAKING_HW LL_DMA_DHANDSHAKING_HW

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  block_size | Between 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  priority | This parameter can be one of the following values: LL_DMA_PRIORITY_0 LL_DMA_PRIORITY_1 LL_DMA_PRIORITY_2 LL_DMA_PRIORITY_3 LL_DMA_PRIORITY_4 LL_DMA_PRIORITY_5 LL_DMA_PRIORITY_6 LL_DMA_PRIORITY_7

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  direction | This parameter can be one of the following values: LL_DMA_DIRECTION_MEMORY_TO_MEMORY LL_DMA_DIRECTION_MEMORY_TO_PERIPH LL_DMA_DIRECTION_PERIPH_TO_MEMORY LL_DMA_DIRECTION_PERIPH_TO_PERIPH

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  address | Between 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  burst_length | This parameter can be one of the following values: LL_DMA_DST_BURST_LENGTH_1 LL_DMA_DST_BURST_LENGTH_4 LL_DMA_DST_BURST_LENGTH_8

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  dst_increment_mode | This parameter can be one of the following values: LL_DMA_DST_INCREMENT LL_DMA_DST_DECREMENT LL_DMA_DST_NO_CHANGE

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  peripheral | This parameter can be one of the following values: LL_DMA_PERIPH_SPIM_TX LL_DMA_PERIPH_SPIM_RX LL_DMA_PERIPH_SPIS_TX LL_DMA_PERIPH_SPIS_RX LL_DMA_PERIPH_QSPI0_TX LL_DMA_PERIPH_QSPI0_RX LL_DMA_PERIPH_I2C0_TX LL_DMA_PERIPH_I2C0_RX LL_DMA_PERIPH_I2C1_TX LL_DMA_PERIPH_I2C1_RX LL_DMA_PERIPH_I2S_S_TX LL_DMA_PERIPH_I2S_S_RX LL_DMA_PERIPH_UART0_TX LL_DMA_PERIPH_UART0_RX LL_DMA_PERIPH_QSPI1_TX LL_DMA_PERIPH_QSPI1_RX LL_DMA_PERIPH_I2S_M_TX LL_DMA_PERIPH_I2S_M_RX LL_DMA_PERIPH_SNSADC

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  dst_width | This parameter can be one of the following values: LL_DMA_DDATAALIGN_BYTE LL_DMA_DDATAALIGN_HALFWORD LL_DMA_DDATAALIGN_WORD

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  address | Between 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  address | Between 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  mode | This parameter can be one of the following values: LL_DMA_MODE_SINGLE_BLOCK LL_DMA_MODE_MULTI_BLOCK_SRC_RELOAD LL_DMA_MODE_MULTI_BLOCK_DST_RELOAD LL_DMA_MODE_MULTI_BLOCK_ALL_RELOAD

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  address | Between 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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  burst_length | This parameter can be one of the following values: LL_DMA_SRC_BURST_LENGTH_1 LL_DMA_SRC_BURST_LENGTH_4 LL_DMA_SRC_BURST_LENGTH_8

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  src_increment_mode | This parameter can be one of the following values: LL_DMA_SRC_INCREMENT LL_DMA_SRC_DECREMENT LL_DMA_SRC_NO_CHANGE

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  peripheral | This parameter can be one of the following values: LL_DMA_PERIPH_SPIM_TX LL_DMA_PERIPH_SPIM_RX LL_DMA_PERIPH_SPIS_TX LL_DMA_PERIPH_SPIS_RX LL_DMA_PERIPH_QSPI0_TX LL_DMA_PERIPH_QSPI0_RX LL_DMA_PERIPH_I2C0_TX LL_DMA_PERIPH_I2C0_RX LL_DMA_PERIPH_I2C1_TX LL_DMA_PERIPH_I2C1_RX LL_DMA_PERIPH_I2S_S_TX LL_DMA_PERIPH_I2S_S_RX LL_DMA_PERIPH_UART0_TX LL_DMA_PERIPH_UART0_RX LL_DMA_PERIPH_QSPI1_TX LL_DMA_PERIPH_QSPI1_RX LL_DMA_PERIPH_I2S_M_TX LL_DMA_PERIPH_I2S_M_RX LL_DMA_PERIPH_SNSADC

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

  DMAx | DMAx instance
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7
  src_width | This parameter can be one of the following values: LL_DMA_SDATAALIGN_BYTE LL_DMA_SDATAALIGN_HALFWORD LL_DMA_SDATAALIGN_WORD

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

  DMAx | DMA instance.
  channel | This parameter can be one of the following values: LL_DMA_CHANNEL_0 LL_DMA_CHANNEL_1 LL_DMA_CHANNEL_2 LL_DMA_CHANNEL_3 LL_DMA_CHANNEL_4 LL_DMA_CHANNEL_5 LL_DMA_CHANNEL_6 LL_DMA_CHANNEL_7

Return values

  None |

Definition at line 514 of file gr55xx_ll_dma.h.