diff --git a/src/runtime/src/main.rs b/src/runtime/src/main.rs index 40370946..6865b245 100644 --- a/src/runtime/src/main.rs +++ b/src/runtime/src/main.rs @@ -116,11 +116,20 @@ fn init_rtio(timer: GlobalTimer, cfg: &config::Config) { unsafe { pl::csr::rtio_crg::pll_reset_write(1); pl::csr::rtio_crg::clock_sel_write(clock_sel); + } + + let mut countdown = timer.countdown(); + countdown.start(Milliseconds(2)); + nb::block!(countdown.wait()).unwrap(); + + unsafe { pl::csr::rtio_crg::pll_reset_write(0); } + let mut countdown = timer.countdown(); - countdown.start(Milliseconds(1)); + countdown.start(Milliseconds(2)); nb::block!(countdown.wait()).unwrap(); + let locked = unsafe { pl::csr::rtio_crg::pll_locked_read() != 0 }; if !locked { panic!("RTIO PLL failed to lock");