forked from M-Labs/zynq-rs
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.
This commit is contained in:
parent
e4e7141bf3
commit
e67efe439b
|
@ -158,7 +158,9 @@ impl Core1 {
|
||||||
pub fn restart(&self) {
|
pub fn restart(&self) {
|
||||||
slcr::RegisterBlock::unlocked(|slcr| {
|
slcr::RegisterBlock::unlocked(|slcr| {
|
||||||
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_rst1(true));
|
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_rst1(false));
|
||||||
|
slcr.a9_cpu_rst_ctrl.modify(|_, w| w.a9_clkstop1(false));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue