Suspend and Resume Issues: iM8QXP MEK (B0 silicon)

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

Suspend and Resume Issues: iM8QXP MEK (B0 silicon)

1,509 Views
jith
Contributor II

Hi,

We found restart issue during suspend test on Linux(Cortex A35)  on MEK board loaded with Linux version 4.14.62

 

As an initial debugging step, added “no_console_suspend” option in boot arguments and gave “echo mem > /sys/class/power/state” to the Linux debug console in MEK board and found kernel panic issue.Error is throwing from mxc_gpio_noirq_suspend function

Could you please comment on the issue which is occurring at MEK board.

Log mentioned below for your reference.

imx8qxpmek login: root
[   15.893580] audit: type=1006 audit(1557147648.000:2): pid=1532 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
root@imx8qxpmek:~# root@imx8qxpmek:~# ls
root@imx8qxpmek:~# a. echo enabled > /sys/class/tty/ttyLP0/power/wakeup echo enabled > /sys/class/tty/ttyLP0/power/wakeup
root@imx8qxpmek:~# b. echo mem > /sys/power/state echo mem > /sys/power/state
[   78.401809] PM: suspend entry (deep)
[   78.405397] PM: Syncing filesystems ... done.
[   78.410737] Freezing user space processes ... (elapsed 0.001 seconds) done.
[   78.420261] OOM killer disabled.
[   78.423503] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[   78.563206] PM: suspend devices took 0.132 seconds
[   78.569590] Synchronous External Abort: synchronous external abort (0x96000210) at 0xffff00000803500c
[   78.578902] Internal error: : 96000210 [#1] PREEMPT SMP
[   78.584212] Modules linked in:
[   78.587357] CPU: 3 PID: 1537 Comm: sh Not tainted 4.14.62-imx_4.14.62_1.0.0_beta+g1907fe4 #1
[   78.595880] Hardware name: Freescale i.MX8QXP MEK (DT)
[   78.601103] task: ffff80083a495b00 task.stack: ffff00000caf0000
[   78.607118] PC is at mxc_gpio_noirq_suspend+0x94/0x178
[   78.612341] LR is at mxc_gpio_noirq_suspend+0x84/0x178
[   78.617565] pc : [<ffff0000083f672c>] lr : [<ffff0000083f671c>] pstate: 200001c5
[   78.625043] sp : ffff00000caf3ab0
[   78.628439] x29: ffff00000caf3ab0 x28: 0000000000000000
[   78.633837] x27: ffff000008a61000 x26: 0000000000000002
[   78.639237] x25: ffff000008a40878 x24: ffff000008a61d80
[   78.644637] x23: ffff000008ad2000 x22: ffff80083a658914
[   78.650037] x21: 0000000000000000 x20: ffff000008acb000
[   78.655437] x19: ffff80083a658818 x18: 0000000000000010
[   78.660837] x17: ffff0000087902e8 x16: 0000000000000000
[   78.666236] x15: ffffffffffffffff x14: 0000000000000000
[   78.671636] x13: 0000000000000000 x12: 0000000000000000
[   78.677034] x11: 0000000000000000 x10: 0000000000000040
[   78.682433] x9 : ffff000008a40b58 x8 : ffff800838000248
[   78.687833] x7 : ffff800838000270 x6 : ffff80083a6658f0
[   78.693233] x5 : 0000000000000000 x4 : 0000000000000000
[   78.698633] x3 : 0000000000000140 x2 : ffff00000803500c
[   78.704032] x1 : 000000000000000c x0 : 0000000000000140
[   78.709431] Process sh (pid: 1537, stack limit = 0xffff00000caf0000)
[   78.715871] Call trace:
[   78.718402] Exception stack(0xffff00000caf3970 to 0xffff00000caf3ab0)
[   78.724932] 3960:                                   0000000000000140 000000000000000c
[   78.732848] 3980: ffff00000803500c 0000000000000140 0000000000000000 0000000000000000
[   78.740767] 39a0: ffff80083a6658f0 ffff800838000270 ffff800838000248 ffff000008a40b58
[   78.748685] 39c0: 0000000000000040 0000000000000000 0000000000000000 0000000000000000
[   78.756603] 39e0: 0000000000000000 ffffffffffffffff 0000000000000000 ffff0000087902e8
[   78.764523] 3a00: 0000000000000010 ffff80083a658818 ffff000008acb000 0000000000000000
[   78.772439] 3a20: ffff80083a658914 ffff000008ad2000 ffff000008a61d80 ffff000008a40878
[   78.780360] 3a40: 0000000000000002 ffff000008a61000 0000000000000000 ffff00000caf3ab0
[   78.788276] 3a60: ffff0000083f671c ffff00000caf3ab0 ffff0000083f672c 00000000200001c5
[   78.796194] 3a80: ffff80083a0e9008 ffff000008460fdc 0000ffffffffffff ffff0000083f66e0
[   78.804110] 3aa0: ffff00000caf3ab0 ffff0000083f672c
[   78.809077] [<ffff0000083f672c>] mxc_gpio_noirq_suspend+0x94/0x178
[   78.815348] [<ffff000008482188>] pm_generic_suspend_noirq+0x28/0x40
[   78.821703] [<ffff00000848f930>] genpd_finish_suspend+0xd0/0x138
[   78.827793] [<ffff00000848f9c0>] pm_genpd_suspend_noirq+0x10/0x18
[   78.833977] [<ffff000008486b8c>] dpm_run_callback.isra.7+0x3c/0xa0
[   78.840243] [<ffff00000848720c>] __device_suspend_noirq+0x94/0x150
[   78.846510] [<ffff0000084884b4>] dpm_noirq_suspend_devices+0x104/0x210
[   78.853125] [<ffff0000084885e4>] dpm_suspend_noirq+0x24/0x68
[   78.858873] [<ffff00000810e34c>] suspend_devices_and_enter+0x1d4/0x5b8
[   78.865488] [<ffff00000810ea00>] pm_suspend+0x2d0/0x348
[   78.870802] [<ffff00000810d340>] state_store+0x88/0x108
[   78.876118] [<ffff0000087594a4>] kobj_attr_store+0x14/0x28
[   78.881692] [<ffff00000827cf3c>] sysfs_kf_write+0x3c/0x50
[   78.887174] [<ffff00000827c1f8>] kernfs_fop_write+0x118/0x1e8
[   78.893010] [<ffff0000081feb38>] __vfs_write+0x18/0x118
[   78.898325] [<ffff0000081fee2c>] vfs_write+0xa4/0x1b0
[   78.903467] [<ffff0000081ff0f0>] SyS_write+0x48/0xb0
[   78.908516] Exception stack(0xffff00000caf3ec0 to 0xffff00000caf4000)
[   78.915047] 3ec0: 0000000000000001 000000001751d970 0000000000000004 0000ffff89f81190
[   78.922964] 3ee0: 0000000000000000 5551000454000000 0000000000000003 000000000000006d
[   78.930885] 3f00: 0000000000000040 0000000000000000 0000fffffc001ac0 0000000000000020
[   78.938801] 3f20: 0000000000000000 0000000000000000 0000000000000001 0000000000000008
[   78.946719] 3f40: 00000000004e93b8 0000ffff89e98270 0000ffff89f7ca70 0000000000000001
[   78.954637] 3f60: 000000001751d970 0000ffff89f7d560 0000000000000004 000000001751d970
[   78.962554] 3f80: 0000000000000004 00000000004d21d8 0000000000000001 0000000000000000
[   78.970472] 3fa0: 000000001751d4d0 0000fffffc001ae0 0000ffff89e9b4dc 0000fffffc001ae0
[   78.978390] 3fc0: 0000ffff89eeed4c 0000000020000000 0000000000000001 0000000000000040
[   78.986308] 3fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   78.994227] [<ffff000008083b18>] __sys_trace_return+0x0/0x4
[   78.999890] Code: f941e281 f9400e62 b9400c21 8b010042 (b9400042)
[   79.006076] ---[ end trace 541b94b39113b650 ]---
[   79.010779] Kernel panic - not syncing: Fatal exception
[   79.016089] SMP: stopping secondary CPUs
[   79.020098] Kernel Offset: disabled
[   79.023671] CPU features: 0x0802008
[   79.027242] Memory Limit: none
[   79.030380] Rebooting in 10 seconds..
\FF
U-Boot 2018.03-imx_v2018.03_4.14.62_1.0.0_beta+g7fac6b9 (May 07 2019 - 05:06:42 +0000)
CPU:   Freescale i.MX8QXP revB A35 at 1200 MHz at 26C
Model: Freescale i.MX8QXP MEK
Board: iMX8QXP MEK
0 Kudos
7 Replies

