iMX8QXP C0: Why didn't SCFW reboot function work ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX8QXP C0: Why didn't SCFW reboot function work ?

573 Views
jw_song
Contributor I

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.

0 Kudos
1 Reply

554 Views
igorpadykov
NXP Employee
NXP Employee

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

https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applicat...

 

Best regards
igor

0 Kudos