aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2019-03-24 07:34:26 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2019-03-24 07:34:26 +0000
commitda74095247b5ef56b6cbbb7df658ed23436a3fc3 (patch)
treecf2683772a3203004dbfc1aede1cd6ebe558decc /os
parent71a12f97d5c6ec2d926c67c9bc100f3b2fa3950d (diff)
downloadChibiOS-da74095247b5ef56b6cbbb7df658ed23436a3fc3.tar.gz
ChibiOS-da74095247b5ef56b6cbbb7df658ed23436a3fc3.tar.bz2
ChibiOS-da74095247b5ef56b6cbbb7df658ed23436a3fc3.zip
Fixed bug #1023.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_19.1.x@12711 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
Diffstat (limited to 'os')
-rw-r--r--os/hal/ports/STM32/STM32L1xx/stm32_registry.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/os/hal/ports/STM32/STM32L1xx/stm32_registry.h b/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
index b71c88223..d227aa1e3 100644
--- a/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
+++ b/os/hal/ports/STM32/STM32L1xx/stm32_registry.h
@@ -53,6 +53,12 @@
#error "STM32L1xx device not specified"
#endif
+#if defined(STM32L100xB) || defined(STM32L100xBA) || defined(STM32L100xC)
+#define STM32L1XX_VALUE_LINE TRUE
+#else
+#define STM32L1XX_VALUE_LINE FALSE
+#endif
+
/*===========================================================================*/
/* Platform capabilities. */
/*===========================================================================*/
@@ -197,7 +203,27 @@
#endif
#define STM32_RTC_HAS_PERIODIC_WAKEUPS TRUE
#define STM32_RTC_NUM_ALARMS 2
-#define STM32_RTC_HAS_INTERRUPTS FALSE
+#if STM32L1XX_VALUE_LINE || defined(__DOXYGEN__)
+#define STM32_RTC_STORAGE_SIZE 20
+#elif (STM32L1XX_PROD_CAT == 1) || (STM32L1XX_PROD_CAT == 2)
+#define STM32_RTC_STORAGE_SIZE 80
+#else
+#define STM32_RTC_STORAGE_SIZE 128
+#endif
+#define STM32_RTC_TAMP_STAMP_HANDLER Vector48
+#define STM32_RTC_WKUP_HANDLER Vector4C
+#define STM32_RTC_ALARM_HANDLER VectorE4
+#define STM32_RTC_TAMP_STAMP_NUMBER 3
+#define STM32_RTC_WKUP_NUMBER 1
+#define STM32_RTC_ALARM_NUMBER 2
+#define STM32_RTC_ALARM_EXTI 17
+#define STM32_RTC_TAMP_STAMP_EXTI 19
+#define STM32_RTC_WKUP_EXTI 20
+#define STM32_RTC_IRQ_ENABLE() do { \
+ nvicEnableVector(STM32_RTC_TAMP_STAMP_NUMBER, STM32_IRQ_EXTI19_PRIORITY); \
+ nvicEnableVector(STM32_RTC_WKUP_NUMBER, STM32_IRQ_EXTI20_PRIORITY); \
+ nvicEnableVector(STM32_RTC_ALARM_NUMBER, STM32_IRQ_EXTI18_PRIORITY); \
+} while (false)
/* SDIO attributes.*/
#define STM32_HAS_SDIO TRUE