i.MX283 resets during standby in 5V only mode

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

i.MX283 resets during standby in 5V only mode

1,454 Views
jackyliu
NXP Employee
NXP Employee

Customer report mx28 can't enter suspend correctly, when only with 5V power supply, no battery.

Labels (1)
0 Kudos
Reply
2 Replies

1,038 Views
jackyliu
NXP Employee
NXP Employee

The root cause is in arch\arm\mach-mx28\pm.c, it call mx28_cpu_standby_ptr() cause system hang up.
This function is realized in arch\arm\mach-mx28\sleep.s, it will change VDDD VDDIO VDDA power register, but it cause system hang up when USB 5V power supply. I change these functions to nop, so it won't change these voltage. These features: DDR self-refresh and reduce CPU frequency are still in there.

0 Kudos
Reply

1,038 Views
B_K_Ankur
Contributor IV

Hello Friends,

We are using I.MX280 series of processor in our product based on 5V only mode. I have tried using the above 325-sleep.S but the evt fails to resume.

Below is the console output using 325-sleep.S:

imx28evk login: root

root@imx28evk:~# echo standby > /sys/power/state

[  169.297895] PM: Syncing filesystems ... done.

[  169.405838] Freezing user space processes ... (elapsed 0.02 seconds) done.

[  169.434612] Freezing remaining freezable tasks ... (elapsed 0.02 seconds) done.

[  169.484880] PM: suspend of devices complete after 14.998 msecs

[  169.496738] PM: late suspend of devices complete after 5.942 msecs

[  169.509180] PM: noirq suspend of devices complete after 6.034 msecs

[  169.516050] 107 do_standby cpu 454736842

[  169.516050] 108 do_standby osc 24000000

[  169.516050] 109 do_standby pll 480000000

[  169.516050] 110 do_standby hbus 151578947

///

/// EVT is hanged and is not resuming on any external event

///

Though, interesting point is the same code works for I.MX287 processor on EVK. Addition thing I found is the suspend/resume works if before putting DRAM into self refresh mode the processor is made to run on ref_xtal instead of ref_cpu. The reverse to be done on resuming cycle.

Please find the attached sleep.S with switching of ref. clock for CPU clock domain. (Line#168 - Switching to XTAL clock and Line#450 - Switching to REF_CPU clock on resume)

Console Output with Switching to XTAL clock on Suspend and Back to CPU clock on resume:

root@imx28evk:~# echo standby > /sys/power/state

[  101.707717] PM: Syncing filesystems ... done.

[  101.749925] Freezing user space processes ... (elapsed 0.01 seconds) done.

[  101.775009] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.

[  101.800996] wlcore: down

[  101.826305] PM: suspend of devices complete after 26.089 msecs

[  101.838184] PM: late suspend of devices complete after 5.801 msecs

[  101.850484] PM: noirq suspend of devices complete after 5.904 msecs

[  101.857131] 107 do_standby cpu 454736842

[  101.857131] 108 do_standby osc 24000000

[  101.857131] 109 do_standby pll 480000000

[  101.857131] 110 do_standby hbus 151578947

[  101.857131] 149 do_standby Resuming..

[  101.860527] PM: noirq resume of devices complete after 3.064 msecs

[  101.873245] PM: early resume of devices complete after 4.489 msecs

[  103.274914] wlcore: PHY firmware version: Rev 8.2.0.0.195

[  103.393093] wlcore: firmware booted (Rev 8.8.0.0.13)

[  103.450657] PM: resume of devices complete after 1571.143 msecs

[  103.463636] Restarting tasks ... done.

root@imx28evk:~#

The problem with the above solution is it sometime fails to resume the system.

Based on that I have below concerns:

1) Is there any difference in the clocks domain b/w I.MX280 and I.MX287 ?

2) Is there any additional configuration needs to be done to achieve suspend/resume on I.MX280 processor?

Please feel free to share your thoughts. This issue is show stopper now!

Regards,

Ankur.

0 Kudos
Reply