aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-09-18 21:08:42 +0000
committerbarthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>2011-09-18 21:08:42 +0000
commite1afd2700be6c631f1e74766525724cf95588c3e (patch)
treef58e894679e1ad169b2b3aff6b2efcf758732ca7 /os
parent07f868d3792cadd6377fdb5039c7cbf27f68bd92 (diff)
downloadChibiOS-e1afd2700be6c631f1e74766525724cf95588c3e.tar.gz
ChibiOS-e1afd2700be6c631f1e74766525724cf95588c3e.tar.bz2
ChibiOS-e1afd2700be6c631f1e74766525724cf95588c3e.zip
Added RCC helper support to RTC driver.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3342 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os')
-rw-r--r--os/hal/platforms/STM32/rtc_lld.c2
-rw-r--r--os/hal/platforms/STM32F1xx/stm32_rcc.h32
2 files changed, 33 insertions, 1 deletions
diff --git a/os/hal/platforms/STM32/rtc_lld.c b/os/hal/platforms/STM32/rtc_lld.c
index 4f404ab27..62e114e66 100644
--- a/os/hal/platforms/STM32/rtc_lld.c
+++ b/os/hal/platforms/STM32/rtc_lld.c
@@ -112,7 +112,7 @@ CH_IRQ_HANDLER(RTC_IRQHandler) {
* @notapi
*/
void rtc_lld_init(void){
- RCC->APB1ENR |= (RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN); /* enable clocking */
+ rccEnableBKP(FALSE); /* enable interface clocking */
PWR->CR |= PWR_CR_DBP; /* enable access */
if (!(RCC->BDCR & (RCC_BDCR_RTCEN | RCC_BDCR_LSEON))){ /* BKP domain was reseted */
diff --git a/os/hal/platforms/STM32F1xx/stm32_rcc.h b/os/hal/platforms/STM32F1xx/stm32_rcc.h
index 56fa0905c..7735b2034 100644
--- a/os/hal/platforms/STM32F1xx/stm32_rcc.h
+++ b/os/hal/platforms/STM32F1xx/stm32_rcc.h
@@ -203,6 +203,38 @@
/** @} */
/**
+ * @brief Bakup domain interface specific RCC operations
+ * @{
+ */
+/**
+ * @brief Enables the BKP interface clock.
+ * @note The @p lp parameter is ignored in this family.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccEnableBKP(lp) rccEnableAPB1(RCC_APB1ENR_BKPEN, lp);
+
+/**
+ * @brief Disables BKP interface clock.
+ * @note The @p lp parameter is ignored in this family.
+ *
+ * @param[in] lp low power enable flag
+ *
+ * @api
+ */
+#define rccDisableBKP(lp) rccDisableAPB1(RCC_APB1ENR_BKPEN, lp);
+
+/**
+ * @brief Resets the Backup Domain.
+ *
+ * @api
+ */
+#define rccResetBKP(lp) rccResetAPB1(RCC_APB1ENR_BKPRST);
+/** @} */
+
+/**
* @brief CAN peripherals specific RCC operations
* @{
*/