Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
mcuconf.h
Go to the documentation of this file.
1 /*
2  ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3 
4  Licensed under the Apache License, Version 2.0 (the "License");
5  you may not use this file except in compliance with the License.
6  You may obtain a copy of the License at
7 
8  http://www.apache.org/licenses/LICENSE-2.0
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 */
16 
17 #ifndef MCUCONF_H
18 #define MCUCONF_H
19 
20 /*
21  * STM32F7xx drivers configuration.
22  * The following settings override the default settings present in
23  * the various device driver implementation headers.
24  * Note that the settings for each driver only have effect if the whole
25  * driver is enabled in halconf.h.
26  *
27  * IRQ priorities:
28  * 15...0 Lowest...Highest.
29  *
30  * DMA priorities:
31  * 0...3 Lowest...Highest.
32  */
33 
34 #define STM32F7xx_MCUCONF
35 #define STM32F746_MCUCONF
36 #define STM32F756_MCUCONF
37 //#define STM32F765_MCUCONF
38 //#define STM32F767_MCUCONF
39 //#define STM32F777_MCUCONF
40 //#define STM32F769_MCUCONF
41 //#define STM32F779_MCUCONF
42 
43 /*
44  * HAL driver system settings.
45  */
46 #define STM32_NO_INIT FALSE
47 #define STM32_PVD_ENABLE FALSE
48 #define STM32_PLS STM32_PLS_LEV0
49 #define STM32_BKPRAM_ENABLE FALSE
50 #define STM32_HSI_ENABLED TRUE
51 #define STM32_LSI_ENABLED FALSE
52 #define STM32_HSE_ENABLED TRUE
53 #define STM32_LSE_ENABLED FALSE
54 #define STM32_CLOCK48_REQUIRED TRUE
55 #define STM32_SW STM32_SW_PLL
56 #define STM32_PLLSRC STM32_PLLSRC_HSE
57 #define STM32_PLLM_VALUE 8
58 #define STM32_PLLN_VALUE 432
59 #define STM32_PLLP_VALUE 2
60 #define STM32_PLLQ_VALUE 9
61 #define STM32_HPRE STM32_HPRE_DIV1
62 #define STM32_PPRE1 STM32_PPRE1_DIV4
63 #define STM32_PPRE2 STM32_PPRE2_DIV2
64 #define STM32_RTCSEL STM32_RTCSEL_NOCLOCK
65 #define STM32_RTCPRE_VALUE 8
66 #define STM32_MCO1SEL STM32_MCO1SEL_HSI
67 #define STM32_MCO1PRE STM32_MCO1PRE_DIV1
68 #define STM32_MCO2SEL STM32_MCO2SEL_SYSCLK
69 #define STM32_MCO2PRE STM32_MCO2PRE_DIV4
70 #define STM32_TIMPRE_ENABLE FALSE
71 #define STM32_I2SSRC STM32_I2SSRC_OFF
72 #define STM32_PLLI2SN_VALUE 192
73 #define STM32_PLLI2SP_VALUE 4
74 #define STM32_PLLI2SQ_VALUE 4
75 #define STM32_PLLI2SR_VALUE 4
76 #define STM32_PLLI2SDIVQ_VALUE 2
77 #define STM32_PLLSAIN_VALUE 192
78 #define STM32_PLLSAIP_VALUE 4
79 #define STM32_PLLSAIQ_VALUE 4
80 #define STM32_PLLSAIR_VALUE 4
81 #define STM32_PLLSAIDIVQ_VALUE 2
82 #define STM32_PLLSAIDIVR_VALUE 2
83 #define STM32_SAI1SEL STM32_SAI1SEL_OFF
84 #define STM32_SAI2SEL STM32_SAI2SEL_OFF
85 #define STM32_LCDTFT_REQUIRED FALSE
86 #define STM32_USART1SEL STM32_USART1SEL_PCLK2
87 #define STM32_USART2SEL STM32_USART2SEL_PCLK1
88 #define STM32_USART3SEL STM32_USART3SEL_PCLK1
89 #define STM32_UART4SEL STM32_UART4SEL_PCLK1
90 #define STM32_UART5SEL STM32_UART5SEL_PCLK1
91 #define STM32_USART6SEL STM32_USART6SEL_PCLK2
92 #define STM32_UART7SEL STM32_UART7SEL_PCLK1
93 #define STM32_UART8SEL STM32_UART8SEL_PCLK1
94 #define STM32_I2C1SEL STM32_I2C1SEL_PCLK1
95 #define STM32_I2C2SEL STM32_I2C2SEL_PCLK1
96 #define STM32_I2C3SEL STM32_I2C3SEL_PCLK1
97 #define STM32_I2C4SEL STM32_I2C4SEL_PCLK1
98 #define STM32_LPTIM1SEL STM32_LPTIM1SEL_PCLK1
99 #define STM32_CECSEL STM32_CECSEL_LSE
100 #define STM32_CK48MSEL STM32_CK48MSEL_PLL
101 #define STM32_SDMMC1SEL STM32_SDMMC1SEL_PLL48CLK
102 #define STM32_SDMMC2SEL STM32_SDMMC2SEL_PLL48CLK
103 #define STM32_SRAM2_NOCACHE FALSE
104 
105 /*
106  * IRQ system settings.
107  */
108 #define STM32_IRQ_EXTI0_PRIORITY 6
109 #define STM32_IRQ_EXTI1_PRIORITY 6
110 #define STM32_IRQ_EXTI2_PRIORITY 6
111 #define STM32_IRQ_EXTI3_PRIORITY 6
112 #define STM32_IRQ_EXTI4_PRIORITY 6
113 #define STM32_IRQ_EXTI5_9_PRIORITY 6
114 #define STM32_IRQ_EXTI10_15_PRIORITY 6
115 #define STM32_IRQ_EXTI16_PRIORITY 6
116 #define STM32_IRQ_EXTI17_PRIORITY 15
117 #define STM32_IRQ_EXTI18_PRIORITY 6
118 #define STM32_IRQ_EXTI19_PRIORITY 6
119 #define STM32_IRQ_EXTI20_PRIORITY 6
120 #define STM32_IRQ_EXTI21_PRIORITY 15
121 #define STM32_IRQ_EXTI22_PRIORITY 15
122 #define STM32_IRQ_EXTI23_PRIORITY 6
123 
124 #define STM32_IRQ_TIM1_BRK_TIM9_PRIORITY 7
125 #define STM32_IRQ_TIM1_UP_TIM10_PRIORITY 7
126 #define STM32_IRQ_TIM1_TRGCO_TIM11_PRIORITY 7
127 #define STM32_IRQ_TIM1_CC_PRIORITY 7
128 #define STM32_IRQ_TIM2_PRIORITY 7
129 #define STM32_IRQ_TIM3_PRIORITY 7
130 #define STM32_IRQ_TIM4_PRIORITY 7
131 #define STM32_IRQ_TIM5_PRIORITY 7
132 #define STM32_IRQ_TIM6_PRIORITY 7
133 #define STM32_IRQ_TIM7_PRIORITY 7
134 #define STM32_IRQ_TIM8_BRK_TIM12_PRIORITY 7
135 #define STM32_IRQ_TIM8_UP_TIM13_PRIORITY 7
136 #define STM32_IRQ_TIM8_TRGCO_TIM14_PRIORITY 7
137 #define STM32_IRQ_TIM8_CC_PRIORITY 7
138 
139 #define STM32_IRQ_USART1_PRIORITY 12
140 #define STM32_IRQ_USART2_PRIORITY 12
141 #define STM32_IRQ_USART3_PRIORITY 12
142 #define STM32_IRQ_UART4_PRIORITY 12
143 #define STM32_IRQ_UART5_PRIORITY 12
144 #define STM32_IRQ_USART6_PRIORITY 12
145 #define STM32_IRQ_UART7_PRIORITY 12
146 #define STM32_IRQ_UART8_PRIORITY 12
147 
148 /*
149  * ADC driver system settings.
150  */
151 #define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV4
152 #define STM32_ADC_USE_ADC1 TRUE
153 #define STM32_ADC_USE_ADC2 FALSE
154 #define STM32_ADC_USE_ADC3 FALSE
155 #define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
156 #define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
157 #define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
158 #define STM32_ADC_ADC1_DMA_PRIORITY 2
159 #define STM32_ADC_ADC2_DMA_PRIORITY 2
160 #define STM32_ADC_ADC3_DMA_PRIORITY 2
161 #define STM32_ADC_IRQ_PRIORITY 6
162 #define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 6
163 #define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 6
164 #define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 6
165 
166 /*
167  * CAN driver system settings.
168  */
169 #define STM32_CAN_USE_CAN1 FALSE
170 #define STM32_CAN_USE_CAN2 FALSE
171 #define STM32_CAN_USE_CAN3 FALSE
172 #define STM32_CAN_CAN1_IRQ_PRIORITY 11
173 #define STM32_CAN_CAN2_IRQ_PRIORITY 11
174 #define STM32_CAN_CAN3_IRQ_PRIORITY 11
175 
176 /*
177  * DAC driver system settings.
178  */
179 #define STM32_DAC_DUAL_MODE FALSE
180 #define STM32_DAC_USE_DAC1_CH1 FALSE
181 #define STM32_DAC_USE_DAC1_CH2 FALSE
182 #define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10
183 #define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10
184 #define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2
185 #define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2
186 #define STM32_DAC_DAC1_CH1_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
187 #define STM32_DAC_DAC1_CH2_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
188 
189 /*
190  * GPT driver system settings.
191  */
192 #define STM32_GPT_USE_TIM1 FALSE
193 #define STM32_GPT_USE_TIM2 FALSE // keep free if in tickless mode
194 #define STM32_GPT_USE_TIM3 FALSE
195 #define STM32_GPT_USE_TIM4 FALSE
196 #define STM32_GPT_USE_TIM5 FALSE
197 #define STM32_GPT_USE_TIM6 FALSE
198 #define STM32_GPT_USE_TIM7 FALSE
199 #define STM32_GPT_USE_TIM8 FALSE
200 #define STM32_GPT_USE_TIM9 FALSE
201 #define STM32_GPT_USE_TIM10 FALSE
202 #define STM32_GPT_USE_TIM11 FALSE
203 #define STM32_GPT_USE_TIM12 FALSE
204 #define STM32_GPT_USE_TIM13 FALSE
205 #define STM32_GPT_USE_TIM14 FALSE
206 #define STM32_GPT_USE_TIM15 FALSE
207 #define STM32_GPT_USE_TIM16 FALSE
208 #define STM32_GPT_USE_TIM17 FALSE
209 
210 /*
211  * I2C driver system settings.
212  */
213 #if USE_I2C1
214 #define STM32_I2C_USE_I2C1 TRUE
215 #else
216 #define STM32_I2C_USE_I2C1 FALSE
217 #endif
218 #define STM32_I2C_USE_I2C2 FALSE
219 #define STM32_I2C_USE_I2C3 FALSE
220 #define STM32_I2C_USE_I2C4 FALSE
221 #define STM32_I2C_ISR_LIMIT 6
222 #define STM32_I2C_BUSY_TIMEOUT 0
223 #define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
224 #define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
225 #define STM32_I2C_I2C2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
226 #define STM32_I2C_I2C2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
227 #define STM32_I2C_I2C3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
228 #define STM32_I2C_I2C3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
229 #define STM32_I2C_I2C4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
230 #define STM32_I2C_I2C4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
231 #define STM32_I2C_I2C1_IRQ_PRIORITY 5
232 #define STM32_I2C_I2C2_IRQ_PRIORITY 5
233 #define STM32_I2C_I2C3_IRQ_PRIORITY 5
234 #define STM32_I2C_I2C4_IRQ_PRIORITY 5
235 #define STM32_I2C_I2C1_DMA_PRIORITY 3
236 #define STM32_I2C_I2C2_DMA_PRIORITY 3
237 #define STM32_I2C_I2C3_DMA_PRIORITY 3
238 #define STM32_I2C_I2C4_DMA_PRIORITY 3
239 #define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure")
240 
241 /*
242  * ICU driver system settings.
243  */
244 #define STM32_ICU_USE_TIM1 FALSE
245 #define STM32_ICU_USE_TIM2 FALSE // keep free if in tickless mode
246 #define STM32_ICU_USE_TIM3 FALSE
247 #define STM32_ICU_USE_TIM4 FALSE
248 #define STM32_ICU_USE_TIM5 FALSE
249 #if RADIO_CONTROL_TYPE_PPM
250 #define STM32_ICU_USE_TIM8 TRUE
251 #else
252 #define STM32_ICU_USE_TIM8 FALSE
253 #endif
254 #define STM32_ICU_USE_TIM9 FALSE
255 #define STM32_ICU_USE_TIM10 FALSE
256 #define STM32_ICU_USE_TIM11 FALSE
257 #define STM32_ICU_USE_TIM12 FALSE
258 #define STM32_ICU_USE_TIM13 FALSE
259 #define STM32_ICU_USE_TIM14 FALSE
260 #define STM32_ICU_USE_TIM15 FALSE
261 #define STM32_ICU_USE_TIM16 FALSE
262 #define STM32_ICU_USE_TIM17 FALSE
263 
264 /*
265  * MAC driver system settings.
266  */
267 #define STM32_MAC_TRANSMIT_BUFFERS 2
268 #define STM32_MAC_RECEIVE_BUFFERS 4
269 #define STM32_MAC_BUFFERS_SIZE 1522
270 #define STM32_MAC_PHY_TIMEOUT 100
271 #define STM32_MAC_ETH1_CHANGE_PHY_STATE TRUE
272 #define STM32_MAC_ETH1_IRQ_PRIORITY 13
273 #define STM32_MAC_IP_CHECKSUM_OFFLOAD 0
274 
275 /*
276  * PWM driver system settings.
277  */
278 #define STM32_PWM_USE_ADVANCED FALSE
279 #ifndef STM32_PWM_USE_TIM1
280 #define STM32_PWM_USE_TIM1 TRUE
281 #endif
282 #ifndef STM32_PWM_USE_TIM2
283 #define STM32_PWM_USE_TIM2 FALSE
284 #endif
285 #ifndef STM32_PWM_USE_TIM3
286 #define STM32_PWM_USE_TIM3 TRUE
287 #endif
288 #ifndef STM32_PWM_USE_TIM4
289 #define STM32_PWM_USE_TIM4 TRUE
290 #endif
291 #ifndef STM32_PWM_USE_TIM5
292 #define STM32_PWM_USE_TIM5 TRUE
293 #endif
294 #ifndef STM32_PWM_USE_TIM8
295 #define STM32_PWM_USE_TIM8 TRUE
296 #endif
297 #define STM32_PWM_USE_TIM9 FALSE
298 #define STM32_PWM_USE_TIM10 FALSE
299 #define STM32_PWM_USE_TIM11 FALSE
300 #define STM32_PWM_USE_TIM12 FALSE
301 #define STM32_PWM_USE_TIM13 FALSE
302 #define STM32_PWM_USE_TIM14 FALSE
303 #define STM32_PWM_USE_TIM15 FALSE
304 #define STM32_PWM_USE_TIM16 FALSE
305 #define STM32_PWM_USE_TIM17 FALSE
306 
307 #define STM32_PWM1_UP_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
308 #define STM32_PWM1_UP_DMA_CHANNEL 6
309 #define STM32_PWM1_UP_DMA_IRQ_PRIORITY 6
310 #define STM32_PWM1_UP_DMA_PRIORITY 2
311 
312 #define STM32_PWM3_UP_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
313 #define STM32_PWM3_UP_DMA_CHANNEL 5
314 #define STM32_PWM3_UP_DMA_IRQ_PRIORITY 6
315 #define STM32_PWM3_UP_DMA_PRIORITY 2
316 
317 /*
318  * RTC driver system settings.
319  */
320 #define STM32_RTC_PRESA_VALUE 32
321 #define STM32_RTC_PRESS_VALUE 1024
322 #define STM32_RTC_CR_INIT 0
323 #define STM32_RTC_TAMPCR_INIT 0
324 
325 /*
326  * SDC driver system settings.
327  */
328 #define STM32_SDC_USE_SDMMC1 FALSE
329 #define STM32_SDC_USE_SDMMC2 FALSE
330 #define STM32_SDC_SDMMC_UNALIGNED_SUPPORT TRUE
331 #define STM32_SDC_SDMMC_WRITE_TIMEOUT 250
332 #define STM32_SDC_SDMMC_READ_TIMEOUT 25
333 #define STM32_SDC_SDMMC_CLOCK_DELAY 10
334 #define STM32_SDC_SDMMC1_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
335 #define STM32_SDC_SDMMC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
336 #define STM32_SDC_SDMMC1_DMA_PRIORITY 3
337 #define STM32_SDC_SDMMC2_DMA_PRIORITY 3
338 #define STM32_SDC_SDMMC1_IRQ_PRIORITY 9
339 #define STM32_SDC_SDMMC2_IRQ_PRIORITY 9
340 
341 /*
342  * SERIAL driver system settings.
343  */
344 #if USE_UART1
345 #define STM32_SERIAL_USE_USART1 TRUE
346 #else
347 #define STM32_SERIAL_USE_USART1 FALSE
348 #endif
349 #if USE_UART2
350 #define STM32_SERIAL_USE_USART2 TRUE
351 #else
352 #define STM32_SERIAL_USE_USART2 FALSE
353 #endif
354 #if USE_UART3
355 #define STM32_SERIAL_USE_USART3 TRUE
356 #else
357 #define STM32_SERIAL_USE_USART3 FALSE
358 #endif
359 #if USE_UART4
360 #define STM32_SERIAL_USE_UART4 TRUE
361 #else
362 #define STM32_SERIAL_USE_UART4 FALSE
363 #endif
364 #if USE_UART5
365 #define STM32_SERIAL_USE_UART5 TRUE
366 #else
367 #define STM32_SERIAL_USE_UART5 FALSE
368 #endif
369 #if USE_UART6
370 #define STM32_SERIAL_USE_USART6 TRUE
371 #else
372 #define STM32_SERIAL_USE_USART6 FALSE
373 #endif
374 #if USE_UART7
375 #define STM32_SERIAL_USE_UART7 TRUE
376 #else
377 #define STM32_SERIAL_USE_UART7 FALSE
378 #endif
379 #if USE_UART8
380 #define STM32_SERIAL_USE_UART8 TRUE
381 #else
382 #define STM32_SERIAL_USE_UART8 FALSE
383 #endif
384 
385 /*
386  * SPI driver system settings.
387  */
388 #if USE_SPI1
389 #define STM32_SPI_USE_SPI1 TRUE
390 #else
391 #define STM32_SPI_USE_SPI1 FALSE
392 #endif
393 #if USE_SPI2
394 #define STM32_SPI_USE_SPI2 TRUE
395 #else
396 #define STM32_SPI_USE_SPI2 FALSE
397 #endif
398 #define STM32_SPI_USE_SPI3 FALSE
399 #if USE_SPI4
400 #define STM32_SPI_USE_SPI4 TRUE
401 #else
402 #define STM32_SPI_USE_SPI4 FALSE
403 #endif
404 #define STM32_SPI_USE_SPI5 FALSE
405 #define STM32_SPI_USE_SPI6 FALSE
406 #define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0)
407 #define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
408 #define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
409 #define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
410 #define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
411 #define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
412 #define STM32_SPI_SPI4_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
413 #define STM32_SPI_SPI4_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1)
414 #define STM32_SPI_SPI5_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3)
415 #define STM32_SPI_SPI5_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 4)
416 #define STM32_SPI_SPI6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
417 #define STM32_SPI_SPI6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
418 #define STM32_SPI_SPI1_DMA_PRIORITY 1
419 #define STM32_SPI_SPI2_DMA_PRIORITY 1
420 #define STM32_SPI_SPI3_DMA_PRIORITY 1
421 #define STM32_SPI_SPI4_DMA_PRIORITY 1
422 #define STM32_SPI_SPI5_DMA_PRIORITY 1
423 #define STM32_SPI_SPI6_DMA_PRIORITY 1
424 #define STM32_SPI_SPI1_IRQ_PRIORITY 10
425 #define STM32_SPI_SPI2_IRQ_PRIORITY 10
426 #define STM32_SPI_SPI3_IRQ_PRIORITY 10
427 #define STM32_SPI_SPI4_IRQ_PRIORITY 10
428 #define STM32_SPI_SPI5_IRQ_PRIORITY 10
429 #define STM32_SPI_SPI6_IRQ_PRIORITY 10
430 #define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure")
431 
432 /*
433  * ST driver system settings.
434  */
435 #define STM32_ST_IRQ_PRIORITY 8
436 #define STM32_ST_USE_TIMER 3
437 
438 /*
439  * TRNG driver system settings.
440  */
441 #define STM32_TRNG_USE_RNG1 FALSE
442 
443 /*
444  * UART driver system settings.
445  */
446 #define STM32_UART_USE_USART1 FALSE /* DMA OK */
447 #define STM32_UART_USE_USART2 FALSE /* NO DMA AVAIL */
448 #define STM32_UART_USE_USART3 FALSE /* DMA OK */
449 #define STM32_UART_USE_UART4 FALSE /* NO DMA AVAIL */
450 #define STM32_UART_USE_UART5 FALSE /* NO DMA AVAIL */
451 #define STM32_UART_USE_USART6 FALSE /* NO DMA AVAIL */
452 #define STM32_UART_USE_UART7 FALSE /* NO DMA AVAIL */
453 #define STM32_UART_USE_UART8 FALSE /* NO DMA AVAIL */
454 #define STM32_UART_USART1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5)
455 #define STM32_UART_USART1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
456 #define STM32_UART_USART2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 5)
457 #define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
458 #define STM32_UART_USART3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
459 #define STM32_UART_USART3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
460 #define STM32_UART_UART4_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2)
461 #define STM32_UART_UART4_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4)
462 #define STM32_UART_UART5_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
463 #define STM32_UART_UART5_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7)
464 #define STM32_UART_USART6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 2)
465 #define STM32_UART_USART6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
466 #define STM32_UART_UART7_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3)
467 #define STM32_UART_UART7_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 1)
468 #define STM32_UART_UART8_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6)
469 #define STM32_UART_UART8_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0)
470 #define STM32_UART_USART1_DMA_PRIORITY 0
471 #define STM32_UART_USART2_DMA_PRIORITY 0
472 #define STM32_UART_USART3_DMA_PRIORITY 0
473 #define STM32_UART_UART4_DMA_PRIORITY 0
474 #define STM32_UART_UART5_DMA_PRIORITY 0
475 #define STM32_UART_USART6_DMA_PRIORITY 0
476 #define STM32_UART_UART7_DMA_PRIORITY 0
477 #define STM32_UART_UART8_DMA_PRIORITY 0
478 #define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure")
479 
480 /*
481  * USB driver system settings.
482  */
483 #define STM32_USB_USE_OTG1 TRUE
484 #define STM32_USB_USE_OTG2 FALSE
485 #define STM32_USB_OTG1_IRQ_PRIORITY 14
486 #define STM32_USB_OTG2_IRQ_PRIORITY 14
487 #define STM32_USB_OTG1_RX_FIFO_SIZE 512
488 #define STM32_USB_OTG2_RX_FIFO_SIZE 1024
489 
490 /*
491  * WDG driver system settings.
492  */
493 #define STM32_WDG_USE_IWDG FALSE
494 
495 /*
496  * WSPI driver system settings.
497  */
498 #define STM32_WSPI_USE_QUADSPI1 FALSE
499 #define STM32_WSPI_QUADSPI1_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
500 
501 /*
502  sdlog message buffer and queue configuration
503  */
504 #define SDLOG_QUEUE_BUCKETS 1024
505 #define SDLOG_MAX_MESSAGE_LEN 300
506 #define SDLOG_NUM_FILES 2
507 #define SDLOG_ALL_BUFFERS_SIZE (SDLOG_NUM_FILES*16*1024)
508 
509 //#define CH_HEAP_SIZE (32*1024)
510 //#define CH_HEAP_USE_TLSF 1 // if 0 or undef, chAlloc will be used
511 
512 #endif /* MCUCONF_H */