08-13-2020 10:11 AM
I have a Zynq Z-7045 running Linux. I enabled the Cadence Watchdog Timer and changed the device tree to state:
status = "okay";
I then test the behavior out by typing
echo s > /dev/watchdog
waiting the 10 seconds required for the timeout. The system times out, but then halts and does not reboot. DONE goes away as expected but INIT is asserted and stays so. The reboot never starts or completes (I guess). The system is set up to boot from QSPI.
I can't seem to figure out why it won't reboot but only halts. Any clues, ideas or solutions would be appreciated
08-17-2020 08:18 AM
The first think I would check on your situation is to check if the reboot command behaves in a similar way or not. There are some scenarios where the device would not boot again after a reboot (either WDT or software reset).
08-17-2020 09:48 AM
08-17-2020 09:50 AM
Yes, that's right it should fail as soon as the QSPI has been configured in 4byte mode at some stage.
I would suggest then to check what's going on with the debugger. Connect XSDB and check if the processor is still running and what is trying to execute.
08-18-2020 05:04 PM
I connected the debugger and both cores are running but they are stuck it the boot code
ffffff20: dsb sy
ffffff28: b -16 ; addr=0xffffff20
ffffff2c: dsb sy
ffffff34: mvn r0, #15
ffffff38: ldr lr, [r0]
ffffff3c: cmn lr, #212
ffffff40: beq -28 ; addr=0xffffff2c
So, I guess halted but ready to boot and waiting for some interrupt?