Skip to content

Commit 655bf0d

Browse files
committed
system(u3) update STM32U3xx HAL Drivers to v1.4.0
Included in STM32CubeU3 FW v1.4.0 Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent 2e3c1a6 commit 655bf0d

44 files changed

Lines changed: 2209 additions & 295 deletions

Some content is hidden

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

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ extern HAL_TickFreqTypeDef uwTickFreq;
7575
* @brief STM32U3xx HAL Driver version number
7676
*/
7777
#define __STM32U3xx_HAL_VERSION_MAIN (0x01UL) /*!< [31:24] main version */
78-
#define __STM32U3xx_HAL_VERSION_SUB1 (0x02UL) /*!< [23:16] sub1 version */
78+
#define __STM32U3xx_HAL_VERSION_SUB1 (0x04UL) /*!< [23:16] sub1 version */
7979
#define __STM32U3xx_HAL_VERSION_SUB2 (0x00UL) /*!< [15:8] sub2 version */
8080
#define __STM32U3xx_HAL_VERSION_RC (0x00UL) /*!< [7:0] release candidate */
8181
#define __STM32U3xx_HAL_VERSION ((__STM32U3xx_HAL_VERSION_MAIN << 24U)\

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_adc_ex.h‎

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -862,32 +862,47 @@ typedef struct
862862
* @param __HANDLE__ ADC handle.
863863
* @retval SET (ADC instance is valid) or RESET (ADC instance is invalid)
864864
*/
865+
#if defined(ADC1) && defined(ADC2)
865866
#define ADC_TEMPERATURE_SENSOR_INSTANCE(__HANDLE__) ((((__HANDLE__)->Instance) == ADC1) || \
866867
(((__HANDLE__)->Instance) == ADC2) )
868+
#else
869+
#define ADC_TEMPERATURE_SENSOR_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC1)
870+
#endif /* ADC1 && ADC2 */
867871
/**
868872
* @brief Verify the ADC instance connected to the battery voltage VBAT.
869873
* @param __HANDLE__ ADC handle.
870874
* @retval SET (ADC instance is valid) or RESET (ADC instance is invalid)
871875
*/
876+
#if defined(ADC1) && defined(ADC2)
872877
#define ADC_BATTERY_VOLTAGE_INSTANCE(__HANDLE__) ((((__HANDLE__)->Instance) == ADC1) ||\
873878
(((__HANDLE__)->Instance) == ADC2) )
874-
879+
#else
880+
#define ADC_BATTERY_VOLTAGE_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC1)
881+
#endif /* ADC1 && ADC2 */
875882

876883
/**
877884
* @brief Verify the ADC instance connected to the internal voltage reference VREFINT.
878885
* @param __HANDLE__ ADC handle.
879886
* @retval SET (ADC instance is valid) or RESET (ADC instance is invalid)
880887
*/
888+
#if defined (ADC1) && defined (ADC2)
881889
#define ADC_VREFINT_INSTANCE(__HANDLE__) ((((__HANDLE__)->Instance) == ADC1) ||\
882890
(((__HANDLE__)->Instance) == ADC2) )
891+
#else
892+
#define ADC_VREFINT_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC1)
893+
#endif /* ADC1 && ADC2 */
883894

884895
/**
885896
* @brief Verify the ADC instance connected to the internal VDDCore.
886897
* @param __HANDLE__ ADC handle.
887898
* @retval SET (ADC instance is valid) or RESET (ADC instance is invalid)
888899
*/
900+
#if defined(ADC1) && defined(ADC2)
889901
#define ADC_VDDCORE_INSTANCE(__HANDLE__) ((((__HANDLE__)->Instance) == ADC1) ||\
890902
(((__HANDLE__)->Instance) == ADC2) )
903+
#else
904+
#define ADC_VDDCORE_INSTANCE(__HANDLE__) (((__HANDLE__)->Instance) == ADC1)
905+
#endif /* ADC1 && ADC2 */
891906