1,230 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jith

recommended to use latest linux Linux 4.14.98_2.0.0 with all patches applied from link

i.MX Software | NXP 

linux-imx - i.MX Linux kernel 

uboot-imx - i.MX U-Boot 

Also run latest ddr test and update software according to documentation

(MX8X_DDR_Tools_quickstart_guide.pdf) included in package. So all tools and sw revisions

are linked to each other: ddr test, RPA tool, uboot, linux. SCFW. Use latest ones.

i.MX8QXP DDR Test ER9 updated to support command bus training in the latest LPDDR4 RPA tools:
[MX8QXP LPDDR4 RPA v12] and later. The SCFW that comes with the stress test is based
on L4.14.98_2.0.0_ga and is built for MX8QX MEK board.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,230 Views
jith
Contributor II

Hi Igor,

I could see that mem support is not available in iMX8QX.
Attaching image from iMX Linux release note : IMXLXRN Release Notes Rev. L4.14.98-2.0.0_ga, 05/2019.

powermanagementdriver.PNG

Can I conclude that iMX8QX BS does not support Low power mode like mem state?

0 Kudos

1,230 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jith

>Can I conclude that iMX8QX BS does not support Low power mode like mem state?

yes, seems it is not implemented since processor is in "preproduction" state.

Best regards
igor

