PER Firmware
Loading...
Searching...
No Matches
dma_wiring.h
Go to the documentation of this file.
1
7#ifndef PHAL_G4_DMA_WIRING_H
8#define PHAL_G4_DMA_WIRING_H
9
10#include "stm32g474xx.h"
11
18
29
55
74
75
76// USUART ----------------------------------------------------------------------
77
79 .periph = DMA1,
80 .channel_idx = 5,
81 .mux_request = DMA_REQUEST_USART1_RX,
82 .periph_reg = &USART1->RDR,
84 .data_size = DMA_SIZE_8BIT,
85};
86
88 .periph = DMA1,
89 .channel_idx = 7,
90 .mux_request = DMA_REQUEST_USART1_TX,
91 .periph_reg = &USART1->TDR,
93 .data_size = DMA_SIZE_8BIT,
94};
95
97 .periph = DMA1,
98 .channel_idx = 3,
99 .mux_request = DMA_REQUEST_USART2_RX,
100 .periph_reg = &USART2->RDR,
102 .data_size = DMA_SIZE_8BIT,
103};
104
106 .periph = DMA1,
107 .channel_idx = 4,
108 .mux_request = DMA_REQUEST_USART2_TX,
109 .periph_reg = &USART2->TDR,
111 .data_size = DMA_SIZE_8BIT,
112};
113
115 .periph = DMA1,
116 .channel_idx = 1,
117 .mux_request = DMA_REQUEST_USART3_RX,
118 .periph_reg = &USART3->RDR,
120 .data_size = DMA_SIZE_8BIT,
121};
122
124 .periph = DMA1,
125 .channel_idx = 2,
126 .mux_request = DMA_REQUEST_USART3_TX,
127 .periph_reg = &USART3->TDR,
129 .data_size = DMA_SIZE_8BIT,
130};
131
132
133// SPI -------------------------------------------------------------------------
134
136 .periph = DMA1,
137 .channel_idx = 2,
138 .mux_request = DMA_REQUEST_SPI1_RX,
139 .periph_reg = &SPI1->DR,
141 .data_size = DMA_SIZE_8BIT,
142};
143
145 .periph = DMA1,
146 .channel_idx = 3,
147 .mux_request = DMA_REQUEST_SPI1_TX,
148 .periph_reg = &SPI1->DR,
150 .data_size = DMA_SIZE_8BIT,
151};
152
154 .periph = DMA1,
155 .channel_idx = 4,
156 .mux_request = DMA_REQUEST_SPI2_RX,
157 .periph_reg = &SPI2->DR,
159 .data_size = DMA_SIZE_8BIT,
160};
161
163 .periph = DMA1,
164 .channel_idx = 5,
165 .mux_request = DMA_REQUEST_SPI2_TX,
166 .periph_reg = &SPI2->DR,
168 .data_size = DMA_SIZE_8BIT,
169};
170
172 .periph = DMA2,
173 .channel_idx = 2,
174 .mux_request = DMA_REQUEST_SPI3_RX,
175 .periph_reg = &SPI3->DR,
177 .data_size = DMA_SIZE_8BIT,
178};
179
181 .periph = DMA2,
182 .channel_idx = 3,
183 .mux_request = DMA_REQUEST_SPI3_TX,
184 .periph_reg = &SPI3->DR,
186 .data_size = DMA_SIZE_8BIT,
187};
188
189
190// ADC -------------------------------------------------------------------------
191
193 .periph = DMA1,
194 .channel_idx = 1,
195 .mux_request = DMA_REQUEST_ADC1,
196 .periph_reg = &ADC1->DR,
198 .data_size = DMA_SIZE_16BIT,
199};
200
202 .periph = DMA2,
203 .channel_idx = 1,
204 .mux_request = DMA_REQUEST_ADC2,
205 .periph_reg = &ADC2->DR,
207 .data_size = DMA_SIZE_16BIT,
208};
209
211 .periph = DMA2,
212 .channel_idx = 2,
213 .mux_request = DMA_REQUEST_ADC3,
214 .periph_reg = &ADC3->DR,
216 .data_size = DMA_SIZE_16BIT,
217};
218
220 .periph = DMA2,
221 .channel_idx = 3,
222 .mux_request = DMA_REQUEST_ADC4,
223 .periph_reg = &ADC4->DR,
225 .data_size = DMA_SIZE_16BIT,
226};
227
228
229#endif // PHAL_G4_DMA_WIRING_H
static const PHAL_DMA_Wiring_t SPI2_TX_DMA_WIRING
Definition dma_wiring.h:162
static const PHAL_DMA_Wiring_t SPI1_TX_DMA_WIRING
Definition dma_wiring.h:144
PHAL_DMA_Request_t
DMAMUX request IDs (RM0440 Table 91)
Definition dma_wiring.h:35
@ DMA_REQUEST_SPI2_RX
Definition dma_wiring.h:43
@ DMA_REQUEST_SPI2_TX
Definition dma_wiring.h:44
@ DMA_REQUEST_ADC4
Definition dma_wiring.h:39
@ DMA_REQUEST_USART3_TX
Definition dma_wiring.h:53
@ DMA_REQUEST_ADC3
Definition dma_wiring.h:38
@ DMA_REQUEST_SPI1_RX
Definition dma_wiring.h:41
@ DMA_REQUEST_USART1_RX
Definition dma_wiring.h:48
@ DMA_REQUEST_USART3_RX
Definition dma_wiring.h:52
@ DMA_REQUEST_USART2_TX
Definition dma_wiring.h:51
@ DMA_REQUEST_SPI3_TX
Definition dma_wiring.h:46
@ DMA_REQUEST_SPI3_RX
Definition dma_wiring.h:45
@ DMA_REQUEST_SPI1_TX
Definition dma_wiring.h:42
@ DMA_REQUEST_ADC1
Definition dma_wiring.h:36
@ DMA_REQUEST_ADC2
Definition dma_wiring.h:37
@ DMA_REQUEST_USART2_RX
Definition dma_wiring.h:50
@ DMA_REQUEST_USART1_TX
Definition dma_wiring.h:49
static const PHAL_DMA_Wiring_t ADC4_DMA_WIRING
Definition dma_wiring.h:219
static const PHAL_DMA_Wiring_t USART1_RX_DMA_WIRING
Definition dma_wiring.h:78
static const PHAL_DMA_Wiring_t USART3_RX_DMA_WIRING
Definition dma_wiring.h:114
static const PHAL_DMA_Wiring_t ADC3_DMA_WIRING
Definition dma_wiring.h:210
static const PHAL_DMA_Wiring_t ADC1_DMA_WIRING
Definition dma_wiring.h:192
static const PHAL_DMA_Wiring_t ADC2_DMA_WIRING
Definition dma_wiring.h:201
static const PHAL_DMA_Wiring_t USART2_TX_DMA_WIRING
Definition dma_wiring.h:105
static const PHAL_DMA_Wiring_t USART2_RX_DMA_WIRING
Definition dma_wiring.h:96
static const PHAL_DMA_Wiring_t SPI3_RX_DMA_WIRING
Definition dma_wiring.h:171
PHAL_DMA_Direction_t
Direction of a peripheral <-> memory transfer.
Definition dma_wiring.h:25
@ DMA_MEMORY_TO_PERIPH
Definition dma_wiring.h:27
@ DMA_PERIPH_TO_MEMORY
Definition dma_wiring.h:26
static const PHAL_DMA_Wiring_t SPI1_RX_DMA_WIRING
Definition dma_wiring.h:135
static const PHAL_DMA_Wiring_t SPI3_TX_DMA_WIRING
Definition dma_wiring.h:180
static const PHAL_DMA_Wiring_t USART3_TX_DMA_WIRING
Definition dma_wiring.h:123
static const PHAL_DMA_Wiring_t SPI2_RX_DMA_WIRING
Definition dma_wiring.h:153
static const PHAL_DMA_Wiring_t USART1_TX_DMA_WIRING
Definition dma_wiring.h:87
PHAL_DMA_Size_t
Width of each DMA data element.
Definition dma_wiring.h:13
@ DMA_SIZE_16BIT
Definition dma_wiring.h:15
@ DMA_SIZE_32BIT
Definition dma_wiring.h:16
@ DMA_SIZE_8BIT
Definition dma_wiring.h:14
Fixed hardware wiring for one peripheral + direction's DMA use.
Definition dma_wiring.h:64
PHAL_DMA_Direction_t dir
Definition dma_wiring.h:70
DMA_TypeDef * periph
Definition dma_wiring.h:65
PHAL_DMA_Size_t data_size
Definition dma_wiring.h:72
volatile void * periph_reg
Definition dma_wiring.h:68
uint8_t channel_idx
Definition dma_wiring.h:66
PHAL_DMA_Request_t mux_request
Definition dma_wiring.h:67