Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU doesnt boot from deep sleep memory mode #62

Open
BMValeev opened this issue Dec 21, 2018 · 4 comments
Open

CPU doesnt boot from deep sleep memory mode #62

BMValeev opened this issue Dec 21, 2018 · 4 comments

Comments

@BMValeev
Copy link

BMValeev commented Dec 21, 2018

I've configured gpio-keys as wakeup source, and tried to wakeup options in sleep mode:
1)with echo standby > /sys/power/state everything works ok
2) with echo mem > /sys/power/state, cpu stutdowns, but when I try to push button, current consumption increase from 100 mA to 350mA, but there are no reaction on the ttymcx0. After a while the board resets with reason :WDOG.

The log of the suspending:
root@solidrun-imx6:~# echo mem > /sys/power/state
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
PM: suspend of devices complete after 49.228 msecs
PM: late suspend of devices complete after 0.914 msecs
PM: noirq suspend of devices complete after 0.908 msecs
Disabling non-boot CPUs ...
CPU1: shutdown

I use kernel with latest meta-solidrun-arm-imx6 commit rocko branch
`
SRCBRANCH = "solidrun-imx_4.9.x_1.0.0_ga"
SRCREV = "3b4f1a2b7c57f198641c0a45e23fe7255a164daf"
LOCALVERSION = "-mx6-sr"

SRC_URI = "git://github.com/SolidRun/linux-fslc.git;branch=${SRCBRANCH}
file://defconfig"`

I'm not sure, but as I understand the problem may be connected wit hardware due to topic: https://community.nxp.com/thread/441037
So I use Hummingboard pro
Upd. I've went to last commit in this repository, without any progress in DSM resume

@jnettlet
Copy link
Member

please add no_console_suspend to your kernel boot options. This will allow you to see on the console what is happening during suspend and resume. You can also enable the uart as wakeup source and test this.

@BMValeev
Copy link
Author

BMValeev commented Dec 25, 2018

please add no_console_suspend to your kernel boot options. This will allow you to see on the console what is happening during suspend and resume. You can also enable the uart as wakeup source and test this.

Actually, attached log is received with "no_console_suspend" option.
I've tested DSM with "echo enabled > /sys/bus/platform/drivers/imx-uart/2020000.serial/tty/ttymxc0/power/wakeup" option. And as I said, standby works, but with DSM kernel hangs during resume.
I've also tested with latest commit in repo, without any success.

root@solidrun-imx6:~# echo enabled > /sys/bus/platform/drivers/imx-uart/2020000.serial/tty/ttymxc0/power/wakeup         
root@solidrun-imx6:~# echo standby > /sys/power/state                                                                   
PM: Syncing filesystems ... done.                                                                                       
Freezing user space processes ... (elapsed 0.001 seconds) done.                                                         
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.                                                    
PM: suspend of devices complete after 57.197 msecs                                                                      
PM: late suspend of devices complete after 0.764 msecs                                                                  
PM: noirq suspend of devices complete after 0.824 msecs                                                                 
Disabling non-boot CPUs ...                                                                                             
IRQ17 no longer affine to CPU1                                                                                          
CPU1: shutdown                                                                                                          
Enabling non-boot CPUs ...                                                                                              
CPU1 is up                                                                                                              
PM: noirq resume of devices complete after 0.832 msecs                                                                  
PM: early resume of devices complete after 0.430 msecs                                                                  
PM: resume of devices complete after 7.852 msecs                                                                        
Restarting tasks ... imx-spdif sound-spdif: ASoC: CPU DAI (null) not registered                                         
imx-spdif sound-spdif: snd_soc_register_card failed: -517                                                               
done.  
root@solidrun-imx6:~# echo mem > /sys/power/state                                                                       
PM: Syncing filesystems ... done.                                                                                       
Freezing user space processes ... (elapsed 0.001 seconds) done.                                                         
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.                                                    
PM: suspend of devices complete after 19.184 msecs                                                                      
PM: late suspend of devices complete after 0.757 msecs                                                                  
PM: noirq suspend of devices complete after 0.815 msecs                                                                 
Disabling non-boot CPUs ...                                                                                             
IRQ17 no longer affine to CPU1                                                                                          
CPU1: shutdown  

Again, above is written console log for suspend and DSM

@BMValeev
Copy link
Author

BMValeev commented Dec 26, 2018

Also, I've tested exactly same kernel commit, (different dts and u-boot) with another ( custom ) board. The DSM mode works properly for that board.

echo mem > /sys/power/state                                                                                             
PM: Syncing filesystems ... done.                                                                                       
Freezing user space processes ... (elapsed 0.001 seconds) done.                                                         
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.                                                    
PM: suspend of devices complete after 43.893 msecs                                                                      
PM: late suspend of devices complete after 0.635 msecs                                                                  
PM: noirq suspend of devices complete after 0.692 msecs                                                                 
Disabling non-boot CPUs ...                                                                                             
CPU1: shutdown                                                                                                          
Enabling non-boot CPUs ...                                                                                              
CPU1 is up                                                                                                              
PM: noirq resume of devices complete after 0.307 msecs                                                                  
PM: early resume of devices complete after 0.334 msecs                                                                  
mxc_sdc_fb fb@0: 1920x1080 h_sync,r,l: 44,88,148  v_sync,l,u: 5,4,36 pixclock=148500000 Hz                              
imx-ipuv3 2400000.ipu: try ipu internal clk                                                                             
imx-ipuv3 2400000.ipu: disp=1, pixel_clk=148500000 148500000 parent=148500000 div=1                                     
PM: resume of devices complete after 71.103 msecs                                                                       
Restarting tasks ... done.   

So, is it possible, that main reason in the dts file for humminboard?
UPD. I've tested also with same uboot as in the custom board (2014v), but with original for hummingboard dts file. DSM resume also leads to immediate wdog reset

UPD2 It seems that problem connects with usom I2-EXW rev 1.5 with mmc and wireless, because imx6dl-hummingboard.dts on the board I2-3C works with DSM and can resume.
But removing
-#include "imx6qdl-sr-som-ti.dtsi"
-#include "imx6qdl-sr-som-emmc.dtsi"
from dts file doesn't solve problem

@BMValeev
Copy link
Author

Do you have anything regarding that issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants