PER Firmware
Loading...
Searching...
No Matches
dma_wiring.h File Reference

G4 DMA Peripheral wiring configuration and definitions. More...

#include "stm32g474xx.h"
Include dependency graph for dma_wiring.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PHAL_DMA_Wiring_t
 Fixed hardware wiring for one peripheral + direction's DMA use. More...
 

Enumerations

enum  PHAL_DMA_Size_t { DMA_SIZE_8BIT = 0 , DMA_SIZE_16BIT = 1 , DMA_SIZE_32BIT = 2 }
 Width of each DMA data element. More...
 
enum  PHAL_DMA_Direction_t { DMA_PERIPH_TO_MEMORY = 0 , DMA_MEMORY_TO_PERIPH = 1 }
 Direction of a peripheral <-> memory transfer. More...
 
enum  PHAL_DMA_Request_t : uint8_t {
  DMA_REQUEST_ADC1 = 5U , DMA_REQUEST_ADC2 = 36U , DMA_REQUEST_ADC3 = 37U , DMA_REQUEST_ADC4 = 38U ,
  DMA_REQUEST_SPI1_RX = 10U , DMA_REQUEST_SPI1_TX = 11U , DMA_REQUEST_SPI2_RX = 12U , DMA_REQUEST_SPI2_TX = 13U ,
  DMA_REQUEST_SPI3_RX = 14U , DMA_REQUEST_SPI3_TX = 15U , DMA_REQUEST_USART1_RX = 24U , DMA_REQUEST_USART1_TX = 25U ,
  DMA_REQUEST_USART2_RX = 26U , DMA_REQUEST_USART2_TX = 27U , DMA_REQUEST_USART3_RX = 28U , DMA_REQUEST_USART3_TX = 29U
}
 DMAMUX request IDs (RM0440 Table 91) More...
 

Variables

static const PHAL_DMA_Wiring_t USART1_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t USART1_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t USART2_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t USART2_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t USART3_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t USART3_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI1_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI1_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI2_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI2_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI3_RX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t SPI3_TX_DMA_WIRING
 
static const PHAL_DMA_Wiring_t ADC1_DMA_WIRING
 
static const PHAL_DMA_Wiring_t ADC2_DMA_WIRING
 
static const PHAL_DMA_Wiring_t ADC3_DMA_WIRING
 
static const PHAL_DMA_Wiring_t ADC4_DMA_WIRING
 

Detailed Description

G4 DMA Peripheral wiring configuration and definitions.

Author
Millan Kumar (kumar.nosp@m.798@.nosp@m.purdu.nosp@m.e.ed.nosp@m.u)

Enumeration Type Documentation

◆ PHAL_DMA_Direction_t

Direction of a peripheral <-> memory transfer.

Ignored for DMA_MODE_MEM2MEM, which moves data between two memory addresses with no peripheral or DMAMUX request involved.

Enumerator
DMA_PERIPH_TO_MEMORY 
DMA_MEMORY_TO_PERIPH 

◆ PHAL_DMA_Request_t

enum PHAL_DMA_Request_t : uint8_t

DMAMUX request IDs (RM0440 Table 91)

Not every peripheral is listed yet

Enumerator
DMA_REQUEST_ADC1 
DMA_REQUEST_ADC2 
DMA_REQUEST_ADC3 
DMA_REQUEST_ADC4 
DMA_REQUEST_SPI1_RX 
DMA_REQUEST_SPI1_TX 
DMA_REQUEST_SPI2_RX 
DMA_REQUEST_SPI2_TX 
DMA_REQUEST_SPI3_RX 
DMA_REQUEST_SPI3_TX 
DMA_REQUEST_USART1_RX 
DMA_REQUEST_USART1_TX 
DMA_REQUEST_USART2_RX 
DMA_REQUEST_USART2_TX 
DMA_REQUEST_USART3_RX 
DMA_REQUEST_USART3_TX 

◆ PHAL_DMA_Size_t

Width of each DMA data element.

Enumerator
DMA_SIZE_8BIT 
DMA_SIZE_16BIT 
DMA_SIZE_32BIT 

Variable Documentation

◆ ADC1_DMA_WIRING

const PHAL_DMA_Wiring_t ADC1_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 1,
.mux_request = DMA_REQUEST_ADC1,
.periph_reg = &ADC1->DR,
.data_size = DMA_SIZE_16BIT,
}
@ DMA_REQUEST_ADC1
Definition dma_wiring.h:36
@ DMA_PERIPH_TO_MEMORY
Definition dma_wiring.h:26
@ DMA_SIZE_16BIT
Definition dma_wiring.h:15

