This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62L: Unable to wake from sleep(WakeUp button )

Part Number: AM62L

Tool/software:

Hi,

Reference: 2.5. System Suspend Mode Workarounds — Linux SDK for AM62L Documentation

Using the device tree k3-am62l3-evm-lpmdemo.dtb, executing the command "echo mem > /sys/power/state" fails to wake up via the WakeUp button. Even after modifying uint32_t mode = 6 in plat/ti/k3/common/am62l_psci.c, wakeup is still unsuccessful.

root@am62lxx-evm:~# echo mem > /sys/power/state
[ 74.951698] PM: suspend entry (deep)
[ 74.965309] Filesystems sync: 0.009 seconds
[ 74.971901] Freezing user space processes
[ 74.977812] Freezing user space processes completed (elapsed 0.001 seconds)
[ 74.984862] OOM killer disabled.
[ 74.988112] Freezing remaining freezable tasks
[ 74.993789] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 75.001214] printk: Suspending console(s) (use no_console_suspend to debug)

  • Hi Mazel,

    Could you change the mode back to 0 in plat/ti/k3/common/am62l_psci.c, then apply this patch to TFA, and try DeepSleep again? 

    diff --git a/plat/ti/k3/common/am62l_psci.c b/plat/ti/k3/common/am62l_psci.c
    index 70f2aecdd..0a93f6922 100644
    --- a/plat/ti/k3/common/am62l_psci.c
    +++ b/plat/ti/k3/common/am62l_psci.c
    @@ -153,7 +153,7 @@ static void am62l_pwr_domain_suspend(const psci_power_state_t *target_state)
     
            } else if (mode == 0) {
     
    -               k3_lpm_config_magic_words(mode);
    +               // k3_lpm_config_magic_words(mode);
                    ti_sci_prepare_sleep(mode, context_save_addr, 0);
                    INFO("sent prepare message\n");
                    k3_config_wake_sources(true);

    Let me know the results.

    Best,

    Kendall

  • Thank you! I tested it, and wake-up works. Also, are freeze and disk supported? Tests for these two sleep modes were not successful.

    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# echo mem > /sys/power/state
    [  118.715287] PM: suspend entry (deep)
    [  118.724732] Filesystems sync: 0.005 seconds
    [  118.731285] Freezing user space processes
    [  118.737181] Freezing user space processes completed (elapsed 0.001 seconds)
    [  118.744213] OOM killer disabled.
    [  118.747445] Freezing remaining freezable tasks
    [  118.753140] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [  118.760575] printk: Suspending console(s) (use no_console_suspend to debug)
    ERROR:   Wake up src 0x80
    ERROR:   Wake up interrupt 0xc
    [  118.779361] Disabling non-boot CPUs ...
    [  118.781477] psci: CPU1 killed (polled 0 ms)
    [  118.782985] Enabling non-boot CPUs ...
    [  118.783306] Detected VIPT I-cache on CPU1
    [  118.783356] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [  118.783422] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [  118.784432] CPU1 is up
    [  118.824388] OOM killer enabled.
    [  118.827536] Restarting tasks ... done.
    [  118.838896] random: crng reseeded on system resumption
    [  118.847430] PM: suspend exit
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# cat /sys/power/state
    freeze mem disk
    root@am62lxx-evm:~# 
    root@am62lxx-evm:~# echo freeze > /sys/power/state
    [  133.031132] PM: suspend entry (s2idle)
    [  133.101010] Filesystems sync: 0.066 seconds
    [  133.106377] Freezing user space processes
    [  133.112225] Freezing user space processes completed (elapsed 0.001 seconds)
    [  133.119258] OOM killer disabled.
    [  133.122478] Freezing remaining freezable tasks
    [  133.128172] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [  133.135592] printk: Suspending console(s) (use no_console_suspend to debug)

  • Hi Mazel,

    Freeze and disk are not supported by our SDK.

    Best,

    Kendall

  • Thank you! We developed our own board. The difference from the EVM is that we use DDR4. On our board, entering the 'mem' sleep mode fails to wake up, while the EVM works fine with the same Image and dtb. Where should I start troubleshooting?

  • Hello Mazel 
    Good to see you make progress on your board on several fronts. 

    On the LPM issue that you faced in this thread, we think  you maybe hitting a recently found silicon bug 

    We just updated our silicon errata on ti.com

    https://www.ti.com/lit/er/sprz582a/sprz582a.pdf

    The silicon errata calls out 

    1) What known issues on Silicon Revision 1.0 are getting fixed in upcoming Silicon Revision 1.1 

    2) Added a brief description on the LPM bug (i2487), which will also be fixed. 

    On LPM issues you may see device to device variability, so I would recommend trying to use another board in your inventory to see if the issue does not exist etc. 

    Once SR1.1 is available, this should be fixed.