projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/stm32f1: Set PLLXTPRE value
[fw/altos]
/
src
/
stm32f1
/
ao_clock.c
diff --git
a/src/stm32f1/ao_clock.c
b/src/stm32f1/ao_clock.c
index c203b01286f6074ff03b3637097e450c41538d65..3fcf33b81177da379087fdbd72c315b83a95162f 100644
(file)
--- a/
src/stm32f1/ao_clock.c
+++ b/
src/stm32f1/ao_clock.c
@@
-123,12
+123,15
@@
ao_clock_init(void)
while (stm_rcc.cr & (1UL << STM_RCC_CR_PLLRDY))
asm("nop");
while (stm_rcc.cr & (1UL << STM_RCC_CR_PLLRDY))
asm("nop");
- /* PLL
VCO
*/
+ /* PLL
MUL
*/
cfgr = stm_rcc.cfgr;
cfgr &= ~(STM_RCC_CFGR_PLLMUL_MASK << STM_RCC_CFGR_PLLMUL);
cfgr = stm_rcc.cfgr;
cfgr &= ~(STM_RCC_CFGR_PLLMUL_MASK << STM_RCC_CFGR_PLLMUL);
-
cfgr |= (AO_RCC_CFGR_PLLMUL << STM_RCC_CFGR_PLLMUL);
cfgr |= (AO_RCC_CFGR_PLLMUL << STM_RCC_CFGR_PLLMUL);
+ /* PLLXTPRE */
+ cfgr &= ~(STM_RCC_CFGR_PLLXTPRE_MASK << STM_RCC_CFGR_PLLXTPRE);
+ cfgr |= (AO_RCC_CFGR_PLLXTPRE << STM_RCC_CFGR_PLLXTPRE);
+
/* PLL source */
cfgr &= ~(1UL << STM_RCC_CFGR_PLLSRC);
cfgr |= STM_RCC_CFGR_PLLSRC_TARGET_CLOCK;
/* PLL source */
cfgr &= ~(1UL << STM_RCC_CFGR_PLLSRC);
cfgr |= STM_RCC_CFGR_PLLSRC_TARGET_CLOCK;