i.MX283 resets during standby in 5V only mode

Showing results for 
Search instead for 
Did you mean: 

i.MX283 resets during standby in 5V only mode

NXP Employee
NXP Employee

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

Labels (1)
0 Kudos
2 Replies

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

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

[  103.393093] wlcore: firmware booted (Rev

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

[  103.463636] Restarting tasks ... done.


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!



0 Kudos