blob: ad5f7dbd4d7ce8b3eca640ccdfe4804e023b5872 [file] [log] [blame]
Austin Schuh41baf202022-01-01 14:33:40 -08001/**
2 ******************************************************************************
3 * @file stm32g4xx_hal_conf.h
4 * @author MCD Application Team
5 * @brief HAL configuration file
6 ******************************************************************************
7 * @attention
8 *
9 * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10 * All rights reserved.</center></h2>
11 *
12 * This software component is licensed by ST under BSD 3-Clause license,
13 * the "License"; You may not use this file except in compliance with the
14 * License. You may obtain a copy of the License at:
15 * opensource.org/licenses/BSD-3-Clause
16 *
17 ******************************************************************************
18 */
19
20/* Define to prevent recursive inclusion -------------------------------------*/
21#ifndef STM32G4xx_HAL_CONF_H
22#define STM32G4xx_HAL_CONF_H
23
24#ifdef __cplusplus
25 extern "C" {
26#endif
27
28/* Exported types ------------------------------------------------------------*/
29/* Exported constants --------------------------------------------------------*/
30
31/* ########################## Module Selection ############################## */
32/**
33 * @brief This is the list of modules to be used in the HAL driver
34 */
35
36#define HAL_MODULE_ENABLED
37
38 /*#define HAL_ADC_MODULE_ENABLED */
39/*#define HAL_COMP_MODULE_ENABLED */
40/*#define HAL_CORDIC_MODULE_ENABLED */
41/*#define HAL_CRC_MODULE_ENABLED */
42/*#define HAL_CRYP_MODULE_ENABLED */
43/*#define HAL_DAC_MODULE_ENABLED */
44/*#define HAL_FDCAN_MODULE_ENABLED */
45/*#define HAL_FMAC_MODULE_ENABLED */
46/*#define HAL_HRTIM_MODULE_ENABLED */
47/*#define HAL_IRDA_MODULE_ENABLED */
48/*#define HAL_IWDG_MODULE_ENABLED */
49/*#define HAL_I2C_MODULE_ENABLED */
50/*#define HAL_I2S_MODULE_ENABLED */
51/*#define HAL_LPTIM_MODULE_ENABLED */
52/*#define HAL_NAND_MODULE_ENABLED */
53/*#define HAL_NOR_MODULE_ENABLED */
54/*#define HAL_OPAMP_MODULE_ENABLED */
55/*#define HAL_PCD_MODULE_ENABLED */
56/*#define HAL_QSPI_MODULE_ENABLED */
57/*#define HAL_RNG_MODULE_ENABLED */
58/*#define HAL_RTC_MODULE_ENABLED */
59/*#define HAL_SAI_MODULE_ENABLED */
60/*#define HAL_SMARTCARD_MODULE_ENABLED */
61/*#define HAL_SMBUS_MODULE_ENABLED */
62/*#define HAL_SPI_MODULE_ENABLED */
63/*#define HAL_SRAM_MODULE_ENABLED */
64/*#define HAL_TIM_MODULE_ENABLED */
65#define HAL_UART_MODULE_ENABLED
66/*#define HAL_USART_MODULE_ENABLED */
67/*#define HAL_WWDG_MODULE_ENABLED */
68#define HAL_GPIO_MODULE_ENABLED
69#define HAL_EXTI_MODULE_ENABLED
70#define HAL_DMA_MODULE_ENABLED
71#define HAL_RCC_MODULE_ENABLED
72#define HAL_FLASH_MODULE_ENABLED
73#define HAL_PWR_MODULE_ENABLED
74#define HAL_CORTEX_MODULE_ENABLED
75
76/* ########################## Register Callbacks selection ############################## */
77/**
78 * @brief This is the list of modules where register callback can be used
79 */
80#define USE_HAL_ADC_REGISTER_CALLBACKS 0U
81#define USE_HAL_COMP_REGISTER_CALLBACKS 0U
82#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U
83#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U
84#define USE_HAL_DAC_REGISTER_CALLBACKS 0U
85#define USE_HAL_EXTI_REGISTER_CALLBACKS 0U
86#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U
87#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U
88#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U
89#define USE_HAL_I2C_REGISTER_CALLBACKS 0U
90#define USE_HAL_I2S_REGISTER_CALLBACKS 0U
91#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U
92#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U
93#define USE_HAL_NAND_REGISTER_CALLBACKS 0U
94#define USE_HAL_NOR_REGISTER_CALLBACKS 0U
95#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U
96#define USE_HAL_PCD_REGISTER_CALLBACKS 0U
97#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U
98#define USE_HAL_RNG_REGISTER_CALLBACKS 0U
99#define USE_HAL_RTC_REGISTER_CALLBACKS 0U
100#define USE_HAL_SAI_REGISTER_CALLBACKS 0U
101#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U
102#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U
103#define USE_HAL_SPI_REGISTER_CALLBACKS 0U
104#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U
105#define USE_HAL_TIM_REGISTER_CALLBACKS 0U
106#define USE_HAL_UART_REGISTER_CALLBACKS 0U
107#define USE_HAL_USART_REGISTER_CALLBACKS 0U
108#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U
109
110/* ########################## Oscillator Values adaptation ####################*/
111/**
112 * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
113 * This value is used by the RCC HAL module to compute the system frequency
114 * (when HSE is used as system clock source, directly or through the PLL).
115 */
116#if !defined (HSE_VALUE)
117 #define HSE_VALUE (24000000UL) /*!< Value of the External oscillator in Hz */
118#endif /* HSE_VALUE */
119
120#if !defined (HSE_STARTUP_TIMEOUT)
121 #define HSE_STARTUP_TIMEOUT (100UL) /*!< Time out for HSE start up, in ms */
122#endif /* HSE_STARTUP_TIMEOUT */
123
124/**
125 * @brief Internal High Speed oscillator (HSI) value.
126 * This value is used by the RCC HAL module to compute the system frequency
127 * (when HSI is used as system clock source, directly or through the PLL).
128 */
129#if !defined (HSI_VALUE)
130 #define HSI_VALUE (16000000UL) /*!< Value of the Internal oscillator in Hz*/
131#endif /* HSI_VALUE */
132
133/**
134 * @brief Internal High Speed oscillator (HSI48) value for USB FS and RNG.
135 * This internal oscillator is mainly dedicated to provide a high precision clock to
136 * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry.
137 * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency
138 * which is subject to manufacturing process variations.
139 */
140#if !defined (HSI48_VALUE)
141 #define HSI48_VALUE (48000000UL) /*!< Value of the Internal High Speed oscillator for USB FS/RNG in Hz.
142 The real value my vary depending on manufacturing process variations.*/
143#endif /* HSI48_VALUE */
144
145/**
146 * @brief Internal Low Speed oscillator (LSI) value.
147 */
148#if !defined (LSI_VALUE)
149/*!< Value of the Internal Low Speed oscillator in Hz
150The real value may vary depending on the variations in voltage and temperature.*/
151#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
152#endif /* LSI_VALUE */
153/**
154 * @brief External Low Speed oscillator (LSE) value.
155 * This value is used by the UART, RTC HAL module to compute the system frequency
156 */
157#if !defined (LSE_VALUE)
158#define LSE_VALUE (32768UL) /*!< Value of the External Low Speed oscillator in Hz */
159#endif /* LSE_VALUE */
160
161#if !defined (LSE_STARTUP_TIMEOUT)
162#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */
163#endif /* LSE_STARTUP_TIMEOUT */
164
165/**
166 * @brief External clock source for I2S and SAI peripherals
167 * This value is used by the I2S and SAI HAL modules to compute the I2S and SAI clock source
168 * frequency, this source is inserted directly through I2S_CKIN pad.
169 */
170#if !defined (EXTERNAL_CLOCK_VALUE)
171#define EXTERNAL_CLOCK_VALUE (12288000UL) /*!< Value of the External oscillator in Hz*/
172#endif /* EXTERNAL_CLOCK_VALUE */
173
174/* Tip: To avoid modifying this file each time you need to use different HSE,
175 === you can define the HSE value in your toolchain compiler preprocessor. */
176
177/* ########################### System Configuration ######################### */
178/**
179 * @brief This is the HAL system configuration section
180 */
181
182#define VDD_VALUE (3300UL) /*!< Value of VDD in mv */
183#define TICK_INT_PRIORITY (0UL) /*!< tick interrupt priority (lowest by default) */
184#define USE_RTOS 0U
185#define PREFETCH_ENABLE 0U
186#define INSTRUCTION_CACHE_ENABLE 1U
187#define DATA_CACHE_ENABLE 1U
188
189/* ########################## Assert Selection ############################## */
190/**
191 * @brief Uncomment the line below to expanse the "assert_param" macro in the
192 * HAL drivers code
193 */
194/* #define USE_FULL_ASSERT 1U */
195
196/* ################## SPI peripheral configuration ########################## */
197
198/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
199 * Activated: CRC code is present inside driver
200 * Deactivated: CRC code cleaned from driver
201 */
202
203#define USE_SPI_CRC 0U
204
205/* Includes ------------------------------------------------------------------*/
206/**
207 * @brief Include module's header file
208 */
209
210#ifdef HAL_RCC_MODULE_ENABLED
211#include "stm32g4xx_hal_rcc.h"
212#endif /* HAL_RCC_MODULE_ENABLED */
213
214#ifdef HAL_GPIO_MODULE_ENABLED
215#include "stm32g4xx_hal_gpio.h"
216#endif /* HAL_GPIO_MODULE_ENABLED */
217
218#ifdef HAL_DMA_MODULE_ENABLED
219#include "stm32g4xx_hal_dma.h"
220#endif /* HAL_DMA_MODULE_ENABLED */
221
222#ifdef HAL_CORTEX_MODULE_ENABLED
223#include "stm32g4xx_hal_cortex.h"
224#endif /* HAL_CORTEX_MODULE_ENABLED */
225
226#ifdef HAL_ADC_MODULE_ENABLED
227#include "stm32g4xx_hal_adc.h"
228#endif /* HAL_ADC_MODULE_ENABLED */
229
230#ifdef HAL_COMP_MODULE_ENABLED
231#include "stm32g4xx_hal_comp.h"
232#endif /* HAL_COMP_MODULE_ENABLED */
233
234#ifdef HAL_CORDIC_MODULE_ENABLED
235#include "stm32g4xx_hal_cordic.h"
236#endif /* HAL_CORDIC_MODULE_ENABLED */
237
238#ifdef HAL_CRC_MODULE_ENABLED
239#include "stm32g4xx_hal_crc.h"
240#endif /* HAL_CRC_MODULE_ENABLED */
241
242#ifdef HAL_CRYP_MODULE_ENABLED
243#include "stm32g4xx_hal_cryp.h"
244#endif /* HAL_CRYP_MODULE_ENABLED */
245
246#ifdef HAL_DAC_MODULE_ENABLED
247#include "stm32g4xx_hal_dac.h"
248#endif /* HAL_DAC_MODULE_ENABLED */
249
250#ifdef HAL_EXTI_MODULE_ENABLED
251#include "stm32g4xx_hal_exti.h"
252#endif /* HAL_EXTI_MODULE_ENABLED */
253
254#ifdef HAL_FDCAN_MODULE_ENABLED
255#include "stm32g4xx_hal_fdcan.h"
256#endif /* HAL_FDCAN_MODULE_ENABLED */
257
258#ifdef HAL_FLASH_MODULE_ENABLED
259#include "stm32g4xx_hal_flash.h"
260#endif /* HAL_FLASH_MODULE_ENABLED */
261
262#ifdef HAL_FMAC_MODULE_ENABLED
263#include "stm32g4xx_hal_fmac.h"
264#endif /* HAL_FMAC_MODULE_ENABLED */
265
266#ifdef HAL_HRTIM_MODULE_ENABLED
267#include "stm32g4xx_hal_hrtim.h"
268#endif /* HAL_HRTIM_MODULE_ENABLED */
269
270#ifdef HAL_IRDA_MODULE_ENABLED
271#include "stm32g4xx_hal_irda.h"
272#endif /* HAL_IRDA_MODULE_ENABLED */
273
274#ifdef HAL_IWDG_MODULE_ENABLED
275#include "stm32g4xx_hal_iwdg.h"
276#endif /* HAL_IWDG_MODULE_ENABLED */
277
278#ifdef HAL_I2C_MODULE_ENABLED
279#include "stm32g4xx_hal_i2c.h"
280#endif /* HAL_I2C_MODULE_ENABLED */
281
282#ifdef HAL_I2S_MODULE_ENABLED
283#include "stm32g4xx_hal_i2s.h"
284#endif /* HAL_I2S_MODULE_ENABLED */
285
286#ifdef HAL_LPTIM_MODULE_ENABLED
287#include "stm32g4xx_hal_lptim.h"
288#endif /* HAL_LPTIM_MODULE_ENABLED */
289
290#ifdef HAL_NAND_MODULE_ENABLED
291#include "stm32g4xx_hal_nand.h"
292#endif /* HAL_NAND_MODULE_ENABLED */
293
294#ifdef HAL_NOR_MODULE_ENABLED
295#include "stm32g4xx_hal_nor.h"
296#endif /* HAL_NOR_MODULE_ENABLED */
297
298#ifdef HAL_OPAMP_MODULE_ENABLED
299#include "stm32g4xx_hal_opamp.h"
300#endif /* HAL_OPAMP_MODULE_ENABLED */
301
302#ifdef HAL_PCD_MODULE_ENABLED
303#include "stm32g4xx_hal_pcd.h"
304#endif /* HAL_PCD_MODULE_ENABLED */
305
306#ifdef HAL_PWR_MODULE_ENABLED
307#include "stm32g4xx_hal_pwr.h"
308#endif /* HAL_PWR_MODULE_ENABLED */
309
310#ifdef HAL_QSPI_MODULE_ENABLED
311#include "stm32g4xx_hal_qspi.h"
312#endif /* HAL_QSPI_MODULE_ENABLED */
313
314#ifdef HAL_RNG_MODULE_ENABLED
315#include "stm32g4xx_hal_rng.h"
316#endif /* HAL_RNG_MODULE_ENABLED */
317
318#ifdef HAL_RTC_MODULE_ENABLED
319#include "stm32g4xx_hal_rtc.h"
320#endif /* HAL_RTC_MODULE_ENABLED */
321
322#ifdef HAL_SAI_MODULE_ENABLED
323#include "stm32g4xx_hal_sai.h"
324#endif /* HAL_SAI_MODULE_ENABLED */
325
326#ifdef HAL_SMARTCARD_MODULE_ENABLED
327#include "stm32g4xx_hal_smartcard.h"
328#endif /* HAL_SMARTCARD_MODULE_ENABLED */
329
330#ifdef HAL_SMBUS_MODULE_ENABLED
331#include "stm32g4xx_hal_smbus.h"
332#endif /* HAL_SMBUS_MODULE_ENABLED */
333
334#ifdef HAL_SPI_MODULE_ENABLED
335#include "stm32g4xx_hal_spi.h"
336#endif /* HAL_SPI_MODULE_ENABLED */
337
338#ifdef HAL_SRAM_MODULE_ENABLED
339#include "stm32g4xx_hal_sram.h"
340#endif /* HAL_SRAM_MODULE_ENABLED */
341
342#ifdef HAL_TIM_MODULE_ENABLED
343#include "stm32g4xx_hal_tim.h"
344#endif /* HAL_TIM_MODULE_ENABLED */
345
346#ifdef HAL_UART_MODULE_ENABLED
347#include "stm32g4xx_hal_uart.h"
348#endif /* HAL_UART_MODULE_ENABLED */
349
350#ifdef HAL_USART_MODULE_ENABLED
351#include "stm32g4xx_hal_usart.h"
352#endif /* HAL_USART_MODULE_ENABLED */
353
354#ifdef HAL_WWDG_MODULE_ENABLED
355#include "stm32g4xx_hal_wwdg.h"
356#endif /* HAL_WWDG_MODULE_ENABLED */
357
358/* Exported macro ------------------------------------------------------------*/
359#ifdef USE_FULL_ASSERT
360/**
361 * @brief The assert_param macro is used for function's parameters check.
362 * @param expr: If expr is false, it calls assert_failed function
363 * which reports the name of the source file and the source
364 * line number of the call that failed.
365 * If expr is true, it returns no value.
366 * @retval None
367 */
368#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
369/* Exported functions ------------------------------------------------------- */
370void assert_failed(uint8_t *file, uint32_t line);
371#else
372#define assert_param(expr) ((void)0U)
373#endif /* USE_FULL_ASSERT */
374
375#ifdef __cplusplus
376}
377#endif
378
379#endif /* STM32G4xx_HAL_CONF_H */
380
381/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/