0 Kudos

1,230 Views
jith
Contributor II

Hi Igor,

Thank you for the clear answer.

As we know that L4.14.98-2.0.1  is the latest BSP for iMX8QXP and it doesn't support low power.

We are currently using L4.14.62  Beta BSP and planning to migrate to L4.14.98 by considering all the patches till 2.0.1.
But totally  confused about the migration since  the low power mode is not supported in the latest BSP as well.

Is there any road map information available at your side something like which BSP release  contains low power mode support.
So that we can plan accordingly.

One another point which I would like to discuss that I am referring i.MX 8QuadXPlus Power and Performance application note AN12338, it describes standby mode on iMX8QXP MEK board and mentioned about usage of "echo mem > /sys/power/state'.
Does the Application note A12338 contain concepts/theoretical  calculations/ theoretical conclusions and NXP doesn't confirm on the mentioned modes on iMX8QXP MEK Board?
attaching chapter 8 for your reference.
ks.PNG
0 Kudos

1,230 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jith

 

>Is there any road map information available at your side something like which
>BSP release  contains low power mode support.

such info can be provided only in nxp local office.

>Does the Application note A12338 contain concepts/theoretical  calculations/ theoretical
>conclusions and NXP doesn't confirm on the mentioned modes on iMX8QXP MEK Board?

seems it was implemented using special internal linux image or software environment.

 

Best regards
igor

0 Kudos

1,230 Views
jith
Contributor II

Hi Igor,

>>such info can be provided only in nxp local office.

Sure, I can contact NXP FAE to get information about Release and supported features roadmap.

>>seems it was implemented using special internal linux image or software environment.

What does it mean special internal Linux image/software environment?

I could see from AN that  the used  Linux Kernel version is L4.14.78 GA.

PM-NXP-AN.PNG

Did NXP customise power management related implementation in L4.14.78 GA. BSP and then documented the AN12338.

But NXP did not released officially the customised  L4.14.78 GA BSP for power management feature.

Is my understanding  correct?

0 Kudos

1,230 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jith

>Is my understanding  correct?

yes

Best regards
igor