Skip to content

Commit 0769af2

Browse files
committed
support new board NUCLEO_L552ZE-Q
Signed-off-by: Francois Ramu <[email protected]>
1 parent d801b05 commit 0769af2

File tree

6 files changed

+46
-10
lines changed

6 files changed

+46
-10
lines changed

Diff for: cores/arduino/stm32/backup.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ static inline void setBackupRegister(uint32_t index, uint32_t value)
125125
LL_RTC_BKP_SetRegister(BKP, index, value);
126126
#elif defined(STM32G0xx)
127127
LL_RTC_BKP_SetRegister(TAMP, index, value);
128-
#elif defined(STM32G4xx)
128+
#elif defined(STM32G4xx) || defined(STM32L5xx)
129129
LL_RTC_BKP_SetRegister(RTC, index, value);
130130
#else
131131
#ifdef ENABLE_BACKUP_SUPPORT
@@ -143,7 +143,7 @@ static inline uint32_t getBackupRegister(uint32_t index)
143143
return LL_RTC_BKP_GetRegister(BKP, index);
144144
#elif defined(STM32G0xx)
145145
return LL_RTC_BKP_GetRegister(TAMP, index);
146-
#elif defined(STM32G4xx)
146+
#elif defined(STM32G4xx) || defined(STM32L5xx)
147147
return LL_RTC_BKP_GetRegister(RTC, index);
148148
#else
149149
#ifdef ENABLE_BACKUP_SUPPORT

Diff for: cores/arduino/stm32/stm32_def.h

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
#include "stm32l1xx.h"
4747
#elif defined(STM32L4xx)
4848
#include "stm32l4xx.h"
49+
#elif defined(STM32L5xx)
50+
#include "stm32l5xx.h"
4951
#elif defined(STM32MP1xx)
5052
#include "stm32mp1xx.h"
5153
#elif defined(STM32WBxx)

Diff for: cores/arduino/stm32/timer.h

