We have a custom board based on i.MX93 running with Linux 6.6.52, and in principle everything works fine.
But calling reboot stuck at the end and does not restart the CPU and the board.
In U-Boot the command reset works perfect.
I followed the calls and can see, both, U-Boot and Linux kernel, calls
invoke_psci_fn(PSCI_0_2_FN_SYSTEM_RESET, 0, 0, 0);
In U-Boot the CPU restarts, in Linux nothing is happening after that PSCI call.
I tried CONFIG_ARM_PSCI_CHECKER to see if PSCI is working and the tests done during Linux boot finished with success.
So it looks like the according PSCI call PSCI_0_2_FN_SYSTEM_RESET is not working correct under Linux.
Any idea what could be the reason?
Solved! Go to Solution.
Solved!
In old version of imx93.dtsi only watchdog 3 (wdog3) is available and activated by default. In newer version several watchdogs are available and disabled by default. So you have to activate them explicitly by setting status to okay.
And it seems that wdog3 is needed for the reboot in the Linux system.
So after explicitly activating wdog3 via the device tree reboot is working.
Solved!
In old version of imx93.dtsi only watchdog 3 (wdog3) is available and activated by default. In newer version several watchdogs are available and disabled by default. So you have to activate them explicitly by setting status to okay.
And it seems that wdog3 is needed for the reboot in the Linux system.
So after explicitly activating wdog3 via the device tree reboot is working.