diff options
Diffstat (limited to 'libmaple')
-rw-r--r-- | libmaple/stm32f1/rcc.c | 3 | ||||
-rw-r--r-- | libmaple/stm32f2/rcc.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libmaple/stm32f1/rcc.c b/libmaple/stm32f1/rcc.c index a9c9c3a..0752b82 100644 --- a/libmaple/stm32f1/rcc.c +++ b/libmaple/stm32f1/rcc.c @@ -139,6 +139,9 @@ void rcc_configure_pll(rcc_pll_cfg *pll_cfg) { rcc_pll_multiplier pll_mul = data->pll_mul; uint32 cfgr; + /* Check that the PLL is disabled. */ + ASSERT_FAULT(!rcc_is_clk_on(RCC_CLK_PLL)); + cfgr = RCC_BASE->CFGR; cfgr &= ~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLMUL); cfgr |= pll_cfg->pllsrc | pll_mul; diff --git a/libmaple/stm32f2/rcc.c b/libmaple/stm32f2/rcc.c index b94f2e6..46e6565 100644 --- a/libmaple/stm32f2/rcc.c +++ b/libmaple/stm32f2/rcc.c @@ -173,6 +173,9 @@ void rcc_configure_pll(rcc_pll_cfg *pll_cfg) { stm32f2_rcc_pll_data *data = pll_cfg->data; uint32 pllcfgr; + /* Check that the PLL is disabled. */ + ASSERT_FAULT(!rcc_is_clk_on(RCC_CLK_PLL)); + /* Sanity-check all the parameters */ ASSERT_FAULT((data->pllq >= 4) && (data->pllq <= 15)); ASSERT_FAULT((data->pllp >= 2) && (data->pllp <= 8)); |