Skip to content

Commit 7332ae2

Browse files
committed
core: backup: use register definition instead of serie name
Some serie still require to use their name due to wrong LL API prototype using RTC parameter instead of TAMP. Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent bcdb06f commit 7332ae2

File tree

1 file changed

+19
-23
lines changed

1 file changed

+19
-23
lines changed

cores/arduino/stm32/backup.h

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,7 @@ extern "C" {
3030
#endif
3131

3232
/* Exported macro ------------------------------------------------------------*/
33-
#if (!defined(STM32F0xx) && !defined(STM32F3xx) && !defined(STM32L0xx) &&\
34-
!defined(STM32L1xx) && !defined(STM32L4xx) && !defined(STM32MP1xx)) || \
35-
defined(RTC_BACKUP_SUPPORT)
36-
#if !defined(STM32L412xx) && !defined(STM32L422xx)
37-
#define ENABLE_BACKUP_SUPPORT
38-
#endif
39-
#endif
40-
41-
#if !defined(RTC_BKP_INDEX) && defined(ENABLE_BACKUP_SUPPORT)
33+
#if !defined(RTC_BKP_INDEX) && defined(LL_RTC_BKP_DR1)
4234
#define RTC_BKP_INDEX LL_RTC_BKP_DR1
4335
#else
4436
#define RTC_BKP_INDEX 0
@@ -109,38 +101,42 @@ static inline void disableBackupDomain(void)
109101

110102
static inline void setBackupRegister(uint32_t index, uint32_t value)
111103
{
112-
#if defined(STM32F1xx)
104+
#if defined(BKP_BASE)
113105
LL_RTC_BKP_SetRegister(BKP, index, value);
114-
#elif defined(STM32G0xx)
115-
LL_RTC_BKP_SetRegister(TAMP, index, value);
116-
#elif defined(STM32G4xx) || defined(STM32L5xx)
106+
#elif defined(RTC_BKP0R)
107+
LL_RTC_BAK_SetRegister(RTC, index, value);
108+
#elif defined(TAMP_BKP0R)
109+
#if defined(STM32G4xx) || defined(STM32L5xx) || defined(STM32MP1xx)
110+
/* For those series this API requires RTC even if it is not used
111+
and TAMP is used instead */
117112
LL_RTC_BKP_SetRegister(RTC, index, value);
118113
#else
119-
#ifdef ENABLE_BACKUP_SUPPORT
120-
LL_RTC_BAK_SetRegister(RTC, index, value);
114+
LL_RTC_BKP_SetRegister(TAMP, index, value);
115+
#endif
121116
#else
122117
UNUSED(index);
123118
UNUSED(value);
124119
#endif
125-
#endif
126120
}
127121

128122
static inline uint32_t getBackupRegister(uint32_t index)
129123
{
130-
#if defined(STM32F1xx)
124+
#if defined(BKP_BASE)
131125
return LL_RTC_BKP_GetRegister(BKP, index);
132-
#elif defined(STM32G0xx)
133-
return LL_RTC_BKP_GetRegister(TAMP, index);
134-
#elif defined(STM32G4xx) || defined(STM32L5xx)
126+
#elif defined(RTC_BKP0R)
127+
return LL_RTC_BAK_GetRegister(RTC, index);
128+
#elif defined(TAMP_BKP0R)
129+
#if defined(STM32G4xx) || defined(STM32L5xx) || defined(STM32MP1xx)
130+
/* For those series this API requires RTC even if it is not used
131+
and TAMP is used instead */
135132
return LL_RTC_BKP_GetRegister(RTC, index);
136133
#else
137-
#ifdef ENABLE_BACKUP_SUPPORT
138-
return LL_RTC_BAK_GetRegister(RTC, index);
134+
return LL_RTC_BKP_GetRegister(TAMP, index);
135+
#endif
139136
#else
140137
UNUSED(index);
141138
return 0;
142139
#endif
143-
#endif
144140
}
145141

146142
static inline void writeBackupSRAM(uint32_t offset, uint32_t *data, uint32_t length)

0 commit comments

Comments
 (0)