wrpll fw: add delay for reset_plls
This commit is contained in:
parent
8eeec0bae8
commit
30316d585d
|
@ -463,11 +463,13 @@ pub mod wrpll {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn reset_plls() -> Result<(), &'static str> {
|
fn reset_plls(timer: &mut GlobalTimer) -> Result<(), &'static str> {
|
||||||
*H_INTEGRATOR.lock() = 0;
|
*H_INTEGRATOR.lock() = 0;
|
||||||
*M_INTEGRATOR.lock() = 0;
|
*M_INTEGRATOR.lock() = 0;
|
||||||
set_adpll(i2c::DCXO::Main, 0)?;
|
set_adpll(i2c::DCXO::Main, 0)?;
|
||||||
set_adpll(i2c::DCXO::Helper, 0)?;
|
set_adpll(i2c::DCXO::Helper, 0)?;
|
||||||
|
// wait for adpll to transfer and DCXO to settle
|
||||||
|
timer.delay_us(200);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -642,7 +644,7 @@ pub mod wrpll {
|
||||||
|
|
||||||
if rc {
|
if rc {
|
||||||
tag_collector::reset();
|
tag_collector::reset();
|
||||||
reset_plls().expect("failed to reset main and helper PLL");
|
reset_plls(timer).expect("failed to reset main and helper PLL");
|
||||||
set_base_adpll(timer).expect("failed to set base adpll");
|
set_base_adpll(timer).expect("failed to set base adpll");
|
||||||
|
|
||||||
// clear gateware pending flag
|
// clear gateware pending flag
|
||||||
|
|
Loading…
Reference in New Issue