From 8ee3635773183931a5514ff11a90b28b44c7c37d Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sun, 25 Nov 2018 18:03:28 +0000 Subject: RTC update for F7. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12443 110e8d01-0319-4d1e-a829-52ad28d1bb01 --- os/hal/ports/STM32/STM32F4xx/stm32_registry.h | 1 - os/hal/ports/STM32/STM32F7xx/hal_lld.h | 1 + os/hal/ports/STM32/STM32F7xx/platform.mk | 1 + os/hal/ports/STM32/STM32F7xx/stm32_registry.h | 35 ++++++++++++++++++++++++--- os/hal/ports/STM32/STM32H7xx/stm32_registry.h | 4 ++- 5 files changed, 37 insertions(+), 5 deletions(-) (limited to 'os/hal') 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 -- cgit v1.2.3