+35-4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ extern "C" {
3737
#endif
3838

3939
#if defined(TIM1_BASE) && !defined(TIM1_IRQn)
40-
#if defined(STM32F0xx) || defined(STM32G0xx)
40+
#if defined(STM32L5xx)
41+
#define TIM1_IRQn TIM1_UP_IRQn
42+
#define TIM1_IRQHandler TIM1_UP_IRQHandler
43+
#elif defined(STM32F0xx) || defined(STM32G0xx)
4144
#define TIM1_IRQn TIM1_BRK_UP_TRG_COM_IRQn
4245
#define TIM1_IRQHandler TIM1_BRK_UP_TRG_COM_IRQHandler
4346
#elif defined(STM32F1xx) ||defined(STM32G4xx)
@@ -63,19 +66,45 @@ extern "C" {
6366
#define TIM1_IRQHandler TIM1_UP_IRQHandler
6467
#endif
6568
#endif
69+
70+
#if defined(STM32L5xx)
71+
#if defined(TIM3_BASE) && !defined(TIM3_IRQn)
72+
#define TIM3_IRQn TIM3_IRQn
73+
#define TIM3_IRQHandler TIM3_IRQHandler
74+
#endif
75+
#if defined(TIM4_BASE) && !defined(TIM4_IRQn)
76+
#define TIM4_IRQn TIM4_IRQn
77+
#define TIM4_IRQHandler TIM4_IRQHandler
78+
#endif
79+
#if defined(TIM5_BASE) && !defined(TIM5_IRQn)
80+
#define TIM5_IRQn TIM5_IRQn
81+
#define TIM5_IRQHandler TIM5_IRQHandler
82+
#endif
83+
#endif
84+
6685
#if defined(TIM6_BASE) && !defined(TIM6_IRQn)
86+
#if defined(STM32L5xx)
87+
#define TIM6_IRQn TIM6_IRQn
88+
#define TIM6_IRQHandler TIM6_IRQHandler
89+
#else
6790
#if defined(DAC_BASE) || defined(DAC1_BASE)
6891
#if defined(STM32G0xx)
6992
#define TIM6_IRQn TIM6_DAC_LPTIM1_IRQn
7093
#define TIM6_IRQHandler TIM6_DAC_LPTIM1_IRQHandler
7194
#elif !defined(STM32F1xx) && !defined(STM32L1xx) && !defined(STM32MP1xx)
7295
#define TIM6_IRQn TIM6_DAC_IRQn
73-
#define TIM6_IRQHandler TIM6_DAC_IRQHandler
96+
#define TIM6_IRQHandler TIM2_DAC_IRQHandler
97+
#endif
98+
#else
7499
#endif
75100
#endif
76101
#endif
102+
77103
#if defined(TIM7_BASE) && !defined(TIM7_IRQn)
78-
#if defined(STM32G0xx) && defined(LPTIM2_BASE)
104+
#if defined(STM32L5xx)
105+
#define TIM7_IRQn TIM7_IRQn
106+
#define TIM7_IRQHandler TIM7_IRQHandler
107+
#elif defined(STM32G0xx) && defined(LPTIM2_BASE)
79108
#define TIM7_IRQn TIM7_LPTIM2_IRQn
80109
#define TIM7_IRQHandler TIM7_LPTIM2_IRQHandler
81110
#elif defined(STM32G4xx)
@@ -89,11 +118,13 @@ extern "C" {
89118
|| defined(STM32H7xx)
90119
#define TIM8_IRQn TIM8_UP_TIM13_IRQn
91120
#define TIM8_IRQHandler TIM8_UP_TIM13_IRQHandler
92-
#elif defined(STM32F3xx) || defined(STM32G4xx) || defined(STM32L4xx) || defined(STM32MP1xx)
121+
#elif defined(STM32F3xx) || defined(STM32G4xx) || defined(STM32L4xx)\
122+
|| defined(STM32L5xx) || defined(STM32MP1xx)
93123
#define TIM8_IRQn TIM8_UP_IRQn
94124
#define TIM8_IRQHandler TIM8_UP_IRQHandler
95125
#endif
96126
#endif
127+
97128
#if defined(TIM9_BASE) && !defined(TIM9_IRQn)
98129
#if defined(STM32F1xx) || defined(STM32F2xx) ||defined(STM32F4xx) || defined(STM32F7xx)
99130
#define TIM9_IRQn TIM1_BRK_TIM9_IRQn

Diff for: libraries/SrcWrapper/src/stm32/analog.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -842,8 +842,8 @@ uint16_t adc_read_value(PinName pin, uint32_t resolution)
842842
#endif
843843
#if !defined(STM32F1xx) && !defined(STM32F2xx) && !defined(STM32F3xx) && \
844844
!defined(STM32F4xx) && !defined(STM32F7xx) && !defined(STM32G4xx) && \
845-
!defined(STM32H7xx) && !defined(STM32L4xx) && !defined(STM32MP1xx) && \
846-
!defined(STM32WBxx)
845+
!defined(STM32H7xx) && !defined(STM32L4xx) && !defined(STM32L5xx) && \
846+
!defined(STM32MP1xx) && !defined(STM32WBxx)
847847
AdcHandle.Init.LowPowerAutoPowerOff = DISABLE; /* ADC automatically powers-off after a conversion and automatically wakes-up when a new conversion is triggered */
848848
#endif
849849
#ifdef ADC_CHANNELS_BANK_A
@@ -913,7 +913,7 @@ uint16_t adc_read_value(PinName pin, uint32_t resolution)
913913

914914
AdcChannelConf.Channel = channel; /* Specifies the channel to configure into ADC */
915915

916-
#if defined(STM32L4xx) || defined(STM32WBxx)
916+
#if defined(STM32L4xx) || defined(STM32L5xx) || defined(STM32WBxx)
917917
if (!IS_ADC_CHANNEL(&AdcHandle, AdcChannelConf.Channel)) {
918918
#elif defined(STM32G4xx)
919919
if (!IS_ADC_CHANNEL(&AdcHandle, AdcChannelConf.Channel)) {

Diff for: libraries/SrcWrapper/src/stm32/interrupt.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ static gpio_irq_conf_str gpio_irq_conf[NB_EXTI] = {
7171
{.irqnb = EXTI4_15_IRQn, .callback = NULL}, //GPIO_PIN_13
7272
{.irqnb = EXTI4_15_IRQn, .callback = NULL}, //GPIO_PIN_14
7373
{.irqnb = EXTI4_15_IRQn, .callback = NULL} //GPIO_PIN_15
74-
#elif defined (STM32MP1xx)
74+
#elif defined (STM32MP1xx) || defined (STM32L5xx)
7575
{.irqnb = EXTI0_IRQn, .callback = NULL}, //GPIO_PIN_0
7676
{.irqnb = EXTI1_IRQn, .callback = NULL}, //GPIO_PIN_1
7777
{.irqnb = EXTI2_IRQn, .callback = NULL}, //GPIO_PIN_2

Diff for: libraries/SrcWrapper/src/stm32/system_stm32yyxx.c

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
#ifdef STM32L4xx
3737
#include "system_stm32l4xx.c"
3838
#endif
39+
#ifdef STM32L5xx
40+
#include "system_stm32l5xx.c"
41+
#endif
3942
#ifdef STM32MP1xx
4043
#include "system_stm32mp1xx.c"
4144
#endif

0 commit comments

Comments
 (0)