forked from M-Labs/artiq-zynq
rtio_clocking: remove loop
This commit is contained in:
parent
b974d7ddee
commit
78bc162749
@ -1,4 +1,4 @@
|
|||||||
use log::{info, warn};
|
use log::{info, warn, error};
|
||||||
use libboard_zynq::timer::GlobalTimer;
|
use libboard_zynq::timer::GlobalTimer;
|
||||||
use embedded_hal::blocking::delay::DelayMs;
|
use embedded_hal::blocking::delay::DelayMs;
|
||||||
use libconfig::Config;
|
use libconfig::Config;
|
||||||
@ -84,22 +84,18 @@ fn init_rtio(timer: &mut GlobalTimer, _clk: RtioClock) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
loop {
|
unsafe {
|
||||||
unsafe {
|
pl::csr::rtio_crg::pll_reset_write(1);
|
||||||
pl::csr::rtio_crg::pll_reset_write(1);
|
#[cfg(has_rtio_crg_clock_sel)]
|
||||||
#[cfg(has_rtio_crg_clock_sel)]
|
pl::csr::rtio_crg::clock_sel_write(clock_sel);
|
||||||
pl::csr::rtio_crg::clock_sel_write(clock_sel);
|
pl::csr::rtio_crg::pll_reset_write(0);
|
||||||
pl::csr::rtio_crg::pll_reset_write(0);
|
}
|
||||||
}
|
timer.delay_ms(1);
|
||||||
timer.delay_ms(1);
|
let locked = unsafe { pl::csr::rtio_crg::pll_locked_read() != 0 };
|
||||||
let locked = unsafe { pl::csr::rtio_crg::pll_locked_read() != 0 };
|
if locked {
|
||||||
if locked {
|
info!("RTIO PLL locked");
|
||||||
info!("RTIO PLL locked");
|
} else {
|
||||||
break;
|
error!("RTIO PLL failed to lock");
|
||||||
} else {
|
|
||||||
warn!("RTIO PLL failed to lock, retrying...");
|
|
||||||
timer.delay_ms(500);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
|
Loading…
Reference in New Issue
Block a user