892907
/**
893908
* @brief Verify the length of scheduled injected conversions group.
@@ -911,6 +926,7 @@ typedef struct
911926
* @param __CHANNEL__ programmed ADC channel.
912927
* @retval SET (__CHANNEL__ is valid) or RESET (__CHANNEL__ is invalid)
913928
*/
929+
#if defined(ADC1) && defined(ADC2)
914930
#define IS_ADC_CHANNEL(__HANDLE__, __CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_0) || \
915931
((__CHANNEL__) == ADC_CHANNEL_1) || \
916932
((__CHANNEL__) == ADC_CHANNEL_2) || \
@@ -937,6 +953,31 @@ typedef struct
937953
((((__HANDLE__)->Instance) == ADC2) && \
938954
(((__CHANNEL__) == ADC_CHANNEL_DAC1CH1_ADC2) || \
939955
((__CHANNEL__) == ADC_CHANNEL_DAC1CH2_ADC2))))
956+
#else
957+
#define IS_ADC_CHANNEL(__HANDLE__, __CHANNEL__) (((__CHANNEL__) == ADC_CHANNEL_0) || \
958+
((__CHANNEL__) == ADC_CHANNEL_1) || \
959+
((__CHANNEL__) == ADC_CHANNEL_2) || \
960+
((__CHANNEL__) == ADC_CHANNEL_3) || \
961+
((__CHANNEL__) == ADC_CHANNEL_4) || \
962+
((__CHANNEL__) == ADC_CHANNEL_5) || \
963+
((__CHANNEL__) == ADC_CHANNEL_6) || \
964+
((__CHANNEL__) == ADC_CHANNEL_7) || \
965+
((__CHANNEL__) == ADC_CHANNEL_8) || \
966+
((__CHANNEL__) == ADC_CHANNEL_9) || \
967+
((__CHANNEL__) == ADC_CHANNEL_10) || \
968+
((__CHANNEL__) == ADC_CHANNEL_11) || \
969+
((__CHANNEL__) == ADC_CHANNEL_12) || \
970+
((__CHANNEL__) == ADC_CHANNEL_13) || \
971+
((__CHANNEL__) == ADC_CHANNEL_14) || \
972+
((__CHANNEL__) == ADC_CHANNEL_15) || \
973+
((__CHANNEL__) == ADC_CHANNEL_16) || \
974+
((__CHANNEL__) == ADC_CHANNEL_17) || \
975+
((__CHANNEL__) == ADC_CHANNEL_18) || \
976+
((__CHANNEL__) == ADC_CHANNEL_VBAT) || \
977+
((__CHANNEL__) == ADC_CHANNEL_VDDCORE) || \
978+
((__CHANNEL__) == ADC_CHANNEL_TEMPSENSOR) || \
979+
((__CHANNEL__) == ADC_CHANNEL_VREFINT))
980+
#endif /* ADC1 && ADC2 */
940981

941982

942983
/**

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_ccb.h‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222

2323
/* Includes ------------------------------------------------------------------*/
2424
#include "stm32u3xx_hal_def.h"
25+
#if (defined(RNG_HTSR0_RPERRX) || defined(RNG_HTSR1_ADERRX))
26+
#include "stm32u3xx_ll_rng.h"
27+
#endif /* RNG_HTSR0_RPERRX) || RNG_HTSR1_ADERRX */
2528

2629
/** @addtogroup STM32U3xx_HAL_Driver
2730
* @{

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_cryp.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ extern "C" {
2626

2727
/* Includes ------------------------------------------------------------------*/
2828
#include "stm32u3xx_hal_def.h"
29+
#include "stm32u3xx_ll_rng.h"
2930

