Hi Igor
kernel version: 4.14.78
uboot version : U-Boot 2018.03-34664-g91acfdb46d-dirty
First thing I did was your suggestion but that doesnot change reset reason.
even this call does not do anything, because this is never called/reached,
void reset_cpu(ulong addr)
{
puts("SCI reboot request");
sc_pm_reboot(SC_IPC_CH, SC_PM_RESET_TYPE_COLD);
while (1)
putc('.');
}
reset command comes from this file reset.c
this is the function
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
puts ("resetting...\n");
udelay (50000); /* wait 50 ms */
disable_interrupts();
reset_misc(); /*call goes to armv8 fwcall.c PSCI reset and never returns*/
reset_cpu(0);
/*NOTREACHED*/
return 0;
}
So I think sc_pm_reboot never gets called and system gets psci reset via fwcall.c file's
void __noreturn __efi_runtime psci_system_reset(void)
function.
If I comment out misc_reset, I get dots in while loop.
....................................
that means sc_pm_reboot never worked and this while loop starts executing.
Can you clarify what is to be done to get sc_pm_reboot() function working ?