diff options
author | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-09-18 21:08:42 +0000 |
---|---|---|
committer | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-09-18 21:08:42 +0000 |
commit | e1afd2700be6c631f1e74766525724cf95588c3e (patch) | |
tree | f58e894679e1ad169b2b3aff6b2efcf758732ca7 | |
parent | 07f868d3792cadd6377fdb5039c7cbf27f68bd92 (diff) | |
download | ChibiOS-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
-rw-r--r-- | os/hal/platforms/STM32/rtc_lld.c | 2 | ||||
-rw-r--r-- | os/hal/platforms/STM32F1xx/stm32_rcc.h | 32 |
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
* @{
*/
|