Fix init order of set_prediv1src
This commit is contained in:
parent
c72d9ec859
commit
3ba94c0ab3
@ -10,9 +10,7 @@ pub use crate::pac::rcc::vals::Pllxtpre as PllPreDiv;
|
|||||||
pub use crate::pac::rcc::vals::Prediv as PllPreDiv;
|
pub use crate::pac::rcc::vals::Prediv as PllPreDiv;
|
||||||
pub use crate::pac::rcc::vals::{Hpre as AHBPrescaler, Pllmul as PllMul, Ppre as APBPrescaler, Sw as Sysclk};
|
pub use crate::pac::rcc::vals::{Hpre as AHBPrescaler, Pllmul as PllMul, Ppre as APBPrescaler, Sw as Sysclk};
|
||||||
#[cfg(stm32f107)]
|
#[cfg(stm32f107)]
|
||||||
pub use crate::pac::rcc::vals::{
|
pub use crate::pac::rcc::vals::{I2s2src, Pll2mul as Pll2Mul, Prediv1 as PllPreDiv, Prediv1src, Usbpre as UsbPre};
|
||||||
I2s2src, Pll2mul as Pll2Mul, Prediv1 as PllPreDiv, Prediv1src as PreDiv1Src, Usbpre as UsbPre,
|
|
||||||
};
|
|
||||||
use crate::pac::{FLASH, RCC};
|
use crate::pac::{FLASH, RCC};
|
||||||
use crate::time::Hertz;
|
use crate::time::Hertz;
|
||||||
|
|
||||||
@ -223,12 +221,7 @@ pub(crate) unsafe fn init(config: Config) {
|
|||||||
}
|
}
|
||||||
(Pllsrc::HSI_DIV2, unwrap!(hsi))
|
(Pllsrc::HSI_DIV2, unwrap!(hsi))
|
||||||
}
|
}
|
||||||
PllSource::HSE => {
|
PllSource::HSE => (Pllsrc::HSE_DIV_PREDIV, unwrap!(hse)),
|
||||||
#[cfg(stm32f107)]
|
|
||||||
RCC.cfgr2().modify(|w| w.set_prediv1src(PreDiv1Src::HSE));
|
|
||||||
|
|
||||||
(Pllsrc::HSE_DIV_PREDIV, unwrap!(hse))
|
|
||||||
}
|
|
||||||
#[cfg(rcc_f0v4)]
|
#[cfg(rcc_f0v4)]
|
||||||
PllSource::HSI48 => (Pllsrc::HSI48_DIV_PREDIV, unwrap!(hsi48)),
|
PllSource::HSI48 => (Pllsrc::HSI48_DIV_PREDIV, unwrap!(hsi48)),
|
||||||
#[cfg(stm32f107)]
|
#[cfg(stm32f107)]
|
||||||
@ -239,7 +232,6 @@ pub(crate) unsafe fn init(config: Config) {
|
|||||||
let pll2 = unwrap!(config.pll2);
|
let pll2 = unwrap!(config.pll2);
|
||||||
let in_freq = hse.unwrap() / config.prediv2;
|
let in_freq = hse.unwrap() / config.prediv2;
|
||||||
let pll2freq = in_freq * pll2.mul;
|
let pll2freq = in_freq * pll2.mul;
|
||||||
RCC.cfgr2().modify(|w| w.set_prediv1src(PreDiv1Src::PLL2));
|
|
||||||
(Pllsrc::HSE_DIV_PREDIV, pll2freq)
|
(Pllsrc::HSE_DIV_PREDIV, pll2freq)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -267,6 +259,13 @@ pub(crate) unsafe fn init(config: Config) {
|
|||||||
out_freq
|
out_freq
|
||||||
});
|
});
|
||||||
|
|
||||||
|
#[cfg(stm32f107)]
|
||||||
|
match config.pll.map(|pll| pll.src) {
|
||||||
|
Some(PllSource::HSE) => RCC.cfgr2().modify(|w| w.set_prediv1src(Prediv1src::HSE)),
|
||||||
|
Some(PllSource::PLL2) => RCC.cfgr2().modify(|w| w.set_prediv1src(Prediv1src::PLL2)),
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
|
||||||
// pll2 and pll3
|
// pll2 and pll3
|
||||||
#[cfg(stm32f107)]
|
#[cfg(stm32f107)]
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user