◆ ADC2_DMA_WIRING

const PHAL_DMA_Wiring_t ADC2_DMA_WIRING
static
Initial value:
= {
.periph = DMA2,
.channel_idx = 1,
.mux_request = DMA_REQUEST_ADC2,
.periph_reg = &ADC2->DR,
.data_size = DMA_SIZE_16BIT,
}
@ DMA_REQUEST_ADC2
Definition dma_wiring.h:37

◆ ADC3_DMA_WIRING

const PHAL_DMA_Wiring_t ADC3_DMA_WIRING
static
Initial value:
= {
.periph = DMA2,
.channel_idx = 2,
.mux_request = DMA_REQUEST_ADC3,
.periph_reg = &ADC3->DR,
.data_size = DMA_SIZE_16BIT,
}
@ DMA_REQUEST_ADC3
Definition dma_wiring.h:38

◆ ADC4_DMA_WIRING

const PHAL_DMA_Wiring_t ADC4_DMA_WIRING
static
Initial value:
= {
.periph = DMA2,
.channel_idx = 3,
.mux_request = DMA_REQUEST_ADC4,
.periph_reg = &ADC4->DR,
.data_size = DMA_SIZE_16BIT,
}
@ DMA_REQUEST_ADC4
Definition dma_wiring.h:39

◆ SPI1_RX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI1_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 2,
.mux_request = DMA_REQUEST_SPI1_RX,
.periph_reg = &SPI1->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI1_RX
Definition dma_wiring.h:41
@ DMA_SIZE_8BIT
Definition dma_wiring.h:14

◆ SPI1_TX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI1_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 3,
.mux_request = DMA_REQUEST_SPI1_TX,
.periph_reg = &SPI1->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI1_TX
Definition dma_wiring.h:42
@ DMA_MEMORY_TO_PERIPH
Definition dma_wiring.h:27

◆ SPI2_RX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI2_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 4,
.mux_request = DMA_REQUEST_SPI2_RX,
.periph_reg = &SPI2->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI2_RX
Definition dma_wiring.h:43

◆ SPI2_TX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI2_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 5,
.mux_request = DMA_REQUEST_SPI2_TX,
.periph_reg = &SPI2->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI2_TX
Definition dma_wiring.h:44

◆ SPI3_RX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI3_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA2,
.channel_idx = 2,
.mux_request = DMA_REQUEST_SPI3_RX,
.periph_reg = &SPI3->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI3_RX
Definition dma_wiring.h:45

◆ SPI3_TX_DMA_WIRING

const PHAL_DMA_Wiring_t SPI3_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA2,
.channel_idx = 3,
.mux_request = DMA_REQUEST_SPI3_TX,
.periph_reg = &SPI3->DR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_SPI3_TX
Definition dma_wiring.h:46

◆ USART1_RX_DMA_WIRING

const PHAL_DMA_Wiring_t USART1_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 5,
.mux_request = DMA_REQUEST_USART1_RX,
.periph_reg = &USART1->RDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART1_RX
Definition dma_wiring.h:48

◆ USART1_TX_DMA_WIRING

const PHAL_DMA_Wiring_t USART1_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 7,
.mux_request = DMA_REQUEST_USART1_TX,
.periph_reg = &USART1->TDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART1_TX
Definition dma_wiring.h:49

◆ USART2_RX_DMA_WIRING

const PHAL_DMA_Wiring_t USART2_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 3,
.mux_request = DMA_REQUEST_USART2_RX,
.periph_reg = &USART2->RDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART2_RX
Definition dma_wiring.h:50

◆ USART2_TX_DMA_WIRING

const PHAL_DMA_Wiring_t USART2_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 4,
.mux_request = DMA_REQUEST_USART2_TX,
.periph_reg = &USART2->TDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART2_TX
Definition dma_wiring.h:51

◆ USART3_RX_DMA_WIRING

const PHAL_DMA_Wiring_t USART3_RX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 1,
.mux_request = DMA_REQUEST_USART3_RX,
.periph_reg = &USART3->RDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART3_RX
Definition dma_wiring.h:52

◆ USART3_TX_DMA_WIRING

const PHAL_DMA_Wiring_t USART3_TX_DMA_WIRING
static
Initial value:
= {
.periph = DMA1,
.channel_idx = 2,
.mux_request = DMA_REQUEST_USART3_TX,
.periph_reg = &USART3->TDR,
.data_size = DMA_SIZE_8BIT,
}
@ DMA_REQUEST_USART3_TX
Definition dma_wiring.h:53