Skip to content

Commit 2e6ef61

Browse files
committed
[MP1] Add the first HAL driver
1 parent e277033 commit 2e6ef61

File tree

140 files changed

+190413
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+190413
-0
lines changed

system/Drivers/STM32MP1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h

Lines changed: 3681 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
******************************************************************************
3+
* @file stm32_assert.h
4+
* @author MCD Application Team
5+
* @brief STM32 assert template file.
6+
* This file should be copied to the application folder and renamed
7+
* to stm32_assert.h.
8+
******************************************************************************
9+
* @attention
10+
*
11+
* <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
12+
* All rights reserved.</center></h2>
13+
*
14+
* This software component is licensed by ST under BSD 3-Clause license,
15+
* the "License"; You may not use this file except in compliance with the
16+
* License. You may obtain a copy of the License at:
17+
* opensource.org/licenses/BSD-3-Clause
18+
*
19+
******************************************************************************
20+
*/
21+
22+
/* Define to prevent recursive inclusion -------------------------------------*/
23+
#ifndef STM32_ASSERT_H
24+
#define STM32_ASSERT_H
25+
26+
#ifdef __cplusplus
27+
extern "C" {
28+
#endif
29+
30+
/* Exported types ------------------------------------------------------------*/
31+
/* Exported constants --------------------------------------------------------*/
32+
/* Includes ------------------------------------------------------------------*/
33+
/* Exported macro ------------------------------------------------------------*/
34+
#ifdef USE_FULL_ASSERT
35+
/**
36+
* @brief The assert_param macro is used for function's parameters check.
37+
* @param expr: If expr is false, it calls assert_failed function
38+
* which reports the name of the source file and the source
39+
* line number of the call that failed.
40+
* If expr is true, it returns no value.
41+
* @retval None
42+
*/
43+
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
44+
/* Exported functions ------------------------------------------------------- */
45+
void assert_failed(uint8_t* file, uint32_t line);
46+
#else
47+
#define assert_param(expr) ((void)0U)
48+
#endif /* USE_FULL_ASSERT */
49+
50+
#ifdef __cplusplus
51+
}
52+
#endif
53+
54+
#endif /* STM32_ASSERT_H */
55+
56+
57+
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

system/Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal.h

Lines changed: 802 additions & 0 deletions
Large diffs are not rendered by default.

system/Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc.h

Lines changed: 1810 additions & 0 deletions
Large diffs are not rendered by default.

system/Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_adc_ex.h

Lines changed: 1113 additions & 0 deletions
Large diffs are not rendered by default.

system/Drivers/STM32MP1xx_HAL_Driver/Inc/stm32mp1xx_hal_cec.h

