diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-11-25 18:03:28 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-11-25 18:03:28 +0000 |
commit | 8ee3635773183931a5514ff11a90b28b44c7c37d (patch) | |
tree | 2b17d45dee99847eb81e665cd2aa92e9c7d607d2 /os/hal/ports | |
parent | c0eefeeb5c531642953fc8a1126fee276ccc5133 (diff) | |
download | ChibiOS-8ee3635773183931a5514ff11a90b28b44c7c37d.tar.gz ChibiOS-8ee3635773183931a5514ff11a90b28b44c7c37d.tar.bz2 ChibiOS-8ee3635773183931a5514ff11a90b28b44c7c37d.zip |
RTC update for F7.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12443 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os/hal/ports')
-rw-r--r-- | os/hal/ports/STM32/STM32F4xx/stm32_registry.h | 1 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32F7xx/hal_lld.h | 1 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32F7xx/platform.mk | 1 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32F7xx/stm32_registry.h | 35 | ||||
-rw-r--r-- | os/hal/ports/STM32/STM32H7xx/stm32_registry.h | 4 |
5 files changed, 37 insertions, 5 deletions
diff --git a/os/hal/ports/STM32/STM32F4xx/stm32_registry.h b/os/hal/ports/STM32/STM32F4xx/stm32_registry.h index 71bdc5720..ab13507a3 100644 --- a/os/hal/ports/STM32/STM32F4xx/stm32_registry.h +++ b/os/hal/ports/STM32/STM32F4xx/stm32_registry.h @@ -115,7 +115,6 @@ nvicEnableVector(STM32_RTC_ALARM_NUMBER, STM32_IRQ_EXTI17_PRIORITY); \
} while (false)
-
/*===========================================================================*/
/* STM32F469xx, STM32F479xx. */
/*===========================================================================*/
diff --git a/os/hal/ports/STM32/STM32F7xx/hal_lld.h b/os/hal/ports/STM32/STM32F7xx/hal_lld.h index 154bad050..dbdd9ed7d 100644 --- a/os/hal/ports/STM32/STM32F7xx/hal_lld.h +++ b/os/hal/ports/STM32/STM32F7xx/hal_lld.h @@ -2131,6 +2131,7 @@ #include "mpu_v7m.h"
#include "stm32_isr.h"
#include "stm32_dma.h"
+#include "stm32_exti.h"
#include "stm32_rcc.h"
#ifdef __cplusplus
diff --git a/os/hal/ports/STM32/STM32F7xx/platform.mk b/os/hal/ports/STM32/STM32F7xx/platform.mk index 7b5882a3c..e1a1b3113 100644 --- a/os/hal/ports/STM32/STM32F7xx/platform.mk +++ b/os/hal/ports/STM32/STM32F7xx/platform.mk @@ -26,6 +26,7 @@ include $(CHIBIOS)/os/hal/ports/STM32/LLD/CANv1/driver.mk include $(CHIBIOS)/os/hal/ports/STM32/LLD/CRYPv1/driver.mk
include $(CHIBIOS)/os/hal/ports/STM32/LLD/DACv1/driver.mk
include $(CHIBIOS)/os/hal/ports/STM32/LLD/DMAv2/driver.mk
+include $(CHIBIOS)/os/hal/ports/STM32/LLD/EXTIv1/driver.mk
include $(CHIBIOS)/os/hal/ports/STM32/LLD/GPIOv2/driver.mk
include $(CHIBIOS)/os/hal/ports/STM32/LLD/I2Cv2/driver.mk
include $(CHIBIOS)/os/hal/ports/STM32/LLD/MACv1/driver.mk
diff --git a/os/hal/ports/STM32/STM32F7xx/stm32_registry.h b/os/hal/ports/STM32/STM32F7xx/stm32_registry.h index 0452d67cd..241315b92 100644 --- a/os/hal/ports/STM32/STM32F7xx/stm32_registry.h +++ b/os/hal/ports/STM32/STM32F7xx/stm32_registry.h @@ -33,6 +33,35 @@ * @name STM32F7xx capabilities
* @{
*/
+
+/*===========================================================================*/
+/* Common. */
+/*===========================================================================*/
+
+/* RNG attributes.*/
+#define STM32_HAS_RNG1 TRUE
+
+/* RTC attributes.*/
+#define STM32_HAS_RTC TRUE
+#define STM32_RTC_HAS_SUBSECONDS TRUE
+#define STM32_RTC_HAS_PERIODIC_WAKEUPS TRUE
+#define STM32_RTC_NUM_ALARMS 2
+#define STM32_RTC_STORAGE_SIZE 128
+#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 2
+#define STM32_RTC_WKUP_NUMBER 3
+#define STM32_RTC_ALARM_NUMBER 41
+#define STM32_RTC_ALARM_EXTI 17
+#define STM32_RTC_TAMP_STAMP_EXTI 21
+#define STM32_RTC_WKUP_EXTI 22
+#define STM32_RTC_IRQ_ENABLE() do { \
+ nvicEnableVector(STM32_RTC_TAMP_STAMP_NUMBER, STM32_IRQ_EXTI21_PRIORITY); \
+ nvicEnableVector(STM32_RTC_WKUP_NUMBER, STM32_IRQ_EXTI22_PRIORITY); \
+ nvicEnableVector(STM32_RTC_ALARM_NUMBER, STM32_IRQ_EXTI17_PRIORITY); \
+} while (false)
+
/*===========================================================================*/
/* STM32F722xx, STM32F723xx, STM32F732xx, STM32F733xx. */
/*===========================================================================*/
@@ -137,7 +166,7 @@ /* EXTI attributes.*/
#define STM32_EXTI_NUM_LINES 24
-#define STM32_EXTI_IMR_MASK 0xFF000000
+#define STM32_EXTI_IMR1_MASK 0xFF000000
/* GPIO attributes.*/
#define STM32_HAS_GPIOA TRUE
@@ -615,7 +644,7 @@ /* EXTI attributes.*/
#define STM32_EXTI_NUM_LINES 24
-#define STM32_EXTI_IMR_MASK 0xFF000000
+#define STM32_EXTI_IMR1_MASK 0xFF000000
/* GPIO attributes.*/
#define STM32_HAS_GPIOA TRUE
@@ -1108,7 +1137,7 @@ /* EXTI attributes.*/
#define STM32_EXTI_NUM_LINES 24
-#define STM32_EXTI_IMR_MASK 0xFF000000
+#define STM32_EXTI_IMR1_MASK 0xFF000000
/* GPIO attributes.*/
#define STM32_HAS_GPIOA TRUE
diff --git a/os/hal/ports/STM32/STM32H7xx/stm32_registry.h b/os/hal/ports/STM32/STM32H7xx/stm32_registry.h index c783b0942..00132cdb4 100644 --- a/os/hal/ports/STM32/STM32H7xx/stm32_registry.h +++ b/os/hal/ports/STM32/STM32H7xx/stm32_registry.h @@ -133,7 +133,9 @@ #define STM32_ETH_NUMBER 61
/* EXTI attributes.*/
-#define STM32_EXTI_ENHANCED
+#define STM32_EXTI_NUM_LINES 34
+#define STM32_EXTI_IMR1_MASK 0x1F800000U
+#define STM32_EXTI_IMR2_MASK 0xFFFFFFFCU
/* GPIO attributes.*/
#define STM32_HAS_GPIOA TRUE
|