arm/zynq: Add software system reset via SCLR
Support software-driven system reset via the register in the SCLR. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de> Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
db7dfd4c7e
commit
69991d7dcb
|
@ -31,6 +31,8 @@
|
||||||
#define XILINX_LOCK_KEY 0x767b
|
#define XILINX_LOCK_KEY 0x767b
|
||||||
#define XILINX_UNLOCK_KEY 0xdf0d
|
#define XILINX_UNLOCK_KEY 0xdf0d
|
||||||
|
|
||||||
|
#define R_PSS_RST_CTRL_SOFT_RST 0x1
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ARM_PLL_CTRL,
|
ARM_PLL_CTRL,
|
||||||
DDR_PLL_CTRL,
|
DDR_PLL_CTRL,
|
||||||
|
@ -399,6 +401,9 @@ static void zynq_slcr_write(void *opaque, hwaddr offset,
|
||||||
goto bad_reg;
|
goto bad_reg;
|
||||||
}
|
}
|
||||||
s->reset[(offset - 0x200) / 4] = val;
|
s->reset[(offset - 0x200) / 4] = val;
|
||||||
|
if (offset == 0x200 && (val & R_PSS_RST_CTRL_SOFT_RST)) {
|
||||||
|
qemu_system_reset_request();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 0x300:
|
case 0x300:
|
||||||
s->apu_ctrl = val;
|
s->apu_ctrl = val;
|
||||||
|
|
Loading…
Reference in a new issue