libsupport: fixed core1 restart.

The TRM mentioned that user should stop the clock, de-assert the reset,
and then restart the clock for core reset.

This fixes the kernel restart problem in one of the zc706 board.
tcp-recv-fnmut
pca006132 3 years ago
parent e4e7141bf3
commit e67efe439b
  1. 2
      libsupport_zynq/src/boot.rs

@ -158,7 +158,9 @@ impl Core1 {
pub fn restart(&self) {
slcr::RegisterBlock::unlocked(|slcr| {
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_rst1(true));
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_clkstop1(true));
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_rst1(false));
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_clkstop1(false));
});
}
}

Loading…
Cancel
Save