use crate::ral::{self, ccm_analog};
#[inline(always)]
pub fn restart(ccm_analog: &mut ccm_analog::CCM_ANALOG, div_sel: u32) {
ral::write_reg!(ral::ccm_analog, ccm_analog, PLL_ARM, POWERDOWN: 1);
ral::write_reg!(
ral::ccm_analog,
ccm_analog,
PLL_ARM,
DIV_SELECT: div_sel.clamp(54, 108)
);
ral::write_reg!(ral::ccm_analog, ccm_analog, PLL_ARM_SET, ENABLE: 1);
while ral::read_reg!(ral::ccm_analog, ccm_analog, PLL_ARM, LOCK == 0) {}
}
pub const fn frequency(div_sel: u32) -> u32 {
crate::ccm::XTAL_OSCILLATOR_HZ * div_sel / 2
}