Hi, all
We are devepping our custom i.mx8qxp C0 version board based L4.14.98.2.3.0
When I issue reset(uboot) or reboot(kernel), I 'd like to reset PMIC.
but, when I did reset command on u-boot , I found that sc_pm_reboot() didn't work.
this is reset command from reset.c in u-boot.
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;
}
and, reset_cpu(0) comes from imx8qxp_mek.c
/*
* Board specific reset that is system reset.
*/
void reset_cpu(ulong addr)
{
puts("SCI reboot request");
sc_pm_reboot(SC_IPC_CH, SC_PM_RESET_TYPE_COLD);
while (1)
putc('.');
}
When I comment out reset_misc() in do_reset(), I get dots in while loop like this,
..............................................
so, I think sc_pm_reboot() didn't work.
How can I make sc_pm_reboot() work ?
Is there any other way to reset PMIC ?
Thank you.
Hi jaewhansong
L4.14.98.2.3.0 is old kerenel, please try latest which has many improvements
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.24_2.1.0
Linux documentation
Best regards
igor