compute lse and lsi frequency for STM32L and STM32U0 series

This commit is contained in:
Christian Enderle 2024-11-21 12:12:00 +01:00
parent be6eec7726
commit f598cae376

View File

@ -5,6 +5,7 @@ use crate::pac::rcc::regs::Cfgr;
pub use crate::pac::rcc::vals::Hsepre as HsePrescaler;
pub use crate::pac::rcc::vals::{Hpre as AHBPrescaler, Msirange as MSIRange, Ppre as APBPrescaler, Sw as Sysclk};
use crate::pac::{FLASH, RCC};
use crate::rcc::LSI_FREQ;
use crate::time::Hertz;
/// HSI speed
@ -182,6 +183,9 @@ pub(crate) unsafe fn init(config: Config) {
let rtc = config.ls.init();
let lse = config.ls.lse.map(|l| l.frequency);
let lsi = config.ls.lsi.then_some(LSI_FREQ);
let msi = config.msi.map(|range| {
msi_enable(range);
msirange_to_hertz(range)
@ -425,12 +429,12 @@ pub(crate) unsafe fn init(config: Config) {
dsi_phy: None, // DSI PLL clock not supported, don't call `RccPeripheral::frequency()` in the drivers
rtc: rtc,
lse: lse,
lsi: lsi,
// TODO
sai1_extclk: None,
sai2_extclk: None,
lsi: None,
lse: None,
);
}