Lines changed: 794 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 333 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,333 @@
1+
/**
2+
******************************************************************************
3+
* @file stm32mp1xx_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 STM32MP1xx_HAL_CONF_H
22+
#define STM32MP1xx_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+
#define HAL_MODULE_ENABLED
36+
#define HAL_ADC_MODULE_ENABLED
37+
#define HAL_CEC_MODULE_ENABLED
38+
#define HAL_CORTEX_MODULE_ENABLED
39+
#define HAL_CRC_MODULE_ENABLED
40+
#define HAL_CRYP_MODULE_ENABLED
41+
#define HAL_DAC_MODULE_ENABLED
42+
#define HAL_DCMI_MODULE_ENABLED
43+
#define HAL_DFSDM_MODULE_ENABLED
44+
#define HAL_DMA_MODULE_ENABLED
45+
#define HAL_EXTI_MODULE_ENABLED
46+
#define HAL_FDCAN_MODULE_ENABLED
47+
#define HAL_GPIO_MODULE_ENABLED
48+
#define HAL_HASH_MODULE_ENABLED
49+
#define HAL_HSEM_MODULE_ENABLED
50+
#define HAL_I2C_MODULE_ENABLED
51+
#define HAL_IPCC_MODULE_ENABLED
52+
#define HAL_LPTIM_MODULE_ENABLED
53+
#define HAL_MDMA_MODULE_ENABLED
54+
#define HAL_PWR_MODULE_ENABLED
55+
#define HAL_QSPI_MODULE_ENABLED
56+
#define HAL_RCC_MODULE_ENABLED
57+
#define HAL_RNG_MODULE_ENABLED
58+
#define HAL_SAI_MODULE_ENABLED
59+
#define HAL_SD_MODULE_ENABLED
60+
#define HAL_SMBUS_MODULE_ENABLED
61+
#define HAL_SPDIFRX_MODULE_ENABLED
62+
#define HAL_SPI_MODULE_ENABLED
63+
#define HAL_TIM_MODULE_ENABLED
64+
#define HAL_UART_MODULE_ENABLED
65+
#define HAL_USART_MODULE_ENABLED
66+
#define HAL_WWDG_MODULE_ENABLED
67+
68+
/* ########################## Register Callbacks selection ############################## */
69+
/**
70+
* @brief This is the list of modules where register callback can be used
71+
*/
72+
#define USE_HAL_ADC_REGISTER_CALLBACKS 0u
73+
#define USE_HAL_CEC_REGISTER_CALLBACKS 0u
74+
#define USE_HAL_DAC_REGISTER_CALLBACKS 0u
75+
#define USE_HAL_I2C_REGISTER_CALLBACKS 0u
76+
#define USE_HAL_RNG_REGISTER_CALLBACKS 0u
77+
#define USE_HAL_SPI_REGISTER_CALLBACKS 0u
78+
#define USE_HAL_UART_REGISTER_CALLBACKS 0u
79+
#define USE_HAL_USART_REGISTER_CALLBACKS 0u
80+
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0u
81+
82+
/* ################## SPI peripheral configuration ########################## */
83+
84+
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
85+
* Activated: CRC code is present inside driver
86+
* Deactivated: CRC code cleaned from driver
87+
*/
88+
#define USE_SPI_CRC 1U
89+
90+
/* ######################### Oscillator Values adaptation ################### */
91+
/**
92+
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
93+
* This value is used by the RCC HAL module to compute the system frequency
94+
* (when HSE is used as system clock source, directly or through the PLL).
95+
*/
96+
#if !defined (HSE_VALUE)
97+
#define HSE_VALUE 24000000U /*!< Value of the External oscillator in Hz */
98+
#endif /* HSE_VALUE */
99+
100+
/**
101+
* @brief In the following line adjust the External High Speed oscillator (HSE) Startup
102+
* Timeout value
103+
*/
104+
#if !defined (HSE_STARTUP_TIMEOUT)
105+
#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
106+
#endif /* HSE_STARTUP_TIMEOUT */
107+
108+
/**
109+
* @brief Internal High Speed oscillator (HSI) value.
110+
* This value is used by the RCC HAL module to compute the system frequency
111+
* (when HSI is used as system clock source, directly or through the PLL).
112+
*/
113+
#if !defined (HSI_VALUE)
114+
#define HSI_VALUE 64000000U /*!< Value of the Internal oscillator in Hz*/
115+
#endif /* HSI_VALUE */
116+
117+
/**
118+
* @brief In the following line adjust the Internal High Speed oscillator (HSI) Startup
119+
* Timeout value
120+
*/
121+
#if !defined (HSI_STARTUP_TIMEOUT)
122+
#define HSI_STARTUP_TIMEOUT 5000U /*!< Time out for HSI start up */
123+
#endif /* HSI_STARTUP_TIMEOUT */
124+
125+
126+
/**
127+
* @brief Internal Low Speed oscillator (LSI) value.
128+
*/
129+
#if !defined (LSI_VALUE)
130+
#define LSI_VALUE 32000U
131+
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
132+
The real value may vary depending on the variations
133+
in voltage and temperature. */
134+
/**
135+
* @brief External Low Speed oscillator (LSE) value.
136+
*/
137+
#if !defined (LSE_VALUE)
138+
#define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */
139+
#endif /* LSE_VALUE */
140+
141+
/**
142+
* @brief Time out for LSE start up value in ms.
143+
*/
144+
#if !defined (LSE_STARTUP_TIMEOUT)
145+
#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
146+
#endif /* LSE_STARTUP_TIMEOUT */
147+
148+
/**
149+
* @brief Internal oscillator (CSI) default value.
150+
* This value is the default CSI value after Reset.
151+
*/
152+
#if !defined (CSI_VALUE)
153+
#define CSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/
154+
#endif /* CSI_VALUE */
155+
156+
/* Tip: To avoid modifying this file each time you need to use different HSE,
157+
=== you can define the HSE value in your toolchain compiler preprocessor. */
158+
159+
/* ########################### System Configuration ######################### */
160+
/**
161+
* @brief This is the HAL system configuration section
162+
*/
163+
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
164+
#define TICK_INT_PRIORITY ((uint32_t)(1U<<4U) - 1U) /*!< tick interrupt priority (lowest by default) */
165+
/* Warning: Must be set to higher priority for HAL_Delay() */
166+
/* and HAL_GetTick() usage under interrupt context */
167+
#define USE_RTOS 0U
168+
#define PREFETCH_ENABLE 0U
169+
#define INSTRUCTION_CACHE_ENABLE 0U
170+
#define DATA_CACHE_ENABLE 0U
171+
172+
/* ########################## Assert Selection ############################## */
173+
/**
174+
* @brief Uncomment the line below to expanse the "assert_param" macro in the
175+
* HAL drivers code
176+
*/
177+
/*#define USE_FULL_ASSERT 1*/
178+
179+
/* Includes ------------------------------------------------------------------*/
180+
/**
181+
* @brief Include module's header file
182+
*/
183+
184+
#ifdef HAL_RCC_MODULE_ENABLED
185+
#include "stm32mp1xx_hal_rcc.h"
186+
#endif /* HAL_RCC_MODULE_ENABLED */
187+
188+
#ifdef HAL_EXTI_MODULE_ENABLED
189+
#include "stm32mp1xx_hal_exti.h"
190+
#endif /* HAL_EXTI_MODULE_ENABLED */
191+
192+
#ifdef HAL_GPIO_MODULE_ENABLED
193+
#include "stm32mp1xx_hal_gpio.h"
194+
#endif /* HAL_GPIO_MODULE_ENABLED */
195+
196+
#ifdef HAL_HSEM_MODULE_ENABLED
197+
#include "stm32mp1xx_hal_hsem.h"
198+
#endif /* HAL_HSEM_MODULE_ENABLED */
199+
200+
#ifdef HAL_DMA_MODULE_ENABLED
201+
#include "stm32mp1xx_hal_dma.h"
202+
#endif /* HAL_DMA_MODULE_ENABLED */
203+
204+
#ifdef HAL_MDMA_MODULE_ENABLED
205+
#include "stm32mp1xx_hal_mdma.h"
206+
#endif /* HAL_MDMA_MODULE_ENABLED */
207+
208+
#ifdef HAL_CORTEX_MODULE_ENABLED
209+
#include "stm32mp1xx_hal_cortex.h"
210+
#endif /* HAL_CORTEX_MODULE_ENABLED */
211+
212+
#ifdef HAL_ADC_MODULE_ENABLED
213+
#include "stm32mp1xx_hal_adc.h"
214+
#endif /* HAL_ADC_MODULE_ENABLED */
215+
216+
#ifdef HAL_CEC_MODULE_ENABLED
217+
#include "stm32mp1xx_hal_cec.h"
218+
#endif /* HAL_CEC_MODULE_ENABLED */
219+
220+
#ifdef HAL_CRC_MODULE_ENABLED
221+
#include "stm32mp1xx_hal_crc.h"
222+
#endif /* HAL_CRC_MODULE_ENABLED */
223+
224+
#ifdef HAL_CRYP_MODULE_ENABLED
225+
#include "stm32mp1xx_hal_cryp.h"
226+
#endif /* HAL_CRYP_MODULE_ENABLED */
227+
228+
#ifdef HAL_DAC_MODULE_ENABLED
229+
#include "stm32mp1xx_hal_dac.h"
230+
#endif /* HAL_DAC_MODULE_ENABLED */
231+
232+
#ifdef HAL_DCMI_MODULE_ENABLED
233+
#include "stm32mp1xx_hal_dcmi.h"
234+
#endif /* HAL_DCMI_MODULE_ENABLED */
235+
236+
#ifdef HAL_DFSDM_MODULE_ENABLED
237+
#include "stm32mp1xx_hal_dfsdm.h"
238+
#endif /* HAL_DFSDM_MODULE_ENABLED */
239+
240+
#ifdef HAL_FDCAN_MODULE_ENABLED
241+
#include "stm32mp1xx_hal_fdcan.h"
242+
#endif /* HAL_FDCAN_MODULE_ENABLED */
243+
244+
#ifdef HAL_HASH_MODULE_ENABLED
245+
#include "stm32mp1xx_hal_hash.h"
246+
#endif /* HAL_HASH_MODULE_ENABLED */
247+
248+
#ifdef HAL_I2C_MODULE_ENABLED
249+
#include "stm32mp1xx_hal_i2c.h"
250+
#endif /* HAL_I2C_MODULE_ENABLED */
251+
252+
#ifdef HAL_IPCC_MODULE_ENABLED
253+
#include "stm32mp1xx_hal_ipcc.h"
254+
#endif /* HAL_IPCC_MODULE_ENABLED */
255+
256+
#ifdef HAL_LPTIM_MODULE_ENABLED
257+
#include "stm32mp1xx_hal_lptim.h"
258+
#endif /* HAL_LPTIM_MODULE_ENABLED */
259+
260+
#ifdef HAL_PWR_MODULE_ENABLED
261+
#include "stm32mp1xx_hal_pwr.h"
262+
#endif /* HAL_PWR_MODULE_ENABLED */
263+
264+
#ifdef HAL_QSPI_MODULE_ENABLED
265+
#include "stm32mp1xx_hal_qspi.h"
266+
#endif /* HAL_QSPI_MODULE_ENABLED */
267+
268+
#ifdef HAL_RNG_MODULE_ENABLED
269+
#include "stm32mp1xx_hal_rng.h"
270+
#endif /* HAL_RNG_MODULE_ENABLED */
271+
272+
#ifdef HAL_SAI_MODULE_ENABLED
273+
#include "stm32mp1xx_hal_sai.h"
274+
#endif /* HAL_SAI_MODULE_ENABLED */
275+
276+
#ifdef HAL_SD_MODULE_ENABLED
277+
#include "stm32mp1xx_hal_sd.h"
278+
#endif /* HAL_SD_MODULE_ENABLED */
279+
280+
#ifdef HAL_SMBUS_MODULE_ENABLED
281+
#include "stm32mp1xx_hal_smbus.h"
282+
#endif /* HAL_SMBUS_MODULE_ENABLED */
283+
284+
#ifdef HAL_SPDIFRX_MODULE_ENABLED
285+
#include "stm32mp1xx_hal_spdifrx.h"
286+
#endif /* HAL_SPDIFRX_MODULE_ENABLED */
287+
288+
#ifdef HAL_SPI_MODULE_ENABLED
289+
#include "stm32mp1xx_hal_spi.h"
290+
#endif /* HAL_SPI_MODULE_ENABLED */
291+
292+
#ifdef HAL_TIM_MODULE_ENABLED
293+
#include "stm32mp1xx_hal_tim.h"
294+
#endif /* HAL_TIM_MODULE_ENABLED */
295+
296+
#ifdef HAL_UART_MODULE_ENABLED
297+
#include "stm32mp1xx_hal_uart.h"
298+
#endif /* HAL_UART_MODULE_ENABLED */
299+
300+
#ifdef HAL_USART_MODULE_ENABLED
301+
#include "stm32mp1xx_hal_usart.h"
302+
#endif /* HAL_USART_MODULE_ENABLED */
303+
304+
#ifdef HAL_WWDG_MODULE_ENABLED
305+
#include "stm32mp1xx_hal_wwdg.h"
306+
#endif /* HAL_WWDG_MODULE_ENABLED */
307+
308+
/* Exported macro ------------------------------------------------------------*/
309+
#ifdef USE_FULL_ASSERT
310+
/**
311+
* @brief The assert_param macro is used for function's parameters check.
312+
* @param expr: If expr is false, it calls assert_failed function
313+
* which reports the name of the source file and the source
314+
* line number of the call that failed.
315+
* If expr is true, it returns no value.
316+
* @retval None
317+
*/
318+
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
319+
/* Exported functions ------------------------------------------------------- */
320+
void assert_failed(uint8_t* file, uint32_t line);
321+
#else
322+
#define assert_param(expr) ((void)0U)
323+
#endif /* USE_FULL_ASSERT */
324+
325+
#ifdef __cplusplus
326+
}
327+
#endif
328+
329+
#endif /* STM32MP1xx_HAL_CONF_H */
330+
331+
332+
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
333+

0 commit comments

Comments
 (0)