From a5a964814480f6251c80632929cd13c29c0462c2 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 22 Jul 2009 02:56:04 +0200 Subject: Add rcc_enable_peripheral_clock() et al, and respective prototypes. --- include/libopenstm32/rcc.h | 16 ++++++++++++++++ lib/rcc.c | 11 +++++++++++ 2 files changed, 27 insertions(+) diff --git a/include/libopenstm32/rcc.h b/include/libopenstm32/rcc.h index fb4d44e..7ba4108 100644 --- a/include/libopenstm32/rcc.h +++ b/include/libopenstm32/rcc.h @@ -363,4 +363,20 @@ typedef enum { PLL, HSE, HSI, LSE, LSI } osc_t; +void rcc_osc_ready_int_clear(osc_t osc); +void rcc_osc_ready_int_enable(osc_t osc); +void rcc_osc_ready_int_disable(osc_t osc); +int rcc_osc_ready_int_flag(osc_t osc); +void rcc_css_int_clear(void); +int rcc_css_int_flag(void); +void rcc_wait_for_osc_ready(osc_t osc); +void rcc_osc_on(osc_t osc); +void rcc_osc_off(osc_t osc); +void rcc_css_enable(void); +void rcc_css_disable(void); +void rcc_osc_bypass_enable(osc_t osc); +void rcc_osc_bypass_disable(osc_t osc); +void rcc_enable_peripheral_clock(volatile u32 *reg, u32 peripheral_en); +void rcc_disable_peripheral_clock(volatile u32 *reg, u32 peripheral_en); + #endif diff --git a/lib/rcc.c b/lib/rcc.c index 47bcafb..30ad802 100644 --- a/lib/rcc.c +++ b/lib/rcc.c @@ -223,3 +223,14 @@ void rcc_osc_bypass_disable(osc_t osc) break; } } + +void rcc_enable_peripheral_clock(volatile u32 *reg, u32 peripheral_en) +{ + *reg |= peripheral_en; +} + +void rcc_disable_peripheral_clock(volatile u32 *reg, u32 peripheral_en) +{ + *reg &= ~peripheral_en; +} + -- cgit v1.2.3