3031
/** @addtogroup STM32U3xx_HAL_Driver
3132
* @{

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_dma.h‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,8 +312,10 @@ typedef struct __DMA_HandleTypeDef
312312
#define GPDMA1_REQUEST_I3C1_TX 50U /*!< GPDMA1 HW request is I3C1_TX */
313313
#define GPDMA1_REQUEST_I3C1_TC 51U /*!< GPDMA1 HW request is I3C1_TC */
314314
#define GPDMA1_REQUEST_I3C1_RS 52U /*!< GPDMA1 HW request is I3C1_RS */
315-
/* Reserved 53U */
316-
/* Reserved 54U */
315+
#if defined (GFXPAND1)
316+
#define GPDMA1_REQUEST_GFXPAND_IN 53U /*!< GPDMA1 HW request is GFXPAND_IN */
317+
#define GPDMA1_REQUEST_GFXPAND_OUT 54U /*!< GPDMA1 HW request is GFXPAND_OUT */
318+
#endif /* GFXPAND1 */
317319
/* Reserved 55U */
318320
#define GPDMA1_REQUEST_TIM2_CH1 56U /*!< GPDMA1 HW request is TIM2_CH1 */
319321
#define GPDMA1_REQUEST_TIM2_CH2 57U /*!< GPDMA1 HW request is TIM2_CH2 */

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_gpio_ex.h‎

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ extern "C" {
6767
/**
6868
* @brief AF 1 selection
6969
*/
70-
#if defined(STM32U356xx) || defined(STM32U366xx) || defined(STM32U396xx) || defined(STM32U3A6xx)
70+
#if defined(STM32U396xx) || defined(STM32U3A6xx)
7171
#define GPIO_AF1_USART3 ((uint8_t)0x01) /*!< USART3 Alternate Function mapping */
72-
#endif /* defined(STM32U356xx) || defined(STM32U366xx) || defined(STM32U396xx) || defined(STM32U3A6xx) */
72+
#endif /* defined(STM32U396xx) || defined(STM32U3A6xx) */
7373
#define GPIO_AF1_IR ((uint8_t)0x01) /*!< IR Alternate Function mapping */
7474
#define GPIO_AF1_LPTIM1 ((uint8_t)0x01) /*!< LPTIM1 Alternate Function mapping */
7575
#define GPIO_AF1_TIM1 ((uint8_t)0x01) /*!< TIM1 Alternate Function mapping */
@@ -168,9 +168,9 @@ extern "C" {
168168
#if !(defined(STM32U356xx) || defined(STM32U366xx) || defined(STM32U335xx) || defined(STM32U345xx))
169169
#define GPIO_AF6_I3C2 ((uint8_t)0x06) /*!< I3C2 Alternate Function mapping */
170170
#endif /* !(defined(STM32U356xx) || defined(STM32U366xx) || defined(STM32U335xx) || defined(STM32U345xx)) */
171+
#define GPIO_AF6_SPI2 ((uint8_t)0x06) /*!< SPI2 Alternate Function mapping */
171172
#if !(defined(STM32U335xx) || defined(STM32U345xx))
172173
#define GPIO_AF6_SPI3 ((uint8_t)0x06) /*!< SPI3 Alternate Function mapping */
173-
#define GPIO_AF6_SPI2 ((uint8_t)0x06) /*!< SPI2 Alternate Function mapping */
174174
#endif /* !(defined(STM32U335xx) || defined(STM32U345xx)) */
175175
#if defined(STM32U3B5xx) || defined(STM32U3C5xx)
176176
#define GPIO_AF6_SPI4 ((uint8_t)0x06) /*!< SPI4 Alternate Function mapping */
@@ -319,16 +319,23 @@ extern "C" {
319319
/** @defgroup GPIOEx_Get_Port_Index GPIOEx Get Port Index
320320
* @{
321321
*/
322-
#if defined(GPIOF)
322+
#if defined(GPIOA) && defined(GPIOB) && defined(GPIOC) && defined(GPIOD) && \
323+
!defined(GPIOE) && !defined(GPIOF) && !defined(GPIOG) && defined(GPIOH)
324+
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
325+
((__GPIOx__) == (GPIOB))? 1UL :\
326+
((__GPIOx__) == (GPIOC))? 2UL :\
327+
((__GPIOx__) == (GPIOD))? 3UL :\
328+
((__GPIOx__) == (GPIOH))? 7UL : 16UL)
329+
#elif defined(GPIOA) && defined(GPIOB) && defined(GPIOC) && defined(GPIOD) && \
330+
defined(GPIOE) && !defined(GPIOF) && !defined(GPIOG) && defined(GPIOH)
323331
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
324332
((__GPIOx__) == (GPIOB))? 1UL :\
325333
((__GPIOx__) == (GPIOC))? 2UL :\
326334
((__GPIOx__) == (GPIOD))? 3UL :\
327335
((__GPIOx__) == (GPIOE))? 4UL :\
328-
((__GPIOx__) == (GPIOF))? 5UL :\
329-
((__GPIOx__) == (GPIOG))? 6UL :\
330336
((__GPIOx__) == (GPIOH))? 7UL : 16UL)
331-
#elif defined(GPIOG)
337+
#elif defined(GPIOA) && defined(GPIOB) && defined(GPIOC) && defined(GPIOD) && \
338+
defined(GPIOE) && !defined(GPIOF) && defined(GPIOG) && defined(GPIOH)
332339
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
333340
((__GPIOx__) == (GPIOB))? 1UL :\
334341
((__GPIOx__) == (GPIOC))? 2UL :\
@@ -342,8 +349,11 @@ extern "C" {
342349
((__GPIOx__) == (GPIOC))? 2UL :\
343350
((__GPIOx__) == (GPIOD))? 3UL :\
344351
((__GPIOx__) == (GPIOE))? 4UL :\
352+
((__GPIOx__) == (GPIOF))? 5UL :\
353+
((__GPIOx__) == (GPIOG))? 6UL :\
345354
((__GPIOx__) == (GPIOH))? 7UL : 16UL)
346-
#endif /* GPIOF */
355+
#endif /* defined(GPIOA) && defined(GPIOB) && defined(GPIOC) && defined(GPIOD) &&
356+
!defined(GPIOE) && !defined(GPIOF) && !defined(GPIOG) && defined(GPIOH) */
347357

348358
/**
349359
* @}

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_gtzc.h‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,13 @@ typedef struct
224224
#define GTZC_PERIPH_CRC (GTZC_PERIPH_REG3 | GTZC_CFGR3_CRC_Pos)
225225
#define GTZC_PERIPH_TSC (GTZC_PERIPH_REG3 | GTZC_CFGR3_TSC_Pos)
226226
#define GTZC_PERIPH_ICACHE_REG (GTZC_PERIPH_REG3 | GTZC_CFGR3_ICACHE_REG_Pos)
227-
#define GTZC_PERIPH_ADC12 (GTZC_PERIPH_REG3 | GTZC_CFGR3_ADC12_Pos)
227+
#if defined(ADC1) && defined(ADC2)
228+
#define GTZC_PERIPH_ADC (GTZC_PERIPH_REG3 | GTZC_CFGR3_ADC12_Pos)
229+
#define GTZC_PERIPH_ADC12 GTZC_PERIPH_ADC
230+
#elif defined(ADC1)
231+
#define GTZC_PERIPH_ADC (GTZC_PERIPH_REG3 | GTZC_CFGR3_ADC1_Pos)
232+
#define GTZC_PERIPH_ADC1 GTZC_PERIPH_ADC
233+
#endif /* ADC1 and ADC2 */
228234
#if defined(AES)
229235
#define GTZC_PERIPH_AES (GTZC_PERIPH_REG3 | GTZC_CFGR3_AES_Pos)
230236
#endif /* AES */
@@ -243,7 +249,9 @@ typedef struct
243249
#define GTZC_PERIPH_OCTOSPI1_REG (GTZC_PERIPH_REG3 | GTZC_CFGR3_OCTOSPI1_REG_Pos)
244250
#define GTZC_PERIPH_RAMCFG (GTZC_PERIPH_REG3 | GTZC_CFGR3_RAMCFG_Pos)
245251
#define GTZC_PERIPH_DAC1 (GTZC_PERIPH_REG3 | GTZC_CFGR3_DAC1_Pos)
252+
#if defined(ADF1)
246253
#define GTZC_PERIPH_ADF1 (GTZC_PERIPH_REG3 | GTZC_CFGR3_ADF1_Pos)
254+
#endif /* ADF1 */
247255
#if defined(HSP1)
248256
#define GTZC_PERIPH_HSP1 (GTZC_PERIPH_REG3 | GTZC_CFGR3_HSP1_Pos)
249257
#endif /* HSP1 */

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_hsp.h‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,10 +1323,17 @@ typedef enum
13231323
/** Enumerate to define the Trigger Interconnect Matrix */
13241324
typedef enum
13251325
{
1326+
#if defined(STM32U3C5xx) || defined(STM32U3B5xx)
13261327
HAL_HSP_TRGIN_DMA1_CH1_TC,
13271328
HAL_HSP_TRGIN_DMA1_CH2_TC,
13281329
HAL_HSP_TRGIN_DMA1_CH3_TC,
13291330
HAL_HSP_TRGIN_DMA1_CH4_TC,
1331+
#else
1332+
HAL_HSP_TRGIN_DMA1_CH8_TC,
1333+
HAL_HSP_TRGIN_DMA1_CH9_TC,
1334+
HAL_HSP_TRGIN_DMA1_CH10_TC,
1335+
HAL_HSP_TRGIN_DMA1_CH11_TC,
1336+
#endif /* STM32U3C5xx || STM32U3B5xx */
13301337
HAL_HSP_TRGIN_EXTI0,
13311338
HAL_HSP_TRGIN_EXTI1,
13321339
HAL_HSP_TRGIN_TIM1_TRGO,

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_irda_ex.h‎

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,27 @@ extern "C" {
6969
* @param __CLOCKSOURCE__ output variable.
7070
* @retval IRDA clocking source, written in __CLOCKSOURCE__.
7171
*/
72+
#if !defined(USART2) && !defined (UART5)
73+
#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
74+
do { \
75+
if((__HANDLE__)->Instance == USART1) \
76+
{ \
77+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_USART1; \
78+
} \
79+
else if((__HANDLE__)->Instance == USART3) \
80+
{ \
81+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_USART3; \
82+
} \
83+
else if((__HANDLE__)->Instance == UART4) \
84+
{ \
85+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_UART4; \
86+
} \
87+
else \
88+
{ \
89+
(__CLOCKSOURCE__) = 0U; \
90+
} \
91+
} while(0U)
92+
#elif !defined(USART2)
7293
#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
7394
do { \
7495
if((__HANDLE__)->Instance == USART1) \
@@ -92,7 +113,35 @@ extern "C" {
92113
(__CLOCKSOURCE__) = 0U; \
93114
} \
94115
} while(0U)
95-
116+
#else
117+
#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
118+
do { \
119+
if((__HANDLE__)->Instance == USART1) \
120+
{ \
121+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_USART1; \
122+
} \
123+
else if((__HANDLE__)->Instance == USART2) \
124+
{ \
125+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_USART2; \
126+
} \
127+
else if((__HANDLE__)->Instance == USART3) \
128+
{ \
129+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_USART3; \
130+
} \
131+
else if((__HANDLE__)->Instance == UART4) \
132+
{ \
133+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_UART4; \
134+
} \
135+
else if((__HANDLE__)->Instance == UART5) \
136+
{ \
137+
(__CLOCKSOURCE__) = (uint32_t)RCC_PERIPHCLK_UART5; \
138+
} \
139+
else \
140+
{ \
141+
(__CLOCKSOURCE__) = 0U; \
142+
} \
143+
} while(0U)
144+
#endif /* USART2, USART5 */
96145

97146
/** @brief Compute the mask to apply to retrieve the received data
98147
* according to the word length and to the parity bits activation.

‎system/Drivers/STM32U3xx_HAL_Driver/Inc/stm32u3xx_hal_pcd.h‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ typedef struct
104104
uint32_t Setup[12]; /*!< Setup packet buffer */
105105
PCD_LPM_StateTypeDef LPM_State; /*!< LPM State */
106106
uint32_t BESL;
107-
107+
uint32_t FrameNumber; /*!< Store Current Frame number */
108108

109109
uint32_t lpm_active; /*!< Enable or disable the Link Power Management .
110110
This parameter can be set to ENABLE or DISABLE */
@@ -199,7 +199,6 @@ typedef struct
199199
#define __HAL_USB_WAKEUP_EXTI_ENABLE_IT() EXTI->IMR2 |= USB_WAKEUP_EXTI_LINE
200200
#define __HAL_USB_WAKEUP_EXTI_DISABLE_IT() EXTI->IMR2 &= ~(USB_WAKEUP_EXTI_LINE)
201201

202-
203202
/**
204203
* @}
205204
*/

0 commit comments

Comments
 (0)