diff options
author | Guillaume Revaillot <revaillot@archos.com> | 2019-01-30 16:53:20 +0300 |
---|---|---|
committer | Karl Palsson <karlp@tweak.net.au> | 2019-06-04 01:29:45 +0300 |
commit | 6953138a280bfab54464a780e5491e8bd6e1753e (patch) | |
tree | 0fdd0dbc452e9cc5bbbc93684102b7601a37ffc1 | |
parent | 9051480e7f8e1dd1c43c53ea9e492ebc7bcb0bdd (diff) |
stm32l0: add rcc_set_msi_range.
-rw-r--r-- | include/libopencm3/stm32/l0/rcc.h | 2 | ||||
-rw-r--r-- | lib/stm32/l0/rcc.c | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/libopencm3/stm32/l0/rcc.h b/include/libopencm3/stm32/l0/rcc.h index ace255b1..c832a285 100644 --- a/include/libopencm3/stm32/l0/rcc.h +++ b/include/libopencm3/stm32/l0/rcc.h @@ -693,6 +693,8 @@ void rcc_set_ppre1(uint32_t ppre1); void rcc_set_hpre(uint32_t hpre); void rcc_clock_setup_pll(const struct rcc_clock_scale *clock); +void rcc_set_msi_range(uint32_t msi_range); + END_DECLS /**@}*/ diff --git a/lib/stm32/l0/rcc.c b/lib/stm32/l0/rcc.c index 3048bef5..90d6b437 100644 --- a/lib/stm32/l0/rcc.c +++ b/lib/stm32/l0/rcc.c @@ -391,6 +391,17 @@ void rcc_set_hpre(uint32_t hpre) RCC_CFGR = reg | (hpre << RCC_CFGR_HPRE_SHIFT); } +/*---------------------------------------------------------------------------*/ +/** @brief Set the range of the MSI oscillator +* + * @param range desired range @ref rcc_icscr_msirange + */ +void rcc_set_msi_range(uint32_t msi_range) +{ + uint32_t reg32 = RCC_ICSCR & ~(RCC_ICSCR_MSIRANGE_MASK << RCC_ICSCR_MSIRANGE_SHIFT); + RCC_ICSCR = reg32 | (msi_range << RCC_ICSCR_MSIRANGE_SHIFT); +} + /** * Set up sysclock with PLL from HSI16 * @param clock full struct with desired parameters |